[發(fā)明專利]一種顯式的面向流應(yīng)用的多核Cache一致性主動(dòng)管理方法有效
| 申請(qǐng)?zhí)枺?/td> | 201310166383.5 | 申請(qǐng)日: | 2013-05-08 |
| 公開(公告)號(hào): | CN103279428A | 公開(公告)日: | 2013-09-04 |
| 發(fā)明(設(shè)計(jì))人: | 陳海燕;燕世林;陳書明;劉勝;萬(wàn)江華;陳勝剛;劉仲;彭元喜;陳小文;孫書為;雷元武 | 申請(qǐng)(專利權(quán))人: | 中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué) |
| 主分類號(hào): | G06F12/08 | 分類號(hào): | G06F12/08;G06F15/167 |
| 代理公司: | 湖南兆弘專利事務(wù)所 43008 | 代理人: | 周長(zhǎng)清 |
| 地址: | 410073 湖南省長(zhǎng)沙市硯瓦池正街47號(hào)中國(guó)*** | 國(guó)省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 面向 應(yīng)用 多核 cache 一致性 主動(dòng) 管理 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明主要涉及到單片多核微處理器中Cache一致性的實(shí)現(xiàn)策略和方法設(shè)計(jì)領(lǐng)域,特指一種面向具有計(jì)算密集性和數(shù)據(jù)并行性的流應(yīng)用時(shí),多核微處理器中單核私有的數(shù)據(jù)Cache維護(hù)共享存儲(chǔ)數(shù)據(jù)一致性的主動(dòng)管理方法。
背景技術(shù)
隨著計(jì)算機(jī)應(yīng)用領(lǐng)域不斷發(fā)展,一種典型的數(shù)據(jù)密集型應(yīng)用——流應(yīng)用,正成為多核處理器的重要負(fù)載。流應(yīng)用主要分為兩類:一類是媒體應(yīng)用,如無(wú)線通信、圖像處理領(lǐng)域需要進(jìn)行音頻、視頻、編碼與解碼等實(shí)時(shí)數(shù)字信號(hào)處理應(yīng)用;另一類是科學(xué)計(jì)算,主要用于高精度科學(xué)建模,典型的應(yīng)用包括流體力學(xué)、分子動(dòng)力學(xué)、有限元分析、生物技術(shù)等。這些流應(yīng)用具有很高的數(shù)據(jù)并行性、計(jì)算密集性和數(shù)據(jù)局部性特點(diǎn)。與傳統(tǒng)的桌面應(yīng)用相比,流應(yīng)用對(duì)每次從內(nèi)存取出的數(shù)據(jù)都要進(jìn)行密集的算術(shù)運(yùn)算:大多數(shù)的運(yùn)算可以進(jìn)行數(shù)據(jù)級(jí)、線程級(jí)、任務(wù)級(jí)并行;其數(shù)據(jù)訪問(wèn)局部性通常表現(xiàn)為生產(chǎn)者消費(fèi)者的局域性,即對(duì)大數(shù)據(jù)塊的相鄰或跨距訪問(wèn),在運(yùn)算的不同階段中,某個(gè)生產(chǎn)者生產(chǎn)出的數(shù)據(jù)被其他消費(fèi)者訪問(wèn)并進(jìn)行其他運(yùn)算,對(duì)于生產(chǎn)者而言,本地的數(shù)據(jù)重用性低。在多核處理器中,流應(yīng)用的密集性數(shù)據(jù)運(yùn)算的多個(gè)階段被分解在不同的處理器核中進(jìn)行,以充分利用片上多核資源,開發(fā)更多的線程級(jí)、任務(wù)級(jí)并行,獲得更高的應(yīng)用性能。
當(dāng)前商用多核微處理器多為具有較強(qiáng)繼承性的復(fù)雜處理器核同構(gòu)集成,即集成少數(shù)幾個(gè)成熟的、結(jié)構(gòu)相同、功能強(qiáng)大的通用處理核心,如IBM?的Power7集成了8?個(gè)處理器核心;Sun?推出的UltraSparc?T2?片內(nèi)實(shí)現(xiàn)了8個(gè)單?核;Intel的Many?Integrated?Core(MIC)?KNF協(xié)處理器片內(nèi)集成了32個(gè)單核。這些多核處理器的基本結(jié)構(gòu)如圖1所示,單片集成了N個(gè)單核處理器,每個(gè)單核擁有私有的一級(jí)數(shù)據(jù)Cache或私有的一級(jí)、二級(jí)數(shù)據(jù)Cache(下面的私有數(shù)據(jù)Cache指的是單核最后一級(jí)私有Cache),多核通過(guò)核間互聯(lián)網(wǎng)絡(luò)訪問(wèn)共享的二級(jí)或三級(jí)Cache(下面簡(jiǎn)稱共享Cache);目標(biāo)是捕獲更多的時(shí)間局部性,盡量減小存儲(chǔ)器的平均訪問(wèn)延遲。
由于多核私有數(shù)據(jù)Cache存在多個(gè)數(shù)據(jù)副本,為維護(hù)多核Cache一致性,硬件一般會(huì)采用基于總線監(jiān)聽或基于目錄協(xié)議兩種實(shí)現(xiàn)方法。監(jiān)聽協(xié)議將維護(hù)多核處理器Cache一致性的責(zé)任分布到各個(gè)單核的私有數(shù)據(jù)Cache上。當(dāng)某一個(gè)核的私有數(shù)據(jù)Cache行上完成了一個(gè)寫操作時(shí),它必須通過(guò)一種廣播的方式通知到其他核的所有私有數(shù)據(jù)Cache;每個(gè)核的私有數(shù)據(jù)Cache應(yīng)能實(shí)現(xiàn)廣播的監(jiān)聽,以便對(duì)來(lái)自其他核的廣播做出反應(yīng)。隨著處理器核數(shù)的增多,廣播監(jiān)聽協(xié)議存在如下幾個(gè)問(wèn)題:(1)隨著處理器核的增大,核間廣播的互連硬件開銷增大,線延遲巨大;(2)?每個(gè)單核的私有數(shù)據(jù)Cache都需要監(jiān)聽來(lái)自所有其它核的廣播,被太多的監(jiān)聽事務(wù)干擾;采用Cache的獲益被抵消。而目錄協(xié)議將在多核處理器的共享Cache中收集并維護(hù)有關(guān)數(shù)據(jù)塊副本駐存在何處的信息,即在共享Cache上維護(hù)一個(gè)影子目錄結(jié)構(gòu),記錄各個(gè)核最后一級(jí)私有數(shù)據(jù)Cache行的全局性狀態(tài)信息,并保持狀態(tài)的更新,當(dāng)某個(gè)核的私有數(shù)據(jù)Cache產(chǎn)生訪存請(qǐng)求時(shí),該影子目錄將檢查此請(qǐng)求,并向相關(guān)核的私有數(shù)據(jù)Cache發(fā)出必要的操作,使相應(yīng)的數(shù)據(jù)副本無(wú)效。與監(jiān)聽協(xié)議相比,目錄協(xié)議減少了廣播請(qǐng)求的盲目性;但隨著單片集成的處理器核數(shù)的增加,片上Cache存儲(chǔ)容量的不斷增大,基于目錄協(xié)議的維護(hù)一致性的硬件邏輯呈線性增長(zhǎng);一致性消息量劇增,嚴(yán)重影響了算法實(shí)現(xiàn)的效率。而且該方法可擴(kuò)展性差,難以滿足當(dāng)前多核處理器核數(shù)越來(lái)越多的發(fā)展趨勢(shì)。
在常用的基于軟件管理的Cache一致性方案中,硬件需設(shè)置程序員可編程的多核共享的鎖同步控制寄存器;當(dāng)片上多核處理器中的某個(gè)核Pi需要讀取共享數(shù)據(jù)區(qū)域A1(Area?1)時(shí),程序員首先對(duì)該區(qū)域上加讀鎖,加讀鎖成功后方可開始訪存,此時(shí)硬件拒絕來(lái)自它核的寫鎖請(qǐng)求,以保證數(shù)據(jù)一致性。具體流程如圖2所示。
當(dāng)核Pi要對(duì)共享數(shù)據(jù)區(qū)域A1進(jìn)行寫操作時(shí),程序員先要對(duì)該區(qū)域加寫鎖,即首先檢查被加鎖區(qū)域是否已被加上讀鎖或?qū)戞i;如果是,則需等待其鎖釋放后才可以加寫鎖成功,然后開始寫訪存操作,此時(shí)拒絕其它核的加鎖請(qǐng)求,直至寫操作完成并釋放寫鎖,具體流程見圖3所示。
在釋放寫鎖的時(shí)候,需要向其他所有核廣播數(shù)據(jù)作廢操作,要求其他核作廢私有數(shù)據(jù)?Cache中相應(yīng)區(qū)域的數(shù)據(jù)拷貝,保證數(shù)據(jù)一致性。在面向流應(yīng)用的多核處理器中,由于核間存在大量的生產(chǎn)者消費(fèi)者局部性,不同核間存在大量不同的共享數(shù)據(jù),隨著處理器核數(shù)的不斷增多,大量的數(shù)據(jù)廣播作廢操作帶來(lái)以下問(wèn)題:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué),未經(jīng)中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310166383.5/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
- 在線應(yīng)用平臺(tái)上應(yīng)用間通信的回調(diào)應(yīng)答方法、應(yīng)用及在線應(yīng)用平臺(tái)
- 應(yīng)用使用方法、應(yīng)用使用裝置及相應(yīng)的應(yīng)用終端
- 應(yīng)用管理設(shè)備、應(yīng)用管理系統(tǒng)、以及應(yīng)用管理方法
- 能力應(yīng)用系統(tǒng)及其能力應(yīng)用方法
- 應(yīng)用市場(chǎng)的應(yīng)用搜索方法、系統(tǒng)及應(yīng)用市場(chǎng)
- 使用應(yīng)用的方法和應(yīng)用平臺(tái)
- 應(yīng)用安裝方法和應(yīng)用安裝系統(tǒng)
- 使用遠(yuǎn)程應(yīng)用進(jìn)行應(yīng)用安裝
- 應(yīng)用檢測(cè)方法及應(yīng)用檢測(cè)裝置
- 應(yīng)用調(diào)用方法、應(yīng)用發(fā)布方法及應(yīng)用發(fā)布系統(tǒng)
- 一種基于CACHE的數(shù)據(jù)處理系統(tǒng)及其方法
- Cache的自適應(yīng)插入策略的實(shí)現(xiàn)方法
- 用于多核處理器的網(wǎng)絡(luò)共享Cache及其目錄控制方法
- 高速緩沖存儲(chǔ)器cache中cache塊的替換處理方法和裝置
- 一種Cache集群中刪除數(shù)據(jù)的方法及系統(tǒng)
- 一種資源分配方法和高速緩沖存儲(chǔ)器Cache
- 一種基于Cache空間預(yù)約算法的計(jì)算方法
- Cache數(shù)據(jù)處理方法以及Cache
- 數(shù)據(jù)塊寫入方法、裝置、處理器芯片及Cache
- 一種提升Cache命中率的方法、系統(tǒng)、設(shè)備及介質(zhì)





