[發明專利]一種硬件事務內存系統中的偽相聯多版本數據管理方法有效
| 申請號: | 201210125359.2 | 申請日: | 2012-04-25 |
| 公開(公告)號: | CN102722401A | 公開(公告)日: | 2012-10-10 |
| 發明(設計)人: | 馮丹;晏志超;江泓;譚玉娟 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 李佑宏 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 硬件 事務 內存 系統 中的 相聯 版本 數據管理 方法 | ||
技術領域
本發明屬于計算機硬件事務內存系統領域,具體涉及一種事務內存系統中多版本數據的管理方法。?
背景技術
事務內存系統將對共享數據的操作以事務為單位管理,使事務具備原子性和隔離性。其中,原子性表現為事務執行的結果要么是提交后生效,要么是撤銷后無效;隔離性表現為事務提交前其對共享數據的修改不被事務外的程序所感知。?
因此,每個事務需要將其執行期間對共享數據的修改記錄下來,同時為了應對事務因撤銷需要恢復原始狀態,被修改的共享數據的原始值也同樣要保存起來,并在一個事務結束(提交或者撤銷)時,將其中的新版本或者舊版本提交到內容一致的存儲空間中去,這些操作被稱之為事務內存系統中的版本管理,是事務內存系統的一個重要組成部分。?
同時,事務內存系統在多個事務并發執行期間,還要同時檢查事務之間的沖突情況,并根據沖突情況調度沖突事務按照一定的順序執行以確保共享數據的一致性。其中,事務沖突定義為多個事務的內存訪問操作同時訪問同一個共享數據,并且在這些訪問操作中至少有一個執行的是寫操作,相應的事務就因為對該共享數據的訪問而導致了事務沖突,事務內存系統中檢測和解決事務沖突的模塊被稱之為事務內存的沖突管?理模塊,同版本管理模塊一樣,也是事務內存系統的一個重要組成部分。?
現有硬件事務內存系統中的額外開銷主要來自于版本管理中數據的移動操作和對于沖突事務調度時造成的額外的撤銷和等待操作。現有的版本管理方式多將事務新舊版本數據存儲在不同的存儲層次上,這樣會帶來數據移動的開銷。專利文獻CN201010231134.6中提出了一種采用重定向表格的方式避免數據移動的方法,但是需要維護重定向表格,需要增加額外的硬件開銷。同時針對沖突的事務,并發對共享數據的訪問照成的沖突在很多情況下是可以通過一定的調度在保證共享數據一致的前提下,使更多的事務可以并發的執行,而不是像傳統的方式那樣將沖突的事務暫停或者撤銷。?
但是,現有硬件事務內存系統在數據版本管理方式上要么存在數據額外移動開銷的弊病,要么是需要額外增加硬件模塊去消除這類開銷。同時,現有的事務內存系統沖突管理方式對于多個并發事務同時對同一個共享數據的修改通常采取了比較嚴格的調度控制策略,使過多的沖突事務被暫停或撤銷,降低了并行程序的線程級并行度。?
偽相聯數據緩存技術最早被提出是為了解決傳統直接映射數據緩存中緩存塊命中率過低的弊端,該技術將在傳統直接映射數據緩存技術中需要被替換出數據緩存的數據塊放置在相應的偽相聯空間上(偽相聯空間實際上就是將緩存塊地址中SET地址的最高位反轉后的那個空間),后續訪問在直接映射空間沒有找到相應數據塊時,還會直接去檢查偽相聯的空間,以降低因為緩存塊缺失導致需要訪問內存而造成更大的訪存開銷。?
多版本并發控制技術在傳統的分布式系統中應用比較多,主要是將數據被修改的版本按照一定的順序維持其依賴關系,提高整個系統的并發性,傳統的方式一般在實現中采用軟件方式在分布式系統中實現這個功能。?
發明內容
本發明的目的在于提出一種硬件事務內存系統中的偽相聯多版本數據管理方法,將偽相聯緩存一致性協議引入到硬件事務內存系統中,同時在偽相聯緩存一直性協議中添加對共享數據多版本的管理,通過維護多版本數據之間的相互依賴關系來調度沖突的事務,從而可以避免不同版本數據在事務結束時的移動,同時使系統支持共享數據的多版本管理,維護多版本數據值的依賴關系調度沖突的事務同時運行,降低因為沖突而直接簡單地撤銷或者掛起沖突的事務。采用本發明可以挖掘出更大的并發性,提高系統的性能。?
實現本發明的目的所采用的具體技術方案如下。?
一種硬件事務內存系統中的偽相聯多版本數據管理方法,用于對新加入硬件事務內存系統中的事務進行并發處理控制,其具體步驟如下:?
(1)檢查硬件事務內存系統中已有的多版本共享數據的事務依賴關系,同時判斷該事務是否可以正常調度執行;?
(2)如果判斷該事務可能會引起事務環狀依賴,撤銷該事務,或等待重新執行;?
(3)如果該事務可以正常調度,?
對于讀操作,則指派未提交的共享數據的多個版本中的任一個版本?給該事務,并將該事務的依賴關系加入到所述多版本共享數據的事務依賴關系中去,最后再訪問該任一個版本數據;?
對于寫操作,則在未提交的共享數據的多個版本中添加一個新的版本給該事務,并將該事務的依賴關系加入到多版本共享數據的事務依賴關系中去,最后再訪問該新的版本的數據。?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210125359.2/2.html,轉載請聲明來源鉆瓜專利網。





