本發(fā)明涉及多路處理器系統(tǒng),特別是涉及一種緩存一致的控制方法、電子設(shè)備及介質(zhì)。
背景技術(shù):
1、隨著云計(jì)算近年來的迅速發(fā)展,規(guī)模不斷增大,多路服務(wù)器的應(yīng)用也變得越來越廣泛。由于其具有穩(wěn)定性能好,安全度高,運(yùn)算效率高的特點(diǎn),因此在幾乎所有的生產(chǎn)生活領(lǐng)域得到了廣泛應(yīng)用。隨著服務(wù)器應(yīng)用領(lǐng)域的不斷發(fā)展,高端服務(wù)器的應(yīng)用需求已經(jīng)進(jìn)入了一個(gè)重要階段。復(fù)雜的體系結(jié)構(gòu)實(shí)現(xiàn)支持高端服務(wù)器系統(tǒng)實(shí)現(xiàn)高性能指標(biāo)即高安全性、高可用性、高可靠性等的特點(diǎn)。例如:多處理器系統(tǒng)作為一種常見的架構(gòu),用于實(shí)現(xiàn)高性能和并行計(jì)算。
2、當(dāng)前,隨著計(jì)算和數(shù)據(jù)處理需求的不斷增長,多個(gè)主機(jī)系統(tǒng)之間的高速數(shù)據(jù)交換和算力協(xié)同利用成為一項(xiàng)重要的挑戰(zhàn)。在多處理器系統(tǒng)中,多個(gè)處理器同時(shí)訪問共享內(nèi)存,通常是通過常見的mesi緩存一致協(xié)議(modified、exclusive、shared、invalid,修改、獨(dú)家、共享和無效)實(shí)現(xiàn)數(shù)據(jù)的一致性和正確性。但是mesi緩存一致協(xié)議在多路處理器系統(tǒng)中存在降低系統(tǒng)整體性能、增加系統(tǒng)設(shè)計(jì)和調(diào)試的復(fù)雜性、增加處理器訪問的延遲和功耗、降低系統(tǒng)的性能穩(wěn)定性、降低系統(tǒng)數(shù)據(jù)的實(shí)時(shí)性的問題。
3、可見,如何提供一種可以提高系統(tǒng)整體性能、降低系統(tǒng)設(shè)計(jì)和調(diào)試的復(fù)雜性、降低處理器訪問的延遲和功耗、提高系統(tǒng)的性能穩(wěn)定性和系統(tǒng)數(shù)據(jù)實(shí)時(shí)性的緩存一致的控制方法,是本領(lǐng)域技術(shù)人員亟待解決的問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明實(shí)施例的目的是提供一種緩存一致的控制方法、電子設(shè)備及介質(zhì)??梢越鉀Q現(xiàn)有技術(shù)中常見的mesi緩存一致協(xié)議在多路處理器系統(tǒng)中存在的降低系統(tǒng)整體性能、增加系統(tǒng)設(shè)計(jì)和調(diào)試的復(fù)雜性、增加處理器訪問的延遲和功耗、降低系統(tǒng)的性能穩(wěn)定性、降低系統(tǒng)數(shù)據(jù)的實(shí)時(shí)性的問題。
2、為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種緩存一致的控制方法,應(yīng)用于被請求端,包括:
3、接收請求端發(fā)送的目標(biāo)數(shù)據(jù)對應(yīng)的廣播請求;
4、根據(jù)廣播請求判斷自身是否處于寫狀態(tài);
5、若處于寫狀態(tài),則向請求端發(fā)送服務(wù)器有效反饋響應(yīng),以便請求端根據(jù)服務(wù)器有效反饋響應(yīng)進(jìn)行目標(biāo)數(shù)據(jù)的訪問;
6、若處于讀狀態(tài),則向請求端發(fā)送服務(wù)器無效反饋響應(yīng),以便請求端根據(jù)共享內(nèi)存發(fā)送的內(nèi)存反饋響應(yīng)進(jìn)行目標(biāo)數(shù)據(jù)的訪問。
7、另一方面,在若處于寫狀態(tài),則向請求端發(fā)送服務(wù)器有效反饋響應(yīng)之后,還包括:
8、判斷廣播請求是否表征請求端寫入目標(biāo)數(shù)據(jù);
9、若廣播請求表征請求端寫入所述目標(biāo)數(shù)據(jù),則將自身狀態(tài)從寫狀態(tài)轉(zhuǎn)換為讀狀態(tài),以便在向請求端發(fā)送服務(wù)器有效反饋響應(yīng)之后,禁止對自身內(nèi)的數(shù)據(jù)進(jìn)行改寫,以實(shí)現(xiàn)目標(biāo)數(shù)據(jù)的緩存一致。
10、另一方面,還包括:
11、若未接收到請求端發(fā)送的廣播請求,且自身處于寫狀態(tài),判斷自身處于寫狀態(tài)的時(shí)間是否超出第一時(shí)間閾值;
12、若自身處于寫狀態(tài)的時(shí)間超出第一時(shí)間閾值,則將當(dāng)前自身處于寫狀態(tài)下的改寫數(shù)據(jù)重新寫入共享內(nèi)存,以便共享內(nèi)存將改寫數(shù)據(jù)替換改寫數(shù)據(jù)對應(yīng)的原始數(shù)據(jù)。
13、另一方面,本發(fā)明提供的一種緩存一致的控制方法,還應(yīng)用于請求端,包括:
14、待需要訪問自身未存儲(chǔ)的目標(biāo)數(shù)據(jù)時(shí),向被請求端和共享內(nèi)存發(fā)送目標(biāo)數(shù)據(jù)對應(yīng)的廣播請求;
15、接收被請求端和共享內(nèi)存根據(jù)廣播請求確定的反饋響應(yīng);
16、若反饋響應(yīng)中包括一個(gè)有效反饋響應(yīng),則對共享內(nèi)存發(fā)送的反饋響應(yīng)進(jìn)行訪問;
17、若反饋響應(yīng)中包括兩個(gè)有效反饋響應(yīng),則對被請求端發(fā)送的反饋響應(yīng)進(jìn)行訪問。
18、另一方面,當(dāng)反饋響應(yīng)中包括一個(gè)有效反饋響應(yīng),則有效反饋響應(yīng)為內(nèi)存反饋響應(yīng),其中,內(nèi)存反饋響應(yīng)表征共享內(nèi)存存儲(chǔ)目標(biāo)數(shù)據(jù);
19、當(dāng)反饋響應(yīng)中包括兩個(gè)有效反饋響應(yīng),則分別為內(nèi)存反饋響應(yīng)和服務(wù)器有效反饋響應(yīng),其中,內(nèi)存反饋響應(yīng)表征共享內(nèi)存存儲(chǔ)目標(biāo)數(shù)據(jù),服務(wù)器有效反饋響應(yīng)表征對應(yīng)的被請求端處于寫狀態(tài)。
20、另一方面,在對內(nèi)存反饋響應(yīng)中共享內(nèi)存發(fā)送的共享目標(biāo)數(shù)據(jù)進(jìn)行訪問之后,還包括:
21、判斷自身是否處于寫狀態(tài);
22、若處于讀狀態(tài),則將讀狀態(tài)轉(zhuǎn)換為寫狀態(tài),用于提高自身訪問數(shù)據(jù)的速度;
23、相應(yīng)的,在對服務(wù)器有效反饋響應(yīng)中被請求端發(fā)送的服務(wù)器目標(biāo)數(shù)據(jù)進(jìn)行訪問之后,還包括:
24、判斷服務(wù)器有效反饋響應(yīng)中被請求端發(fā)送的服務(wù)器目標(biāo)數(shù)據(jù)和內(nèi)存反饋響應(yīng)中的共享內(nèi)存發(fā)送的共享目標(biāo)數(shù)據(jù)是否相同;
25、若服務(wù)器有效反饋響應(yīng)中被請求端發(fā)送的服務(wù)器目標(biāo)數(shù)據(jù)與內(nèi)存反饋響應(yīng)中的共享內(nèi)存發(fā)送的共享目標(biāo)數(shù)據(jù)不相同,則將自身訪問的服務(wù)器目標(biāo)數(shù)據(jù)寫入共享內(nèi)存中,以便共享內(nèi)存將服務(wù)器目標(biāo)數(shù)據(jù)替換共享內(nèi)存中的共享目標(biāo)數(shù)據(jù);
26、丟棄共享反饋響應(yīng)中的共享內(nèi)存發(fā)送的共享目標(biāo)數(shù)據(jù)。
27、另一方面,還包括:
28、若服務(wù)器有效反饋響應(yīng)中被請求端發(fā)送的服務(wù)器目標(biāo)數(shù)據(jù)與內(nèi)存反饋響應(yīng)中的共享內(nèi)存發(fā)送的共享目標(biāo)數(shù)據(jù)相同,則在第二時(shí)間閾值后,重新向被請求端和共享內(nèi)存發(fā)送目標(biāo)數(shù)據(jù)對應(yīng)的廣播請求。
29、另一方面,在對服務(wù)器有效反饋響應(yīng)中被請求端發(fā)送的服務(wù)器目標(biāo)數(shù)據(jù)進(jìn)行訪問之后,還包括:
30、若廣播信息表征自身寫入目標(biāo)數(shù)據(jù),則判斷自身是否處于寫狀態(tài);
31、若處于讀狀態(tài),則將讀狀態(tài)轉(zhuǎn)換為寫狀態(tài),用于寫入服務(wù)器目標(biāo)數(shù)據(jù)。
32、另一方面,本發(fā)明還提供一種電子設(shè)備,包括:
33、存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序;
34、處理器,用于執(zhí)行計(jì)算機(jī)程序以實(shí)現(xiàn)上述的緩存一致的控制方法的步驟。
35、另一方面,本發(fā)明還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的緩存一致的控制方法的步驟。
36、另一方面,本發(fā)明還提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的緩存一致的控制方法的步驟。
37、由上述技術(shù)方案可以看出,本發(fā)明所提供的一種緩存一致的控制方法,其應(yīng)用于被請求端,包括:接收請求端發(fā)送的目標(biāo)數(shù)據(jù)對應(yīng)的廣播請求;根據(jù)廣播請求判斷自身是否處于寫狀態(tài);若處于寫狀態(tài),則向請求端發(fā)送服務(wù)器有效反饋響應(yīng),以便請求端根據(jù)服務(wù)器有效反饋響應(yīng)進(jìn)行目標(biāo)數(shù)據(jù)的訪問;若處于讀狀態(tài),則向請求端發(fā)送服務(wù)器無效反饋響應(yīng),以便請求端根據(jù)共享內(nèi)存發(fā)送的內(nèi)存反饋響應(yīng)進(jìn)行目標(biāo)數(shù)據(jù)的訪問。本發(fā)明中的請求端率先向被請求端和共享內(nèi)存發(fā)送目標(biāo)數(shù)據(jù)對應(yīng)的廣播請求,被請求端只需在接收廣播請求之后判斷自身是否處于寫狀態(tài),若是,則說明被請求端存儲(chǔ)了目標(biāo)數(shù)據(jù),并且目標(biāo)數(shù)據(jù)在被請求端進(jìn)行了修改,因此向請求端發(fā)送服務(wù)器有效反饋響應(yīng);若否,則說明被請求端未存儲(chǔ)目標(biāo)數(shù)據(jù),因此向請求端發(fā)送服務(wù)器無效反饋響應(yīng)。但是無論被請求端的狀態(tài)如何,共享內(nèi)存是存儲(chǔ)目標(biāo)數(shù)據(jù)的,因此共享內(nèi)存向請求端發(fā)送內(nèi)存反饋響應(yīng)。在正式對響應(yīng)進(jìn)行訪問過程中,若存在服務(wù)器有效反饋響應(yīng),則對服務(wù)器有效反饋響應(yīng)進(jìn)行目標(biāo)數(shù)據(jù)的訪問;若只存在內(nèi)存反饋響應(yīng),則對內(nèi)存反饋響應(yīng)進(jìn)行目標(biāo)數(shù)據(jù)的訪問。由此可見,本發(fā)明采用了只有一個(gè)寫狀態(tài)的緩存一致性協(xié)議,與傳統(tǒng)的多狀態(tài)緩存一致性協(xié)議相比,簡化了狀態(tài)管理,減少了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度,系統(tǒng)能夠更高效地進(jìn)行緩存一致性維護(hù),提高了系統(tǒng)的性能和可靠性。
38、另一方面,本發(fā)明所提供的一種緩存一致的控制方法,其應(yīng)用于請求端,包括:待需要訪問自身未存儲(chǔ)的目標(biāo)數(shù)據(jù)時(shí),向被請求端和共享內(nèi)存發(fā)送目標(biāo)數(shù)據(jù)對應(yīng)的廣播請求;接收被請求端和共享內(nèi)存根據(jù)廣播請求確定的反饋響應(yīng);若反饋響應(yīng)中包括一個(gè)有效反饋響應(yīng),則對共享內(nèi)存發(fā)送的共享目標(biāo)數(shù)據(jù)進(jìn)行訪問;若反饋響應(yīng)中包括兩個(gè)有效反饋響應(yīng),則對被請求端發(fā)送的服務(wù)器目標(biāo)數(shù)據(jù)進(jìn)行訪問。本發(fā)明中的請求端率先向被請求端和共享內(nèi)存發(fā)送目標(biāo)數(shù)據(jù)對應(yīng)的廣播請求,請求端只需根據(jù)被請求端和共享內(nèi)存的反饋響應(yīng)進(jìn)行分析即可。若存在服務(wù)器有效反饋響應(yīng),則此時(shí)說明當(dāng)前服務(wù)器有效反饋響應(yīng)對應(yīng)的目標(biāo)數(shù)據(jù)是最新數(shù)據(jù),為保證數(shù)據(jù)的緩存一致則對服務(wù)器有效反饋響應(yīng)進(jìn)行目標(biāo)數(shù)據(jù)的訪問;若只存在內(nèi)存反饋響應(yīng),則此時(shí)說明當(dāng)前目標(biāo)數(shù)據(jù)還保持原目標(biāo)數(shù)據(jù)未改變,為保證數(shù)據(jù)的緩存一致則對內(nèi)存反饋響應(yīng)進(jìn)行目標(biāo)數(shù)據(jù)的訪問。由此可見,本發(fā)明只對收到的反饋分析即可確定對應(yīng)的被請求端的狀態(tài),與傳統(tǒng)的多狀態(tài)緩存一致性協(xié)議相比,簡化了狀態(tài)管理,減少了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度,系統(tǒng)能夠更高效地進(jìn)行緩存一致性維護(hù),提高了系統(tǒng)的性能和可靠性。
39、此外,本發(fā)明還提供了電子設(shè)備及介質(zhì),效果同上。