[發明專利]在事務存儲器系統中高效地定位事務代碼塊有效
| 申請號: | 200880018481.1 | 申請日: | 2008-05-30 |
| 公開(公告)號: | CN101681293A | 公開(公告)日: | 2010-03-24 |
| 發明(設計)人: | D·卡拉漢;V·K·格羅弗 | 申請(專利權)人: | 微軟公司 |
| 主分類號: | G06F12/00 | 分類號: | G06F12/00 |
| 代理公司: | 上海專利商標事務所有限公司 | 代理人: | 陳 斌;錢靜芳 |
| 地址: | 美國華*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 事務 存儲器 系統 高效 定位 代碼 | ||
背景
軟件事務存儲器(STM)是類似于數據庫事務的、用于在并發計算中控制 對共享存儲器的訪問的并發控制機制。事務存儲器的上下文中的事務是執行對 共享存儲器的一系列讀取和寫入的代碼片段。STM用作傳統鎖定機制的替換。 程序員在代碼塊周圍放置聲明性注釋(例如,原子的)以指示這些代碼塊所需 要的安全特性,并且系統自動保證該塊相對于其它受保護的代碼區域原子地執 行。軟件事務存儲器編程模型防止了基于鎖的優先級倒置和死鎖問題。
軟件事務存儲器(STM)系統可以接受某些順序程序并且允許使用事務來同 時(例如并行地)執行這些程序的各部分。這些順序程序的源代碼通常是由程序員 通過使用各種類型的編程語言中的一種來編寫。源代碼通常被封裝在包含稍后由計 算機執行的邏輯的一個或多個函數中。此處寬泛地使用術語“函數”來涵蓋函數、 方法、過程、語句塊和/或由計算機執行的邏輯的其它部分。有了軟件事務存儲器 系統,可根據事務上下文來調用的每一個函數都必須具有兩個版本,一個可根據事 務來調用的版本和一個可根據非事務來調用的版本。確定要調用函數的哪一個版本 是上下文相關的。該確定必須在對虛函數的調用的運行時或通過函數指針來完成。
概述
公開了用于在事務存儲器系統中創建和/或定位事務代碼塊的各種技術和方 法。諸如軟件開發者等用戶可以用標識符來裝飾特定函數以便指示該特定函數是事 務安全的。然后創建軟件應用程序中的被標記為事務安全的每一個函數的普通版本 和事務版本。創建未被標記為事務安全的每一個函數的普通版本。對于被標記為事 務安全的每一個函數的普通版本,普通版本中的存根指針(stub?pointer)指向事務 版本。然后取決于應用程序上下文來調用函數的適當的版本。
在一個實現中,編譯器生成函數的事務和非事務版本以便與事務存儲器系統 一起使用。在編譯時,為軟件應用程序中的每一個函數分配存根指針。對于未被標 記未事務安全函數的每一個相應的函數,生成相應函數的普通版本,并且用運行時 出錯處理例程的入口點來填充存根指針。對于被標記為事務安全函數的每一個相應 的函數,創建是事務安全的相應函數的普通版本和事務版本的代碼。然后,在普通 版本的存根指針中,填充到事務版本的入口點。在事務版本的存根指針,填充到運 行時出錯處理例程的入口點。
提供本概述是為了以簡化的形式介紹將在以下詳細描述中進一步描述的 一些概念。本概述不旨在標識所要求保護的主題的關鍵特征或必要特征,也不 旨在用于幫助確定所要求保護的主題的范圍。
附圖簡述
圖1是一個實現的計算機系統的圖示。
圖2是在圖1的計算機系統上操作的一個實現的事務存儲器應用程序的圖示。
圖3是圖1的系統的一個實現的高級處理流程圖。
圖4是圖1的系統的一個實現的處理流程圖,其示出了作為編譯和/或鏈接過 程的一部分的、在使用代碼生成器來生成事務和非事務函數的代碼并填充存根指針 時所涉及的各階段。
圖5是圖1的系統的一個實現的示圖,其示出了用于取決于執行上下文來選 擇要調用的函數的適當的版本的決策樹。
圖6是一個實現的邏輯圖,其示出了兩個假想函數,一個僅具有普通版本而 另一個具有普通版本和事務版本。
詳細描述
為促進對本發明的原理的理解,現將對附圖中所示的各實施例加以參考,同 時也將用具體語言描述它們。不過,需要理解的是,并無意由此作出范圍上的限制。 對所述實施例的任何改變和進一步更改,以及在此所述的原理的進一步應用都可以 預期將是本領域技術人員通常能想到的。
本系統可以在一般上下文中被描述為事務存儲器系統,但是本系統還用于除 此之外的其它目的。在一個實現中,此處所描述的一個或多個技術可被實現為諸如 微軟.NET框架等框架程序內的、或來自為開發者提供開發軟件應用程序的平臺 任何其它類型的程序或服務的特征。在另一實現中,此處所描述的一個或多個技術 被實現為涉及開發在并發環境中執行的應用程序的其它應用程序的特征。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于微軟公司,未經微軟公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200880018481.1/2.html,轉載請聲明來源鉆瓜專利網。





