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

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>
      主站蜘蛛池模板: 富源县| 仁怀市| 曲沃县| 双辽市| 晋城| 桑日县| 商南县| 浑源县| 二连浩特市| 南通市| 龙口市| 山东| 宁乡县| 宜丰县| 同江市| 宁化县| 庆阳市| 珲春市| 庄浪县| 新河县| 威远县| 横山县| 枣强县| 浦江县| 肇东市| 育儿| 宣武区| 城口县| 南江县| 岑巩县| 汨罗市| 云和县| 台东县| 淄博市| 察哈| 临汾市| 句容市| 三河市| 鄂托克旗| 岳阳市| 安阳市|