GCC 4.7為C/C++帶來事務內存擴展
根據GCC Wiki上的介紹,在GCC的下一個版本GCC 4.7中將支持事務內存技術。GCC表示,事務內存擴展已經納入了GCC的工作日程中,在GCC 4.7中將可以使用。目前,該分支工作已成為Velox項目的一部分。
事務內存(Transactional Memory)是一種并行程序設計的方式,其來自于數據庫管理系統中的事務(Transaction)概念。GCC稱,“事務性內存旨在讓線程編程更簡單,特別是在利用了事務的不同線程間同步訪問數據方面。”
事務的精確語義在C++11/C1X的內存模型中進行了定義(GCC 4.7中已合并C++11),關于GCC對C++事務擴展的規范描述你可以參見這個文檔。GCC表示新的規范將很快發布。一份尚處于編寫中的文檔則透露GCC 4.7中的事務內存實現將非常靈活,其運行時庫(libitm)可同時基于STM、HTM或者混合事務內存系統。
GCC表示,目前這一支持還只是實驗性的。這也意味著,一些實現尚未完全完善。如果你在使用過程中發現性能不足,不該認為事務內存天生就是緩慢的,而應向GCC提交BUG。
GCC 4.7目前還處于開發階段,不過據透露,該版本變化頗大,而且可能還有幾個分支要合并。今年8月份,英特爾宣布開源Cilk Plus C和C++語言并行編程擴展,之后它便成為了GCC 4.7下的一個分支。
原文:http://www.iteye.com/news/23446
【編輯推薦】