本發(fā)明涉及并發(fā)控制,尤其涉及一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法。
背景技術(shù):
1、在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,隨著單核處理器性能的逐漸達(dá)到瓶頸,多核處理器架構(gòu)已成為提高計(jì)算性能和響應(yīng)能力的重要解決方案。然而,多核處理器的有效利用卻面臨一些挑戰(zhàn)。其中之一是如何管理多個(gè)核心之間共享的內(nèi)存數(shù)據(jù)。在并行計(jì)算中,多個(gè)核心可能同時(shí)訪問(wèn)相同的數(shù)據(jù),如果不進(jìn)行適當(dāng)?shù)膮f(xié)調(diào)和同步,就會(huì)導(dǎo)致數(shù)據(jù)不一致性和錯(cuò)誤的計(jì)算結(jié)果。
2、為了解決這個(gè)問(wèn)題,研究人員提出了mesi(modified,?exclusive,?shared,invalid)緩存一致性協(xié)議,該協(xié)議通過(guò)定義多種緩存狀態(tài)來(lái)管理數(shù)據(jù)在多個(gè)核心之間的共享,當(dāng)某個(gè)核心修改共享數(shù)據(jù)時(shí),該數(shù)據(jù)被標(biāo)記為modified,其他核心需要先將自己的緩存副本置為無(wú)效invalid,然后再?gòu)闹鞔婊蚱渌诵墨@取最新的數(shù)據(jù),通過(guò)這種方式,mesi協(xié)議可以保證共享數(shù)據(jù)的一致性和正確性。
3、然而,在實(shí)際應(yīng)用中,mesi協(xié)議的性能仍然存在一些瓶頸,特別是在高并發(fā)場(chǎng)景下,大量的共享數(shù)據(jù)訪問(wèn)可能導(dǎo)致緩存競(jìng)爭(zhēng)和同步開(kāi)銷(xiāo)的增加,從而限制了多核處理器的并行計(jì)算能力。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明旨在至少解決相關(guān)技術(shù)中存在的技術(shù)問(wèn)題之一。為此,本發(fā)明提供一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法。
2、本發(fā)明提供一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,包括:
3、s1:基于mesi協(xié)議建立多個(gè)核心,其中每個(gè)所述核心均包括獨(dú)立任務(wù)隊(duì)列;
4、s2:由每個(gè)所述核心中建立哈希圖結(jié)構(gòu),獲得多個(gè)第一優(yōu)化核心;
5、s3:將待處理任務(wù)通過(guò)動(dòng)態(tài)負(fù)載均衡算法分解為多個(gè)子任務(wù),并將多個(gè)子任務(wù)分別下發(fā)至多個(gè)第一優(yōu)化核心;
6、s4:通過(guò)機(jī)器學(xué)習(xí)模型對(duì)所述待處理任務(wù)進(jìn)行預(yù)測(cè),根據(jù)預(yù)測(cè)結(jié)果為每個(gè)所述第一優(yōu)化核心進(jìn)行緩存預(yù)存,獲得多個(gè)第二優(yōu)化核心;
7、s5:通過(guò)多個(gè)第二優(yōu)化核心建立的處理器對(duì)所述待處理任務(wù)進(jìn)行處理。
8、根據(jù)本發(fā)明提供的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,步驟s2中的所述哈希圖結(jié)構(gòu)為鍵值對(duì)形式,所述哈希圖結(jié)構(gòu)的鍵為待并發(fā)控制資源的標(biāo)識(shí)符,所述哈希圖結(jié)構(gòu)的值為所述待并發(fā)控制資源對(duì)應(yīng)的鎖管理器。
9、根據(jù)本發(fā)明提供的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,步驟s2中的所述哈希圖結(jié)構(gòu)用于控制每個(gè)核心中的待并發(fā)控制資源,具體包括動(dòng)態(tài)創(chuàng)建鎖及動(dòng)態(tài)刪除鎖。
10、根據(jù)本發(fā)明提供的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,所述動(dòng)態(tài)創(chuàng)建鎖的具體步驟包括:
11、s211:監(jiān)控到任務(wù)處理請(qǐng)求訪問(wèn)待并發(fā)控制資源;
12、s212:根據(jù)被訪問(wèn)的待并發(fā)控制資源的標(biāo)識(shí)符查找獲得對(duì)應(yīng)的哈希圖結(jié)構(gòu)的鍵;
13、s213:根據(jù)查找獲得的哈希圖結(jié)構(gòu)的鍵查找對(duì)應(yīng)的哈希圖結(jié)構(gòu)的值及對(duì)應(yīng)的鎖管理器;
14、s214:當(dāng)未查詢(xún)到對(duì)應(yīng)的鎖管理器時(shí),創(chuàng)建新的鎖管理器并插入至被訪問(wèn)的待并發(fā)控制資源對(duì)應(yīng)的哈希圖結(jié)構(gòu)。
15、根據(jù)本發(fā)明提供的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,所述動(dòng)態(tài)刪除鎖的具體步驟包括:
16、s221:監(jiān)控到用于任務(wù)處理請(qǐng)求的待并發(fā)控制資源訪問(wèn)結(jié)束;
17、s222:基于引用計(jì)數(shù)規(guī)則釋放訪問(wèn)結(jié)束的待并發(fā)控制資源;
18、s223:將釋放的待并發(fā)控制資源對(duì)應(yīng)的哈希圖結(jié)構(gòu)進(jìn)行同步。
19、根據(jù)本發(fā)明提供的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,步驟s4具體包括:
20、s41:通過(guò)急求惡習(xí)模型預(yù)測(cè)所述子任務(wù)的地址訪問(wèn)需求;
21、s42:根據(jù)所述地址訪問(wèn)需求,將所述地址訪問(wèn)需求對(duì)應(yīng)的數(shù)據(jù)由主存預(yù)取至緩存,以完成緩存預(yù)存。
22、根據(jù)本發(fā)明提供的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,步驟s5中的所述處理器的緩存行的緩存狀態(tài)至少包括shared、modified及invalid。
23、根據(jù)本發(fā)明提供的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,步驟s5還包括:
24、當(dāng)子任務(wù)被任一第二優(yōu)化核心讀取并修改時(shí),將被讀取并修改的子任務(wù)對(duì)應(yīng)的緩存行的狀態(tài)由shared轉(zhuǎn)換為modified,或由shared轉(zhuǎn)換為invalid;
25、當(dāng)多個(gè)所述第二優(yōu)化核心讀取同一子任務(wù),且所述同一子任務(wù)未被修改時(shí),通過(guò)所述mesi協(xié)議維持shared狀態(tài)。
26、本發(fā)明提供的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,提出了多核分裂式加速執(zhí)行器通過(guò)結(jié)合mesi緩存一致性協(xié)議和細(xì)粒度并發(fā)控制策略,旨在解決高性能計(jì)算、大規(guī)模數(shù)據(jù)庫(kù)事務(wù)處理和其他需要高效并發(fā)執(zhí)行的應(yīng)用場(chǎng)景中的挑戰(zhàn),通過(guò)優(yōu)化的緩存管理和避免偽共享等問(wèn)題,該執(zhí)行器能夠在保證數(shù)據(jù)一致性的前提下,充分利用多核處理器的并行計(jì)算能力,實(shí)現(xiàn)對(duì)復(fù)雜應(yīng)用任務(wù)的快速響應(yīng)和高效處理,進(jìn)一步推動(dòng)了多核計(jì)算環(huán)境下的性能提升和擴(kuò)展性?xún)?yōu)化。
27、本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
1.一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,其特征在于,步驟s2中的所述哈希圖結(jié)構(gòu)為鍵值對(duì)形式,所述哈希圖結(jié)構(gòu)的鍵為待并發(fā)控制資源的標(biāo)識(shí)符,所述哈希圖結(jié)構(gòu)的值為所述待并發(fā)控制資源對(duì)應(yīng)的鎖管理器。
3.根據(jù)權(quán)利要求2所述的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,其特征在于,步驟s2中的所述哈希圖結(jié)構(gòu)用于控制每個(gè)核心中的待并發(fā)控制資源,具體包括動(dòng)態(tài)創(chuàng)建鎖及動(dòng)態(tài)刪除鎖。
4.根據(jù)權(quán)利要求3所述的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,其特征在于,所述動(dòng)態(tài)創(chuàng)建鎖的具體步驟包括:
5.根據(jù)權(quán)利要求4所述的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,其特征在于,所述動(dòng)態(tài)刪除鎖的具體步驟包括:
6.根據(jù)權(quán)利要求1所述的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,其特征在于,步驟s4具體包括:
7.根據(jù)權(quán)利要求1所述的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,其特征在于,步驟s5中的所述處理器的緩存行的緩存狀態(tài)至少包括shared、modified及invalid。
8.根據(jù)權(quán)利要求7所述的一種基于mesi協(xié)議的計(jì)算任務(wù)并行處理方法,其特征在于,步驟s5還包括: