[發(fā)明專利]一種事務(wù)性內(nèi)存的實(shí)現(xiàn)方法有效
| 申請(qǐng)?zhí)枺?/td> | 200810239010.5 | 申請(qǐng)日: | 2008-12-04 |
| 公開(kāi)(公告)號(hào): | CN101425052A | 公開(kāi)(公告)日: | 2009-05-06 |
| 發(fā)明(設(shè)計(jì))人: | 范彬;吳承勇 | 申請(qǐng)(專利權(quán))人: | 中國(guó)科學(xué)院計(jì)算技術(shù)研究所 |
| 主分類號(hào): | G06F13/42 | 分類號(hào): | G06F13/42 |
| 代理公司: | 北京泛華偉業(yè)知識(shí)產(chǎn)權(quán)代理有限公司 | 代理人: | 王 勇 |
| 地址: | 100190北京*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 事務(wù)性 內(nèi)存 實(shí)現(xiàn) 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及多線程環(huán)境下事務(wù)的處理,特別涉及一種事務(wù)性內(nèi)存的實(shí)現(xiàn)方法。
背景技術(shù)
隨著多核體系結(jié)構(gòu)的發(fā)展和普及,傳統(tǒng)的串行編程模型不再適合多核體系結(jié)構(gòu)的需要。擺在編程語(yǔ)言和編程工具的設(shè)計(jì)者面前的問(wèn)題是:如何提供一種復(fù)雜性較低,并且適用于多核體系結(jié)構(gòu)的編程模型?事務(wù)性內(nèi)存便是在這一背景下提出的,在參考文獻(xiàn)1“M.Herlihy,J.Eliot?B.Moss:Transactional?Memory:Architectural?Support?for?Lock-Free?Data?Structures.Proceedings?of?the?20th?annual?international?symposium?on?Computerarchitecture,1993”中最早提出了事務(wù)性內(nèi)存的概念。所述的事務(wù)性內(nèi)存是一種并行編程模型及其實(shí)現(xiàn)的統(tǒng)稱,它的基本思想是提供一種粗粒度的編程語(yǔ)言結(jié)構(gòu)——事務(wù),并保證事務(wù)中包含的訪存操作具有原子性的特征。此處所述的原子性是事務(wù)的一個(gè)特征,舉例而言,若在兩個(gè)線程Ta和Tb各自包含一組訪存操作Ma和Mb(Ma和Mb中可能含有多條訪存指令),則在Ta和Tb并行執(zhí)行的過(guò)程中,Ma執(zhí)行時(shí)看到的內(nèi)存映像或者是Mb全部執(zhí)行完畢的結(jié)果,或者是Mb完全沒(méi)有執(zhí)行的結(jié)果,對(duì)于Mb的執(zhí)行也有類似的約定。
程序員在使用事務(wù)性內(nèi)存模型編寫程序時(shí),只需將若干組可能相互沖突的訪存操作全部聲明為事務(wù),就可以保證這些組訪存操作的原子性。原子性是確保并行程序正確性的重要特性,事務(wù)性內(nèi)存通過(guò)非常易于理解的方式令程序員表達(dá)了這種并行程序內(nèi)在的性質(zhì)。除了正確性之外,并行程序的性能也是編程人員關(guān)注的重要方面,事務(wù)性內(nèi)存實(shí)現(xiàn)的優(yōu)劣和應(yīng)用程序性能有著非常緊密的聯(lián)系。一個(gè)高效的事務(wù)性內(nèi)存的實(shí)現(xiàn)可以令使用該模型編寫的應(yīng)用具有良好的單線程性能和多線程環(huán)境下的可擴(kuò)展性。
事務(wù)性內(nèi)存的實(shí)現(xiàn)過(guò)程一般包括元數(shù)據(jù)的管理、沖突的檢測(cè)、沖突的解決等幾個(gè)部分。在實(shí)現(xiàn)方法上,事務(wù)性內(nèi)存的實(shí)現(xiàn)可以分為純軟件實(shí)現(xiàn),純硬件實(shí)現(xiàn)和混合式實(shí)現(xiàn)。純軟件實(shí)現(xiàn)就是將實(shí)現(xiàn)中涉及的幾個(gè)部分全部通過(guò)軟件實(shí)現(xiàn)(通常以一個(gè)庫(kù)的方式提供),相應(yīng)的,硬件實(shí)現(xiàn)就是將這幾部分全部通過(guò)硬件實(shí)現(xiàn)(通常是提供能夠?qū)崿F(xiàn)相應(yīng)功能的機(jī)器指令)。而混合式的實(shí)現(xiàn)方式對(duì)軟硬件進(jìn)行了分工,根據(jù)軟硬件自身的功能特點(diǎn)實(shí)現(xiàn)事務(wù)性內(nèi)存的不同部分。一般來(lái)說(shuō),軟件實(shí)現(xiàn)方式比硬件實(shí)現(xiàn)方式更為靈活,能夠支持更多的語(yǔ)言特性,但在性能上不如硬件實(shí)現(xiàn),且在硬件事務(wù)性內(nèi)存平臺(tái)上編寫的應(yīng)用也難以移植到其他平臺(tái)上。混合式的實(shí)現(xiàn)方式能夠發(fā)揮軟硬件各自的長(zhǎng)處,相對(duì)于軟件實(shí)現(xiàn)和硬件實(shí)現(xiàn)來(lái)說(shuō)是一種更為有效的事務(wù)性內(nèi)存實(shí)現(xiàn)方案。
在現(xiàn)有技術(shù)中,已經(jīng)存在采用混合式實(shí)現(xiàn)方式實(shí)現(xiàn)事務(wù)性內(nèi)存的方法,例如,在參考文獻(xiàn)2“B.Saha,A.Adl-Tabatabai,Q.Jacobson:ArchitecturalSupport?for?Software?Transactional?Memory.Proceedings?of?the?39th?AnnualIEEE/ACM?International?Symposium?on?Microarchitecture,2006”中,提出了一種混合式事務(wù)性內(nèi)存方案,該方案將一個(gè)純軟件模式和軟硬件模型相結(jié)合。其優(yōu)點(diǎn)在于:通過(guò)運(yùn)行時(shí)系統(tǒng)的支持,該方案具有較好的易編程性;將軟硬件相結(jié)合后,硬件能夠去除冗余的讀攔截和降低讀集合一致性檢測(cè)的開(kāi)銷,加速已有軟件事務(wù)執(zhí)行的作用。其缺陷在于:1)硬件功能相對(duì)簡(jiǎn)單,軟件在讀攔截和沖突檢測(cè)方面仍然需要付出較大開(kāi)銷;2)該方法只是減少但并沒(méi)有避免讀集合一致性檢測(cè),當(dāng)出現(xiàn)高速緩存塊換出時(shí),仍需進(jìn)行讀集合一致性檢測(cè)。實(shí)驗(yàn)表明,讀攔截和讀集合一致性檢測(cè)開(kāi)銷是軟件事務(wù)性內(nèi)存開(kāi)銷的主要組成部分,因此,該方案中混合模型的性能相對(duì)還不夠好。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)科學(xué)院計(jì)算技術(shù)研究所,未經(jīng)中國(guó)科學(xué)院計(jì)算技術(shù)研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810239010.5/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 上一篇:易更換的模塊式電源防雷裝置
- 下一篇:用于空勤人員的呼吸裝置
- 同類專利
- 專利分類
- 軟件事務(wù)性存儲(chǔ)器操作的優(yōu)化
- 用于在事務(wù)性中間件機(jī)器環(huán)境中防止單點(diǎn)瓶頸的系統(tǒng)和方法
- 用于在事務(wù)性存儲(chǔ)器系統(tǒng)中實(shí)現(xiàn)強(qiáng)原子性的方法、裝置和系統(tǒng)
- 用于測(cè)試事務(wù)性執(zhí)行狀態(tài)的方法、裝置和系統(tǒng)
- 用于挽救部分執(zhí)行的硬件事務(wù)的方法和系統(tǒng)
- 用于測(cè)試事務(wù)性執(zhí)行狀態(tài)的系統(tǒng)
- 用于測(cè)試事務(wù)性執(zhí)行狀態(tài)的指令和邏輯
- 用于測(cè)試事務(wù)性執(zhí)行狀態(tài)的系統(tǒng)
- 用于測(cè)試事務(wù)性執(zhí)行狀態(tài)的系統(tǒng)
- 用于測(cè)試事務(wù)性執(zhí)行狀態(tài)的指令和邏輯
- 互動(dòng)業(yè)務(wù)終端、實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法
- 街景地圖的實(shí)現(xiàn)方法和實(shí)現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實(shí)現(xiàn)裝置及其圖像實(shí)現(xiàn)方法
- 增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方法以及實(shí)現(xiàn)裝置
- 軟件架構(gòu)的實(shí)現(xiàn)方法和實(shí)現(xiàn)平臺(tái)
- 數(shù)值預(yù)報(bào)的實(shí)現(xiàn)方法及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 輸入設(shè)備實(shí)現(xiàn)方法及其實(shí)現(xiàn)裝置
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





