一種基于獨占數(shù)據(jù)的一致性協(xié)議設計方法
【技術領域】
[0001]本發(fā)明涉及計算機體系結構中多核處理器數(shù)據(jù)一致性領域,具體地說是一種基于獨占數(shù)據(jù)的一致性協(xié)議設計方法。
【背景技術】
[0002]隨著高性能計算、云技術、以及大數(shù)據(jù)處理等新型技術的廣泛應用,人們對多核處理器的并行處理能力和數(shù)據(jù)訪問延遲的要求越來越高。因此,如何滿足日益增長的技術需求,如何改善多核處理器的并行處理能力,縮短數(shù)據(jù)訪問延遲,如何快速實現(xiàn)多核間的數(shù)據(jù)通信和一致性處理,已經(jīng)成為了目前亟待解決的技術難題。
[0003]目前,傳統(tǒng)的多核處理器多采用基于目錄的一致性協(xié)議方法來記錄所有的本地數(shù)據(jù)信息,所有的本地訪問未命中數(shù)據(jù)都會通過目錄來定位數(shù)據(jù)在系統(tǒng)結構中的位置,以此來實現(xiàn)程序的多核并行,完成多核間的數(shù)據(jù)通信和一致性處理。但是,這種方式會在核與核之間產(chǎn)生了大量的通信,增加了系統(tǒng)的通信壓力,而且核間的數(shù)據(jù)訪問延遲和協(xié)議復雜度較大。
[0004]
【發(fā)明內(nèi)容】
本發(fā)明的技術任務是提供一種基于獨占數(shù)據(jù)的一致性協(xié)議設計方法,來解決如何滿足日益增長的技術需求,如何改善多核處理器的并行處理能力,縮短數(shù)據(jù)訪問延遲,如何快速實現(xiàn)多核間的數(shù)據(jù)通信和一致性處理的問題。
[0005]本發(fā)明解決其技術問題所采用的技術方案是:一種基于獨占數(shù)據(jù)的一致性協(xié)議設計方法,包括如下步驟:
(1)核間獨占數(shù)據(jù)的一致性信息以向量指針的形式保存在目錄中,目錄采用差分編址機制,加速訪問速度;
(2)核間的共享數(shù)據(jù)以數(shù)據(jù)的形式保存于額外數(shù)據(jù)緩存中,額外數(shù)據(jù)緩存根據(jù)內(nèi)存地址區(qū)間被分成四組,每組只能存儲對應地址空間中的數(shù)據(jù)信息,實現(xiàn)并行訪問;
(3)步驟(1)中的目錄與其下級共享緩存同步處理同一個請求命令,在目錄處理完該請求之前,下級共享緩存已經(jīng)完成了對該請求的處理,并將數(shù)據(jù)存儲于提前訪問存儲中,縮短了數(shù)據(jù)訪問延遲,簡化了核間協(xié)議的復雜度。
[0006]作為優(yōu)選,該設計方法包括如下七個部分:
(1)處理器部分:進行數(shù)據(jù)的運算和請求發(fā)送;
(2)本地高速緩存:負責緩存本地獨占數(shù)據(jù);
(3)互聯(lián)網(wǎng)絡系統(tǒng):系統(tǒng)的互聯(lián)系統(tǒng),為系統(tǒng)通信自適應的提供物理通道;
(4)目錄系統(tǒng):核間的通信提供信息儲備,保存各個核中本地緩存數(shù)據(jù)的狀態(tài)信息;
(5)下級共享緩存:包含所有核的本地緩存數(shù)據(jù)以及系統(tǒng)的預取數(shù)據(jù);
(6)提前訪問存儲:負責緩存下級共享緩存處理請求命令后得到的數(shù)據(jù);
(7)額外數(shù)據(jù)緩存:用于緩存被兩個及兩個以上核訪問過的數(shù)據(jù)。
[0007]更優(yōu)地,所述核間數(shù)據(jù)的通信為基于異地獨占數(shù)據(jù)請求,本地高速緩存和額外數(shù)據(jù)緩存都發(fā)生訪問請求失效,且目錄請求命中,系統(tǒng)將讀取并作廢異地獨占數(shù)據(jù),更新額外數(shù)據(jù)緩存和下級共享緩存;然后,異地核對該數(shù)據(jù)的訪問可以在額外數(shù)據(jù)緩存中直接取得,無需產(chǎn)生核間通信。
[0008]本發(fā)明的一種基于獨占數(shù)據(jù)的一致性協(xié)議設計方法和現(xiàn)有技術相比,具有以下有益效果:
1、本發(fā)明能夠明顯減少核間的通信數(shù)量,通過對目錄的結構優(yōu)化,以及額外數(shù)據(jù)緩存(XStore)的添加,降低系統(tǒng)的通信壓力和協(xié)議復雜度,縮短數(shù)據(jù)的訪問延遲;采用本發(fā)明的設計方法,各個核間的本地緩存只能存儲本地的獨占數(shù)據(jù),對于共享數(shù)據(jù)的讀寫不需要與異地核進行通信,大大降低了核間的通信數(shù)量,減小了數(shù)據(jù)的訪問延遲;
2、本發(fā)明令目錄與下級共享緩存同步處理命令請求,在目錄處理完該請求之前,下級共享緩存已經(jīng)完成了對該請求的處理,并將目標數(shù)據(jù)存儲于提前訪問存儲(YStore)內(nèi),在接收到目錄的確認應答后,可將其直接傳遞給目錄,無需與異地核進行通信,與傳統(tǒng)的目錄和下級共享緩存順序執(zhí)行方式相比,縮短了數(shù)據(jù)訪問延遲,簡化了協(xié)議復雜度。
[0009]本發(fā)明具有設計合理、結構簡單、使用方便的特點,因而,具有很好的推廣使用價值。
【附圖說明】
[0010]下面結合附圖對本發(fā)明進一步說明。
[0011 ]附圖1為一種基于獨占數(shù)據(jù)的一致性協(xié)議設計方法的框圖;
附圖2為附圖1的通信情況分析框圖。
【具體實施方式】
[0012]下面結合附圖和具體實施例對本發(fā)明作進一步說明。
[0013]如附圖1所示,本發(fā)明的一種基于獨占數(shù)據(jù)的一致性協(xié)議設計方法,該設計方法包括如下七個部分:
(1)處理器部分(Corel— Core4):進行數(shù)據(jù)的運算和請求發(fā)送;
(2)本地高速緩存(LocalC):負責緩存本地獨占數(shù)據(jù);
(3)互聯(lián)網(wǎng)絡系統(tǒng):系統(tǒng)的互聯(lián)系統(tǒng),為系統(tǒng)通信自適應的提供物理通道;
(4)目錄系統(tǒng):核間的通信提供信息儲備,保存各個核中本地緩存數(shù)據(jù)的狀態(tài)信息;
(5)下級共享緩存:包含所有核的本地緩存數(shù)據(jù)以及系統(tǒng)的預取數(shù)據(jù);
(6)提前訪問存儲(YStore):負責緩存下級共享緩存處理請求命令后得到的數(shù)據(jù);
(7)額外數(shù)據(jù)緩存(XStore):用于緩存被兩個及兩個以上核訪問過的數(shù)據(jù)。
[0014]其中,處理器部分負責進行數(shù)據(jù)和指令的運算和請求發(fā)送,處理器核發(fā)出的請求可以直接訪問XStore和LocalC,若命中,則可以直接讀寫;若不命中,則訪問目錄和下級共享緩存。寫請求在更新XStore或LocalC時,也要更新下級共享存儲。
[0015]LocalC負責緩存本地獨占數(shù)據(jù),若異地核訪問本地獨占數(shù)據(jù),則將其更新于XStore中,并作廢該數(shù)據(jù)。此后,對該數(shù)據(jù)的訪問都可以在XStore中直接取得,無需再產(chǎn)生核間通信。
[0016]目錄系統(tǒng)為核間的通信提供信息儲備,保存各個核中本地緩存數(shù)據(jù)的狀態(tài)信息。由于協(xié)議規(guī)定了目錄的指針向量中最多只可能存在lbit為1,所以指針位數(shù)只需要log2N為(N為核的數(shù)量)即可,節(jié)省了大量硬件資源。此外,為加速目錄訪問速度,設計將目錄訪問流水化,目錄表被分為兩個banks并進行交叉編址,以充分利用程序訪問局部性原理。目錄在對命令的處理過程中會向YStore發(fā)送響應,以確認是否讀取其中的數(shù)據(jù),減少數(shù)據(jù)訪問延遲。
[0017]下級共享緩存內(nèi)包含著所有LocalC內(nèi)的數(shù)據(jù)以及系統(tǒng)的預取數(shù)據(jù)。設計中下級共享緩存與目錄同時處理同意請求,保證其先于目錄完成對請求處理,并將數(shù)據(jù)存儲于YStore中,發(fā)給目錄一個確認信號,等待數(shù)據(jù)從YStore中讀取數(shù)據(jù),縮短了數(shù)據(jù)訪問的相對延遲。
[0018]YStore負責緩存下級共享緩存處理請求命令后得到的數(shù)據(jù),負責加數(shù)據(jù)傳給目錄,以及對下級共享緩存做出更新響應。
[0019]XStore用于緩存被兩個及以上核訪問過的數(shù)據(jù)。設計將XStore分為4個banks,各映射1/4的內(nèi)存地址空間,不同地址空間內(nèi)的數(shù)據(jù)只能保存到與其相映射的bank中,以防止過多的請求堵塞XStore訪問通道,實現(xiàn)XStore并行訪問。處理器發(fā)出的請求要首先訪問XStore,在其未命中時才會訪問目錄和下級共享緩存。
[0020]處理器請求在部件之間進行通信,完成數(shù)據(jù)的請求。請求會根據(jù)各個部件的情況進入不同的狀態(tài)。根據(jù)系統(tǒng)處理請求的通信過程是否會產(chǎn)生核間通信,可以將系統(tǒng)的通信情核間通信和非核間通信。
[0021]如附圖2所示,核間通信的發(fā)生只有一種情況,那就是基于異地獨占數(shù)據(jù)請求。此時,LocalC和XStore都發(fā)生訪問請求失效,且目錄請求命中,系統(tǒng)將讀取并作廢異地獨占數(shù)據(jù),更新XStore和下級共享緩存。此后,異地核對該數(shù)據(jù)的訪問可以在XStore中直接取得,無需廣生核間通?目。
[0022]通過上面【具體實施方式】,所述技術領域的技術人員可容易的實現(xiàn)本發(fā)明。但是應當理解,本發(fā)明并不限于上述的【具體實施方式】。在公開的實施方式的基礎上,所述技術領域的技術人員可任意組合不同的技術特征,從而實現(xiàn)不同的技術方案。
【主權項】
1.一種基于獨占數(shù)據(jù)的一致性協(xié)議設計方法,其特征在于:包括如下步驟: (1)核間獨占數(shù)據(jù)的一致性信息以向量指針的形式保存在目錄中,目錄采用差分編址機制,加速訪問速度; (2)核間的共享數(shù)據(jù)以數(shù)據(jù)的形式保存于額外數(shù)據(jù)緩存中,額外數(shù)據(jù)緩存根據(jù)內(nèi)存地址區(qū)間被分成四組,每組只能存儲對應地址空間中的數(shù)據(jù)信息,實現(xiàn)并行訪問; (3)步驟(1)中的目錄與其下級共享緩存同步處理同一個請求命令,在目錄處理完該請求之前,下級共享緩存已經(jīng)完成了對該請求的處理,并將數(shù)據(jù)存儲于提前訪問存儲中,縮短了數(shù)據(jù)訪問延遲,簡化了核間協(xié)議的復雜度。2.根據(jù)權利要求1所述的一種基于獨占數(shù)據(jù)的一致性協(xié)議設計方法,其特征在于:該設計方法包括如下七個部分: (1)處理器部分:進行數(shù)據(jù)的運算和請求發(fā)送; (2 )本地高速緩存:負責緩存本地獨占數(shù)據(jù); (3)互聯(lián)網(wǎng)絡系統(tǒng):系統(tǒng)的互聯(lián)系統(tǒng),為系統(tǒng)通信自適應的提供物理通道; (4)目錄系統(tǒng):核間的通信提供信息儲備,保存各個核中本地緩存數(shù)據(jù)的狀態(tài)信息; (5)下級共享緩存:包含所有核的本地緩存數(shù)據(jù)以及系統(tǒng)的預取數(shù)據(jù); (6)提前訪問存儲:負責緩存下級共享緩存處理請求命令后得到的數(shù)據(jù); (7)額外數(shù)據(jù)緩存:用于緩存被兩個及兩個以上核訪問過的數(shù)據(jù)。3.根據(jù)權利要求2所述的一種基于獨占數(shù)據(jù)的一致性協(xié)議設計方法,其特征在于:所述核間數(shù)據(jù)的通信為基于異地獨占數(shù)據(jù)請求,本地高速緩存和額外數(shù)據(jù)緩存都發(fā)生訪問請求失效,且目錄請求命中,系統(tǒng)將讀取并作廢異地獨占數(shù)據(jù),更新額外數(shù)據(jù)緩存和下級共享緩存;然后,異地核對該數(shù)據(jù)的訪問可以在額外數(shù)據(jù)緩存中直接取得,無需產(chǎn)生核間通信。
【專利摘要】本發(fā)明公開了一種基于獨占數(shù)據(jù)的一致性協(xié)議設計方法,屬于計算機體系結構中多核處理器數(shù)據(jù)一致性領域,本發(fā)明要解決的技術問題為如何滿足日益增長的技術需求,如何改善多核處理器的并行處理能力,縮短數(shù)據(jù)訪問延遲,如何快速實現(xiàn)多核間的數(shù)據(jù)通信和一致性處理。技術方案為:包括如下步驟:(1)核間獨占數(shù)據(jù)的一致性信息以向量指針的形式保存在目錄中,目錄采用差分編址機制,加速訪問速度;(2)核間的共享數(shù)據(jù)以數(shù)據(jù)的形式保存于額外數(shù)據(jù)緩存中,額外數(shù)據(jù)緩存根據(jù)內(nèi)存地址區(qū)間被分成四組,每組只能存儲對應地址空間中的數(shù)據(jù)信息,實現(xiàn)并行訪問。
【IPC分類】G06F15/173
【公開號】CN105488012
【申請?zhí)枴緾N201510899775
【發(fā)明人】常大龍
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司
【公開日】2016年4月13日
【申請日】2015年12月9日