<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 事務(wù)存儲結構的實(shí)現

事務(wù)存儲結構的實(shí)現

作者: 時(shí)間:2012-06-04 來(lái)源:網(wǎng)絡(luò ) 收藏

但在執行沖突檢測的過(guò)程中也會(huì )存在錯誤的沖突,比如:當處理機Q請求訪(fǎng)問(wèn)一個(gè)數據塊,該數據塊在目錄中的狀態(tài)為M@P,而處理機P已經(jīng)執行到后續事務(wù),同時(shí)也置了溢出位。P發(fā)送沖突信號給Q,但這個(gè)沖突并不是因處理機Q請求的數據正被其他占有而產(chǎn)生的沖突,是一種無(wú)關(guān)的沖突。所以必須采取一種機制將目錄狀態(tài)及時(shí)更新。

2.3 操作系統對LogTM的支持

由于事務(wù)的引入,傳統操作系統已經(jīng)不能滿(mǎn)足要求,必須更改或擴展操作系統使事務(wù)能穩定高效的執行。

首先,基于LogTM系統,操作系統負責對日志進(jìn)行創(chuàng )建和維護。它為每一個(gè)執行線(xiàn)程開(kāi)辟一片日志區域,并將該區域入口地址寫(xiě)到Log Base寄存器中,同時(shí)當某數據存入日志后使Log Pointer指針后移,用來(lái)存放新數據。當發(fā)生回滾,操作系統根據目前Log Pointer指針從后向前恢復數據直到Log Pointer與Log Base指向相同為止。

其次,當執行事務(wù)發(fā)生切換時(shí),操作系統可以通過(guò)擴展目前的TCB(線(xiàn)程控制塊)來(lái)對事務(wù)相關(guān)寄存器內容等信息進(jìn)行保存。

再次,當發(fā)生事務(wù)級線(xiàn)程切換時(shí),操作系統判斷切換原因(包括其他線(xiàn)程搶占、時(shí)間片到達、事務(wù)之間沖突等而執行的切換),通知調度器采取不同的切換策略或沖突策略來(lái)完成切換。

最后,由于中斷內新創(chuàng )建的事務(wù)和被中斷事務(wù)沖突而導致活鎖(被中斷事務(wù)掛起得不到執行,中斷內新創(chuàng )建事務(wù)由于沖突策略一直回滾——重新執行——回滾,也得不到執行),操作系統必須能夠記錄回滾次數并設定一個(gè)門(mén)限值,如果同一事務(wù)回滾數超過(guò)此門(mén)限,操作系統可以強行中止該事務(wù)而調度其他事務(wù)。

3 結論及展望

本文介紹TM的基本原理,并對當前主流TM系統LogTM進(jìn)行分析實(shí)現,得出以下結論:

⑴要實(shí)現高效的事務(wù)處理必須要有一個(gè)很好的基于事務(wù)模型的硬件結構。比如:LogTM,硬件專(zhuān)門(mén)為T(mén)M添加了LogBase、LogPointer等寄存器并改變了cache的結構,在cache中加入了讀(R)和寫(xiě)(W)標志位;這樣對事務(wù)版本管理以及沖突管理都帶來(lái)了前所未有的作用,這也是此TM結構優(yōu)越性的體現。

⑵要高效的進(jìn)行事務(wù)處理必須要有TM操作系統的支持,上文中提到了一些操作系統對LogTM的相關(guān)支持,但如果要完美的支持事務(wù)還需要不斷更改和優(yōu)化已有的操作系統,最終的目的是將操作系統事務(wù)化,并能很好的處理事務(wù)化的用戶(hù)級應用。

⑶目前TM系統(包括LogTM)雖然通過(guò)一些特有的結構和機制解決了事務(wù)處理的一些問(wèn)題,但是面對今后的發(fā)展,像多級嵌套事務(wù)的復雜應用、中斷事務(wù)化(特別是外部設備的中斷)、掛起事物與執行事務(wù)沖突問(wèn)題、被切換事務(wù)的執行選擇(重新調度后,被切換事務(wù)可能回滾也可能繼續接著(zhù)執行)等問(wèn)題都需要我們不斷的去研究,去尋找最優(yōu)的解決辦法一一攻克,所以對TM的研究任重而道遠。

參考文獻

[1]Yen, L. and J. Bobba, et al. LogTM-SE:Decoupling Hardware Transactional Memory from Caches. In Proc. of Thirteenth Annual International Symp. on High-Performance Computer Architecture.Feb.2007

[2]Moravan, M. J. and J. Bobba, et al. Supporting Nested Transactional Memory in LogTM. In Proc. of the Twelfth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 359-370,Oct.2006

[3]Moore, K. E. and J. Bobba, et al. LogTM: Log_based Transactional Memory. In Proc. of the Twelfth IEEE Symp. on High-Performance Computer Architecture, pages 258–269, Feb. 2006

[4]Herlihy, M. and J. E. B. Moss . Transactional Memory:Architectural Support for Lock-Free Data Structures. In Proc. of the 20th Annual International Symp. on Computer Architecture, pages 289–300, May 1993

[5]Hammond, L. and V. Wong, et al. Transactional Memory Coherence and Consistency. In Proc. of the 31st Annual Intl. Symp. on Computer Architecture, June 2004

[6]Hammond, L. and B. D. Carlstrom, et al. Programming with Transactional Coherence and Consistency(TCC), ASPLOS.04, October 7–13, 2004

更多計算機與外設信息請關(guān)注:21ic計算機與外設頻道


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 存儲結構

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>