[發明專利]一種硬件事務內存系統中避免數據移動的方法有效
| 申請號: | 201010231134.6 | 申請日: | 2010-07-23 |
| 公開(公告)號: | CN101923486A | 公開(公告)日: | 2010-12-22 |
| 發明(設計)人: | 劉景寧;馮丹;童薇;施展;田磊;晏志超;譚玉娟 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F9/38 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 朱仁玲 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 硬件 事務 內存 系統 避免 數據 移動 方法 | ||
技術領域
本發明屬于計算機系統結構領域,具體涉及一種利用重定向方法擴展事務內存系統中讀、寫操作的執行路徑,避免數據的移動,節約了數據移動的時間,從而達到提高了系統的性能的目的。
背景技術
由于功耗的原因,處理器廠商都轉型利用片上多核的方式提高處理器的性能,運行在多核上的多個線程在進行數據通信的時候,需要格外小心,防止出現數據修改不一致的現象,傳統的鎖機制,可以確保系統的正確性,但是抑制了系統的并發性,事務內存系統(TransactionalMemory)采用事務的概念,封裝指定的代碼段,使之具備原子性和隔離型,即降低用戶編程的復雜度,同時也提供了較好的并發性。
事務內存系統是一種并行編程模型,其實現涉及沖突檢測,沖突解決和版本管理這三個主要功能模塊,其中版本管理是為了管理事務執行前后修改的數據版本。傳統的數據版本管理方式采用如下所述的兩種模式管理數據,一種是將事務修改的數據緩存到一個容量有限的緩存中,當事務提交的時候,將該緩存數據寫回到原始地址中,而當事務撤銷時,將該緩存中的數據置為無效狀態;另外一種是修改數據前,將原始地址的舊數據讀出來,保存到另外一個區域中,然后將事務修改的數據寫到原始地址中,當事務提交時,將保存到另外一個區域中的舊數據丟棄,而當事務撤銷時,則需要將保存的舊數據重新寫回到原始地址中。可以看出,當事務撤銷時,采用前者可以避免數據移動;當事務提交時,采用后者可以避免數據移動。同時需要注意的是,前者還有一個缺點即在于內部緩存的空間是有限的,當緩存空間不夠用的時候,不論事務提交還是撤銷,都需要額外的數據移動。所以這兩種方式在雖然在一方面可以避免數據的移動,但是在另外一方面卻會帶來額外的數據移動。
這種數據移動會帶來一系列副作用,可以總結出,額外的數據移動帶來的副作用包括以下幾個部分:1.本身數據移動將延長事務執行的時間,2.由于數據移動過程中,不能釋放對共享數據的所有權,會導致其它線程對共享數據訪問的沖突,阻止了其它事務的執行,3.延長事務的執行時間,可能導致其它的原本不會出現沖突的事務由于沖突被撤銷,浪費了之前執行的工作。特別是在未來眾核處理器環境下,多線程之間內存競爭的情況更加嚴重的條件下,額外的數據移動時間將會嚴重制約系統的并發性。
發明內容
本發明的目的在于提出一種硬件事務內存模型中避免數據移動的方法,在事務內執行寫操作的時候,直接將寫操作寫的內容寫到一個重定向的地址中,同時將重定向信息寫入重定向的表格中,最后根據事務最終執行的情況(事務提交或事務撤銷)更新重定向表格中的重定向信息,利用重定向信息協助訪問所需的數據,這樣任何情況下只需要一次的寫數據操作,減少了數據移動的開銷,可以挖掘出更大的并發性,提高系統的性能。
本發明包括一個地址重定向表格、事務內對寫操作的處理步驟、事務內對讀操作的處理步驟、事務外對讀操作的處理步驟和事務外對寫操作的處理步驟。本發明利用地址重定向表格,將事務內存中運行事務的寫操作重定向到一個空閑的地址空間中,在重定向表格中記錄下原始地址和重定向地址,原始地址用來保存事務操作之前的數據的值,重定向地址用來保存事務操作修改后的數據的值。當本事務正常提交的時候,則將以后對原始地址的訪問重定向到重定向地址,如果事務遇到沖突需要撤銷,則將重定向表格中的相關條目清空,后續操作直接訪問原始地址。不論事務是提交還是撤銷,事務內寫操作都僅僅進行一次寫操作,避免了寫相同地址空間時需要保存原始數據而造成的數據移動。
事務內存中對數據寫操作重定向后,后續數據訪問需要確定訪問地址是否被重定向,以確保后續操作訪問到實際需要的數據,這就包括事務內對讀操作的處理步驟,事務外對讀、寫操作的處理步驟。由于事務在執行過程中,其對系統的修改對外是不可見的,事務提交時,全部修改變為可見,而當事務撤銷時,所有的修改都要放棄。
實現本發明的目的所采用的具體技術方案如下:
一種硬件事務內存系統中避免數據移動的方法,利用地址重定向表格,將事務內存中運行事務的寫操作重定向到一個空閑的地址空間中,并在所述重定向表格中記錄下原始地址和重定向地址,原始地址用來保存事務操作之前的數據的值,重定向地址用來保存事務操作修改后的數據的值,該方法具體步驟如下:
(1)檢查重定向表格,確認寫操作訪問的地址是否在全局可見的已經提交的重定向條目和本事務預測添加的重定向條目的原始地址集合的范圍中;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010231134.6/2.html,轉載請聲明來源鉆瓜專利網。





