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






