精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

Gil Tene:了解硬件事務內存

責任編輯:editor005

作者:Ralph Winzinger

2016-06-28 15:56:16

摘自:INFOQ

2016年紐約QCon上,Gil Tene在其演講“了解硬件事務內存”中介紹了硬件事務內存(hardware transactional memory,HTM)。僅僅終止產生數據競爭的事務,可以徹底降低阿姆達爾定律影響,加速并行運算。

2016年紐約QCon上,Gil Tene在其演講“了解硬件事務內存”中介紹了硬件事務內存(hardware transactional memory,HTM)。雖然HTM概念不是新的,現在終于有商業硬件支持了。HTM的目的是能夠支持在內存中原子的進行多地址寫入,以避免與其他合作線程產生不一致的情況。

Tene首先從解釋內存緩存的四個狀態開始:

無效 共享 排他 修改

同時他指出,考慮到硬件事務內存,還有兩個額外的狀態:

緩存行在操作中被讀取 緩存行在操作中被修改

如果發送下列情況,事務必須被終止:其他CPU希望寫入數據、讀取已經被修改的數據和CPU希望失效其緩存。

根據Tene說法,硬件事務內存最大優勢是擺脫串行塊。最終目的是完全并行執行,并且僅在實際訪問數據產生實際沖突時進行回滾。這和阿姆達爾定律有關,即當CPU核數越多,對運行速度的實際提升越少。如果應用程序中有10%的串行代碼,10核CPU最多只能提速5倍。要實際達到提速10倍,可能需要使用將近100核CPU。

Tene然后介紹了鎖競爭和數據競爭。例如當處理大型散列集合時,可能在讀寫完全不同的區域,但是整個散列集合都需要被加鎖。通常鎖競爭影響范圍會比數據競爭大很多,但是只有數據競爭才會影響CPU的并行工作。因此,僅僅終止產生數據競爭的事務,可以徹底降低阿姆達爾定律影響,加速并行運算。

對于Java同步塊,Tene解釋了沒有競爭的代碼庫可以和之前運行的速度相同。僅當發生實際數據沖突的地方,將會產生事務回滾,并且讓代碼并行的重新運行。對于Java應用程序,一旦Java虛擬機使用HTM,該過程是完全透明的,代碼上不需要做任何修改。這在Hotspot 8 Java虛擬機的40更新之后實現。Tene頁展示了簡單的基準測試數據,可視化的展示了硬件事務內存的效果:即使散列集合中又5%的寫比例,在增加更多CPU時,性能也能線性增加。

Gil Tene總結指出雖然對于開發者來說HTM使用是透明的,他們還是需要開始考慮應用程序中的數據競爭。多線程不應該修改一個變量,因為這樣會導致數據競爭,并因HTM的優勢無法被利用而無法提高運行速度。

請注意大部分QCon演講材料會在會議結束后的幾周后免費提供,演示文檔可以在大會網站進行下載。同時,您也可以在InfoQ網站上觀看關于這一主題對Gil Tene進行的采訪。

查看英文原文:Gil Tene: Understanding Hardware Transactional Memory

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 沙河市| 岳普湖县| 德令哈市| 峨边| 宁南县| 巴里| 嵊州市| 垦利县| 新沂市| 赤城县| 彰化县| 石阡县| 凤台县| 潼南县| 宁夏| 珠海市| 灵石县| 原阳县| 江口县| 丰原市| 抚顺市| 紫云| 友谊县| 无棣县| 乳山市| 海林市| 交口县| 额尔古纳市| 嘉禾县| 海伦市| 鹿泉市| 长宁县| 井冈山市| 游戏| 衡阳县| 中宁县| 镇江市| 兴城市| 泗洪县| 阿拉善左旗| 松滋市|