本公開涉及計算機處理,具體涉及一種數(shù)據(jù)處理方法、系統(tǒng)及可讀介質(zhì)。
背景技術(shù):
1、smp(symmetric?multiprocessing,對稱多處理)系統(tǒng)是指服務(wù)器中多個cpu對稱工作的系統(tǒng),各cpu無主次或從屬關(guān)系。各cpu共享相同的物理內(nèi)存,每個cpu訪問內(nèi)存中的任何地址所需時間是相同的,因此smp也被稱為一致存儲器訪問結(jié)構(gòu)(uniform?memoryaccess,uma)。
2、基于smp系統(tǒng)的數(shù)據(jù)訪問,緩存單元通常直接向hn(home?node,主節(jié)點)發(fā)起數(shù)據(jù)讀取請求,由hn向存儲相應(yīng)數(shù)據(jù)的其他緩存單元發(fā)起數(shù)據(jù)監(jiān)聽,以便從其他緩存單元中讀取數(shù)據(jù),再將該數(shù)據(jù)發(fā)送給請求讀取數(shù)據(jù)的緩存單元。上述數(shù)據(jù)訪問過程總線帶寬開銷大、芯片功耗高,數(shù)據(jù)讀取效率低,影響處理核的處理性能。
技術(shù)實現(xiàn)思路
1、本公開提供一種數(shù)據(jù)處理方法、系統(tǒng)及可讀介質(zhì)。
2、第一方面,本公開實施例提供一種數(shù)據(jù)處理方法,所述方法應(yīng)用于數(shù)據(jù)處理系統(tǒng)中的第一緩存單元,包括:
3、預(yù)測第二緩存單元為目標(biāo)緩存單元,向所述第二緩存單元發(fā)送第一數(shù)據(jù)讀取請求消息;其中,所述第一數(shù)據(jù)讀取請求消息用于從目標(biāo)緩存單元讀取第一目標(biāo)數(shù)據(jù);
4、接收所述第一目標(biāo)數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)讀取請求消息的類型更新所述第一目標(biāo)數(shù)據(jù)的狀態(tài);
5、向發(fā)送所述第一目標(biāo)數(shù)據(jù)的節(jié)點發(fā)送第一數(shù)據(jù)讀取響應(yīng)消息。
6、又一方面,本公開實施例還提供一種數(shù)據(jù)處理方法,所述方法應(yīng)用于數(shù)據(jù)處理系統(tǒng)中的第二緩存單元,包括:
7、接收第一緩存單元發(fā)送的第一數(shù)據(jù)讀取請求消息,所述第一數(shù)據(jù)讀取請求消息用于從所述第二緩存單元讀取第一目標(biāo)數(shù)據(jù);
8、在確定所述第一目標(biāo)數(shù)據(jù)存儲在所述第二緩存單元的情況下,根據(jù)所述第一數(shù)據(jù)讀取請求消息的類型更新所述第一目標(biāo)數(shù)據(jù)的狀態(tài),并向所述第一緩存單元發(fā)送所述第一目標(biāo)數(shù)據(jù)。
9、又一方面,本公開實施例還提供一種數(shù)據(jù)處理方法,應(yīng)用于數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)處理裝置,所述方法包括:
10、接收第二緩存單元發(fā)送的狀態(tài)更新消息,獲取所述狀態(tài)更新消息中攜帶的第一緩存單元的信息、地址信息和狀態(tài)信息;
11、根據(jù)所述地址信息將對應(yīng)的第一目標(biāo)數(shù)據(jù)的狀態(tài)更新為所述狀態(tài)信息,并將所述第一目標(biāo)數(shù)據(jù)所屬的緩存單元更新為所述第一緩存單元;
12、向所述第二緩存單元發(fā)送狀態(tài)更新響應(yīng)消息;或者,
13、接收所述第二緩存單元發(fā)送的第一數(shù)據(jù)讀取請求消息,獲取所述第一數(shù)據(jù)讀取請求消息中攜帶的第一緩存單元的信息、地址信息和狀態(tài)信息;
14、根據(jù)所述地址信息從內(nèi)存中讀取第一目標(biāo)數(shù)據(jù),將所述第一目標(biāo)數(shù)據(jù)的狀態(tài)更新為所述狀態(tài)信息,并將所述第一目標(biāo)數(shù)據(jù)所屬的緩存單元更新為所述第一緩存單元;
15、將所述第一目標(biāo)數(shù)據(jù)發(fā)送給所述第一緩存單元,并接收所述第一緩存單元發(fā)送的第一數(shù)據(jù)讀取響應(yīng)消息。
16、又一方面,本公開實施例還提供一種數(shù)據(jù)處理方法,應(yīng)用于包括第一緩存單元、第二緩存單元和數(shù)據(jù)處理裝置的數(shù)據(jù)處理系統(tǒng),所述方法包括:
17、所述第一緩存單元預(yù)測所述第二緩存單元為目標(biāo)緩存單元,并向所述第二緩存單元發(fā)送第一數(shù)據(jù)讀取請求消息;
18、所述第二緩存單元在確定所述第一數(shù)據(jù)讀取請求消息請求的第一目標(biāo)數(shù)據(jù)存儲在所述第二緩存單元的情況下,根據(jù)所述第一數(shù)據(jù)讀取請求消息的類型更新所述第一目標(biāo)數(shù)據(jù)的狀態(tài),并向所述第一緩存單元發(fā)送所述第一目標(biāo)數(shù)據(jù);在所述第一數(shù)據(jù)讀取請求消息的類型為讀取共享狀態(tài)數(shù)據(jù)或讀取獨占狀態(tài)數(shù)據(jù)的情況下,向所述數(shù)據(jù)處理裝置發(fā)送狀態(tài)更新消息;
19、所述數(shù)據(jù)處理裝置獲取所述狀態(tài)更新消息中攜帶的第一緩存單元的信息、地址信息和狀態(tài)信息;根據(jù)所述地址信息將對應(yīng)的第一目標(biāo)數(shù)據(jù)的狀態(tài)更新為所述狀態(tài)信息,并將所述第一目標(biāo)數(shù)據(jù)所屬的緩存單元更新為所述第一緩存單元;或者,
20、所述第二緩存單元在確定所述第一數(shù)據(jù)讀取請求消息請求的第一目標(biāo)數(shù)據(jù)未存儲在所述第二緩存單元的情況下,向所述數(shù)據(jù)處理裝置發(fā)送第一數(shù)據(jù)讀取請求消息;
21、所述數(shù)據(jù)處理裝置獲取所述第一數(shù)據(jù)讀取請求消息中攜帶的第一緩存單元的信息、地址信息和狀態(tài)信息;根據(jù)所述地址信息從內(nèi)存中讀取第一目標(biāo)數(shù)據(jù),將所述第一目標(biāo)數(shù)據(jù)的狀態(tài)更新為所述狀態(tài)信息,并將所述第一目標(biāo)數(shù)據(jù)所屬的緩存單元更新為所述第一緩存單元;將所述第一目標(biāo)數(shù)據(jù)發(fā)送給所述第一緩存單元。
22、又一方面,本公開實施例還提供一種數(shù)據(jù)處理系統(tǒng),包括至少一個處理芯片,所述處理芯片包括:
23、第一緩存單元,用于預(yù)測第二緩存單元為目標(biāo)緩存單元,向所述第二緩存單元發(fā)送第一數(shù)據(jù)讀取請求消息;以及,接收所述第一目標(biāo)數(shù)據(jù),并根據(jù)所述第一數(shù)據(jù)讀取請求消息的類型更新所述第一目標(biāo)數(shù)據(jù)的狀態(tài);
24、第二緩存單元,用于接收第一緩存單元發(fā)送的第一數(shù)據(jù)讀取請求消息,在確定所述第一數(shù)據(jù)讀取請求消息請求的第一目標(biāo)數(shù)據(jù)存儲在所述第二緩存單元的情況下,根據(jù)所述第一數(shù)據(jù)讀取請求消息的類型更新所述第一目標(biāo)數(shù)據(jù)的狀態(tài),并向所述第一緩存單元發(fā)送所述第一目標(biāo)數(shù)據(jù);
25、數(shù)據(jù)處理裝置,用于接收所述第二緩存單元發(fā)送的狀態(tài)更新消息,獲取所述狀態(tài)更新消息中攜帶的第一緩存單元的信息、地址信息和狀態(tài)信息;根據(jù)所述地址信息將對應(yīng)的第一目標(biāo)數(shù)據(jù)的狀態(tài)更新為所述狀態(tài)信息,并將所述第一目標(biāo)數(shù)據(jù)所屬的緩存單元更新為所述第一緩存單元;或者,接收所述第二緩存單元發(fā)送的第一數(shù)據(jù)讀取請求消息,獲取所述第一數(shù)據(jù)讀取請求消息中攜帶的第一緩存單元的信息、地址信息和狀態(tài)信息;根據(jù)所述地址信息從內(nèi)存中讀取第一目標(biāo)數(shù)據(jù),將所述第一目標(biāo)數(shù)據(jù)的狀態(tài)更新為所述狀態(tài)信息,并將所述第一目標(biāo)數(shù)據(jù)所屬的緩存單元更新為所述第一緩存單元;將所述第一目標(biāo)數(shù)據(jù)發(fā)送給所述第一緩存單元。
26、又一方面,本公開實施例還提供一種計算機可讀介質(zhì),其上存儲有計算機程序,其中,所述程序被執(zhí)行時實現(xiàn)如前所述的數(shù)據(jù)處理方法。
27、本公開實施例提供的數(shù)據(jù)處理方法,應(yīng)用于數(shù)據(jù)處理系統(tǒng)中的第一緩存單元,所述方法包括:預(yù)測第二緩存單元為目標(biāo)緩存單元,向第二緩存單元發(fā)送第一數(shù)據(jù)讀取請求消息,其中,第一數(shù)據(jù)讀取請求消息用于從目標(biāo)緩存單元讀取第一目標(biāo)數(shù)據(jù);接收第一目標(biāo)數(shù)據(jù),并根據(jù)第一數(shù)據(jù)讀取請求消息的類型更新第一目標(biāo)數(shù)據(jù)的狀態(tài);向發(fā)送第一目標(biāo)數(shù)據(jù)的節(jié)點發(fā)送第一數(shù)據(jù)讀取響應(yīng)消息;本公開實施例通過預(yù)測目標(biāo)緩存單元,將數(shù)據(jù)讀取請求發(fā)送給預(yù)測的目標(biāo)緩存單元,如果在目標(biāo)緩存單元命中,可以直接返回數(shù)據(jù)響應(yīng),而不需要先將數(shù)據(jù)讀取請求發(fā)往數(shù)據(jù)處理裝置再由數(shù)據(jù)處理裝置進行監(jiān)聽返回數(shù)據(jù)響應(yīng),可以降低數(shù)據(jù)讀取時間,提高數(shù)據(jù)讀取效率,提升系統(tǒng)性能。
1.一種數(shù)據(jù)處理方法,其特征在于,應(yīng)用于數(shù)據(jù)處理系統(tǒng)中的第一緩存單元,所述方法包括:
2.如權(quán)利要求1所述的方法,其特征在于,所述發(fā)送所述第一目標(biāo)數(shù)據(jù)的節(jié)點包括所述第二緩存單元或者數(shù)據(jù)處理裝置。
3.如權(quán)利要求2所述的方法,其特征在于,所述發(fā)送所述第一目標(biāo)數(shù)據(jù)的節(jié)點為數(shù)據(jù)處理裝置,在向所述數(shù)據(jù)處理裝置發(fā)送第一數(shù)據(jù)讀取響應(yīng)消息之后,所述方法還包括:
4.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第一數(shù)據(jù)讀取請求消息的類型更新所述第一目標(biāo)數(shù)據(jù)的狀態(tài),包括:
5.如權(quán)利要求1所述的方法,其特征在于,在接收所述第一目標(biāo)數(shù)據(jù)之后,所述方法還包括:
6.如權(quán)利要求1-5任一項所述的方法,其特征在于,在預(yù)測第二緩存單元為目標(biāo)緩存單元之前,所述方法還包括n次請求讀取數(shù)據(jù)的步驟,n為大于或等于1的整數(shù);
7.如權(quán)利要求6所述的方法,其特征在于,n次中的一次請求讀取數(shù)據(jù)的步驟,包括:
8.如權(quán)利要求6所述的方法,其特征在于,所述根據(jù)各所述緩存單元確定第二緩存單元,包括:
9.如權(quán)利要求7所述的方法,其特征在于,所述第一數(shù)據(jù)讀取請求消息、所述第二數(shù)據(jù)讀取請求消息和所述第三數(shù)據(jù)讀取請求消息包括以下之一:共享狀態(tài)數(shù)據(jù)讀取請求消息、獨占狀態(tài)數(shù)據(jù)讀取請求消息、無效狀態(tài)數(shù)據(jù)讀取請求消息。
10.如權(quán)利要求1-5所述的方法,其特征在于,所述數(shù)據(jù)處理系統(tǒng)包括處理芯片、內(nèi)存、至少兩級緩存,所述處理芯片包括所述數(shù)據(jù)處理裝置,各級所述緩存包括至少一個緩存單元,所述數(shù)據(jù)處理裝置為主節(jié)點,或者,所述數(shù)據(jù)處理裝置為與所述第一緩存單元和所述第二緩存單元不同級的各所述緩存單元中的一個。
11.一種數(shù)據(jù)處理方法,其特征在于,應(yīng)用于數(shù)據(jù)處理系統(tǒng)中的第二緩存單元,所述方法包括:
12.如權(quán)利要求11所述的方法,其特征在于,在向所述第一緩存單元發(fā)送所述第一目標(biāo)數(shù)據(jù)之后,所述方法還包括:接收所述第一緩存單元發(fā)送的第一數(shù)據(jù)讀取響應(yīng)消息;
13.如權(quán)利要求11所述的方法,其特征在于,在接收第一緩存單元發(fā)送的第一數(shù)據(jù)讀取請求消息之后,所述方法還包括:
14.如權(quán)利要求11-13任一項所述的方法,其特征在于,所述根據(jù)所述第一數(shù)據(jù)讀取請求消息的類型更新所述第一目標(biāo)數(shù)據(jù)的狀態(tài),包括:
15.一種數(shù)據(jù)處理方法,其特征在于,應(yīng)用于數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)處理裝置,所述方法包括:
16.一種數(shù)據(jù)處理方法,其特征在于,應(yīng)用于包括第一緩存單元、第二緩存單元和數(shù)據(jù)處理裝置的數(shù)據(jù)處理系統(tǒng),所述方法包括:
17.一種數(shù)據(jù)處理系統(tǒng),其特征在于,包括至少一個處理芯片,所述處理芯片包括:
18.如權(quán)利要求17所述的數(shù)據(jù)處理系統(tǒng),其特征在于,所述處理系統(tǒng)包括內(nèi)存、至少兩級緩存,各級所述緩存包括至少一個所述緩存單元,所述數(shù)據(jù)處理裝置為主節(jié)點,或者,所述數(shù)據(jù)處理裝置為與所述第一緩存單元和所述第二緩存單元不同級的各所述緩存單元中的一個。
19.如權(quán)利要求17所述的數(shù)據(jù)處理系統(tǒng),其特征在于,所述數(shù)據(jù)處理系統(tǒng)為對稱多處理器系統(tǒng)或高速緩存一致性非均勻存儲訪問系統(tǒng)。
20.如權(quán)利要求19所述的數(shù)據(jù)處理系統(tǒng),其特征在于,所述處理芯片為至少兩個,各所述處理芯片至少與另一個所述處理芯片連接,所述數(shù)據(jù)處理裝置所屬的處理芯片與所述第一緩存單元和所述第二緩存單元所屬的處理芯片相同或不同。
21.如權(quán)利要求17-20任一項所述的數(shù)據(jù)處理系統(tǒng),其特征在于,所述處理芯片為以下之一:中央處理器、圖形處理器、嵌入式神經(jīng)網(wǎng)絡(luò)處理器、數(shù)據(jù)處理器。
22.一種計算機可讀介質(zhì),其上存儲有計算機程序,其中,所述程序被執(zhí)行時實現(xiàn)如權(quán)利要求1-10任一項所述的數(shù)據(jù)處理方法,或者,如權(quán)利要求11-14所述的數(shù)據(jù)處理方法,或者,如權(quán)利要求15所述的數(shù)據(jù)處理方法,或者,如權(quán)利要求16所述的數(shù)據(jù)處理方法。