999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

HL-TLS:支持熱點的線程級猜測編譯實現

2015-12-06 06:11:12李春強尚云海盧永江
計算機工程 2015年11期

金 躍,李春強,尚云海,盧永江

(浙江大學超大規模集成電路設計研究所,杭州310027)

HL-TLS:支持熱點的線程級猜測編譯實現

金 躍,李春強,尚云海,盧永江

(浙江大學超大規模集成電路設計研究所,杭州310027)

猜測并行化編譯,即線程級猜測(TLS)編譯,可將原來順序運行的程序并行化。但由于猜測數據的不確定性引起的數據管理開銷過大,以及猜測線程失敗引起的線程回滾開銷,使得并行后的執行性能較低。針對上述問題,提出一種HL-TLS并行化編譯優化框架。HL-TLS能有效地標記并行化的循環體為熱點循環體,采用對最高層次熱點循環體進行更激進的并行化的方式提高性能,而對非熱點循環體采用保守的順序執行以減少開銷。實驗結果表明,使用HL-TLS編譯優化框架,實驗程序的執行效率可以提高20%。

并行計算;多線程;猜測執行;線程級猜測并行;熱點循環;動態轉換執行機制

1 概述

循環體的并行化是當今多核系統中提升計算機性能的一個編譯研究熱點。線程級猜測(Thread Level Speculation,TLS)技術能有效提高并行化效率。TLS技術在假設不存在數據依賴的條件下,延后檢查數據沖突,積極地對程序進行并行化,從而提高程序執行的性能。使用硬件TLS技術[1-3],雖然取得較好的效果,但是往往代價昂貴,并且設計復雜。軟件TLS編譯技術[4-6]相比硬件來說,有更好的可擴展性,但存在資源開銷大的問題,如猜測線程間通信的開銷、猜測數據管理一致性的開銷等,特別是當猜測線程執行時如果檢測到數據沖突發生,往往需要將整個線程回滾(Rollback)[6]到安全點,整個程序才能繼續保持數據一致性。當猜測錯誤達到一定比例時,線程回滾形成的CPU資源浪費會導致TLS猜測并行化執行時間比順序執行時間更長。

HL-TLS(Hot Loops-TLS)并行編譯優化框架編譯出的程序在執行時,編譯時插入的樁代碼能有效地標記可以并行化執行的熱點循環體,并對循環體的并行化執行方式進行動態轉換,轉換后的熱點循環體執行方式根據熱點程度不同分為多個層次。在HL-TLS并行編譯優化框架中,第一層次熱點循環體先采用順序提交的TLS并行化執行方式;TLS并行化執行過程中,如果回滾次數低于一定程度,則此循環體被標記為第二層次熱點循環體,被動態轉換為激進的直接提交(In-Place)[7-9]的TLS執行方式,從而進一步提升性能;對于TLS執行中回滾次數高于一定程度的循環體,將被標記為非熱點循環體,被動態轉換為順序執行,從而避免開銷過大而產生TLS執行效率低于順序執行的情況。

針對TLS編譯技術的上述問題,本文提出HL-TLS編譯優化框架,在TLS編譯技術的基礎上,引入熱點循環體(Hot Loops,HL)的概念來解決現有TLS編譯技術因線程回滾過多導致資源開銷過大的問題,并對熱點循環體采用更為激進的并行化執行策略,從而提高程序性能。

2 相關研究

LRPD test[10]系統地實現了軟件TLS并行化技術。在LRPD test中,數據依賴在線程執行的最后檢測,相比同步并行化技術(synchronization parallel)減少了等待和執行時檢查的時間,從而提高了性能。此后RLRPD test[11]基于LRPD test做了改進,并使用了sliding w indow策略,從而控制了線程間通信的開銷。

文獻[12-13]針對循環體進行TLS研究。其中文獻[12]實現了代價驅動的編譯器框架,其使用代價描述決定了哪些可以被TLS并行,而哪些不適合。

本文的HL-TLS框架不同于上文提到的框架。首先,HL-TLS是一個全新的概念,以上文章都沒有針對HL-TLS進行研究。其次,雖然HL-TLS和文獻[12]中的cost-driven compiler一樣是代價驅動的,但是后者是靜態計算代價,而在HL-TLS是動態計算并決定的。但是以上文獻都沒有提到動態轉換執行機制的技術。

文獻[14-15]實現了編譯器輔助TLS并行化,提高了編程效率,但是對性能并沒有改進。

文獻[16]總結了TLS并行技術,并從生命周期的角度提出新的分類方法,但是并未提出新的框架,也并未提高性能。

與本文框架最為接近的是文獻[6-7]。文獻[7]提出了一個輕量級的TLS軟件并行框架,并驗證了性能提升和可行性。文獻[6]對文獻[7]進行改進,在數據管理上采用新的數據結構以節省緩存開銷。本文HL-TLS框架的不同之處在于:(1)采用了新框架,并提出了TLS熱點循環體的概念,針對TLS最高層次的熱點循環體,可以采用激進的直接提交的TLS策略,進一步提升程序性能;(2)本文采用了執行機制動態轉換,程序將使用最適合的執行方式,從而最大程度上保證程序的性能提升。

3 TLS編譯技術

TLS編譯技術,是一種并行化計算編譯技術。當程序在編譯時不確定是否存在數據依賴關系時,編譯器往往保守地認為存在數據依賴關系,從而阻礙了程序的并行化編譯。但是運用TLS編譯技術,可以先假設程序中不存在數據沖突,將程序并行化編譯以提高性能,而將數據沖突檢測延后。

為了解決數據沖突的問題,TLS編譯技術對猜測線程產生的數據進行了一定管理,管理方法采用2種方式[6]:

(1)每個猜測線程產生的數據采用專門的緩存(Buffer)管理,不直接寫到內存(M emory);在猜測線程的提交(Comm it)階段,再將最終數據從緩存中提交到內存中。這種方式稱為順序提交(Serial-Comm it)。

(2)每個猜測線程產生的數據直接寫到內存(M emory),寫入前的內存數據備份到專門的緩存(Buffer)中;在猜測線程的提交(Comm it)階段,如果檢測到數據沖突,則內存中的數據被取消,采用備份在緩存中的原數據進行恢復。這種方式稱為直接提交(In-Place Comm it)。

直接提交相對順序提交而言,是一種激進的數據管理方法。直接提交假設猜測線程產生的猜測數據是正確的,且不存在將數據從緩存中提交到內存的階段,因此如果程序中存在的數據沖突較少時,即回滾次數相對較小時,則采用直接提交將比順序提交可以獲得更好的性能。但是一旦數據沖突超過一定比例,直接提交方式的內存恢復的開銷將引起性能急劇下降,并抵消并行化帶來的性能提升,因而此時性能比順序提交要差。另外,在TLS編譯技術中,當程序執行時沖突比例超過一定閾值時,TLS并行不管采用直接提交或是順序提交,其執行時間將會超過順序執行時間。傳統的TLS編譯技術一般假設程序中存在一定比例的數據沖突,因此使用的數據管理方式往往是比較保守的順序提交方式。

圖1(a)展示了一個循環體。假設只有在執行時才知道數組成員間的依賴關系,則為了保證程序的正確性,這段程序只能順序執行,如圖1(b)所示。但是如果運用TLS編譯技術,則可以將這段程序并行化執行。剛開始猜測線程執行時形成的數據,稱為猜測數據,因為并沒有檢驗其數據一致性,所以猜測數據是不安全的;當猜測線程執行完畢,如果沒有檢測到數據沖突,則該猜測線程產生的數據是安全的,此猜測線程產生的猜測數據被確認寫入內存,這個過程稱為提交;如果檢測到數據沖突,線程需要撤銷(Squash)到安全狀態,并進行回滾操作,以保障數據一致性,這個過程稱為撤銷并回滾。

如圖1(c)中所示,線程1對arrary[3]進行寫操作,線程3對array[3]進行讀操作,而且讀操作發生在寫操作前,即RAW(Read-A fter-W rite)沖突,則線程3必須回滾到安全點重新執行。

圖1 線程猜測循環過程

綜上所述,猜測線程的生命周期包括了空閑、猜測化執行、提交或檢測到沖突進行撤銷并回滾等階段,如圖2所示。

圖2 線程猜測的生命周期

4 HL-TLS框架

本文在TLS編譯技術的基礎上提出了HL-TLS并行化編譯框架:標記能有效并行化的循環體為熱點循環體(HL),采用對最高層次的熱點循環體進行更激進的并行化的方式提高性能,而對非熱點循環體采用保守的執行方式以減少開銷。

HL-TLS編譯出的程序,除循環體的線程化部分外,還包含2個重要部件:熱點循環體判斷部件和執行機制動態轉換部件。

熱點循環體判斷部件的任務是尋找符合熱點條件的循環體。熱點循環體判斷部件將會使用如下3個條件:

(1)循環體所在的函數被調用多次,超過HL-TLS定義的臨界調用次數——N-HOT-CALL;循環體順序執行時,所用的時間超過HL-TLS定義的臨界執行時間——T-HOT-EXE。

(2)循環體TLS執行后,沖突比例不超過HL-TLS定義的臨界沖突比例1——P-ROLLBACK1。

(3)循環體TLS執行后,沖突比例超過HL-TLS定義的臨界沖突比例1——P-ROLLBACK1,但不超過HL-TLS定義的臨界沖突比例2——P-ROLLBACK2。

執行機制動態轉換部件的任務是根據以上條件決定的循環體熱點程度選擇該循環體的執行方式:順序執行、順序提交的TLS并行化執行和直接提交的TLS并行化執行。

循環體在程序執行初期均為非熱點循環體,采用保守的順序執行;當符合熱點條件1時,HL-TLS將其標記為第一層次熱點循環體,循環體將采用順序提交的TLS并行化執行;到達下次執行前,將根據是否符合熱點條件2來決定是否轉換為激進的直接提交的TLS并行化執行,如果沖突比例小于P-ROLLBACK1,則HL-TLS將其標記為第二層次熱點循環體,采用激進的直接提交的TLS并行化執行此循環體,以提高執行效率;如果沖突比例大于P-ROLLBACK 1但是小于P-ROLLBACK2,即滿足熱點條件3,此循環體仍然作為第一層次熱點采用順序提交的TLS并行化執行;如果沖突比例超過P-ROLLBACK 2,過多的數據沖突造成的回滾操作將浪費大量CPU資源,判定此循環體不適合TLS并行化,HL-TLS將其標記為非熱點循環體,此后執行將轉為保守的順序執行方式。

4.1 熱點判斷

如前文所述,熱點判斷的條件有3點。循環體滿足條件1或者條件3時,為第一層次熱點循環體,將采用順序提交的TLS方式執行;循環體滿足條件2時,為第二層次,即最高層次熱點循環體,將采用激進的直接提交的TLS方式執行,以提高程序性能。如果3個條件皆不滿足或者TLS執行后發現沖突比例超過了P-ROLLBACK 2時,此循環體將被標記為非熱點循環體,其后續的執行方式將使用順序執行。使用各個條件來判斷熱點循環體的原因如下:

(1)不滿足條件1:如果循環體所在的函數沒有被多次調用(調用次數小于N-HOT-CALL),循環體并行化的意義不大,繼續延續順序執行。如果循環體的單次執行時間很短(小于T-HOT-EXE),則可以判定將來并行化帶來的性能提升將被創建線程的開銷所抵消,循環體不能被判定為熱點循環體,將繼續延續順序執行;

(2)不滿足條件2或者條件3:如果沖突比例過高(HL-TLS中定義為大于P-ROLLBACK 2),則數據沖突而回滾整個線程造成的開銷將抵消并行帶來的優勢,甚至超過了帶來的優勢,即TLS并行化執行時間超過順序執行時間的情況。

(3)區分第一層次和第二層次熱點循環體:如前文所述,如果回滾比例在一定范圍內(HL-TLS中定義為小于P-ROLLBACK1),則直接提交的TLS并行執行方式可以獲得比順序提交的TLS并行執行方式更快的執行速度。第二層次熱點循環體采用的是直接提交的TLS并行執行,其回滾比例小于P-ROLLBACK1;第一層次熱點循環體采用的是順序提交的TLS并行執行,其回滾比例大于P-ROLLBACK 1但小于P-ROLLBACK 2。當回滾比例大于P-ROLLBACK2,此循環體為非熱點循環體。

熱點機制的算法實現如下:

判定為熱點循環體的優勢在于,下一次執行此循環體時,將根據循環體為第一層次或第二層次熱點循環體的信息,來選擇下一次執行方式。如果此循環體被判定為第一層次熱點循環體,則說明此循環體滿足了順序提交的TLS并行化執行的前提條件,下次執行則會采用順序提交的TLS并行化執行。如果此循環體被判定為第二層次熱點,則說明此循環體用TLS來并行化將有極大可能給程序帶來性能的提升,此時,可以采用更加激進的策略去TLS并行這段程序塊,即采用直接提交的數據管理機制。

相反,如果這段循環體沒有被判定為第一層或第二層次熱點循環體,則此循環體為非熱點循環體,只能夠保守地對它進行順序執行。在這種情況下,通常是因為程序執行時遇到了過多的沖突,此時如果仍然采用TLS并行化策略,將會導致開銷(沖突檢測開銷、回滾開銷)帶來的性能下降大過并行化帶來的性能提升。此時,相比較現行其他的TLS策略,HL-TLS編譯優化框架有利于避免這種情況的發生從而大大減少了不必要的開銷。

使用到的宏、數據結構和函數接口如表1所示。

表1 熱點判斷部件用到的結構體以及函數接口

4.2 執行機制動態轉換

從上節可知,執行機制的動態轉換依賴于熱點判斷部件。對于循環體運用什么方式的執行機制,是由熱點判斷部件決定的。這種動態的執行方式的轉化,解決了因TLS并行帶來的并行性能低于順序執行性能的問題;并且因更加激進的TLS策略的應用,一定程度上提高了程序的性能。如圖3所示,在HL-TLS框架中的動態轉換執行機制分為下面2個方面:

(1)發生在循環體多次調用之間。根據熱點判斷部件,可以知道循環體是否被判定為第一層或第二層次熱點循環體。如果循環體是第一層次熱點循環體,則下次執行循環體時,將用TLS并行化機制;如果循環體是第二層次循環體,則使用更加激進的直接提交的TLS并行化執行策略;否則,此循環體將使用保守的順序化執行機制。

(2)發生在循環體執行時。如前文所述,多次執行循環體時,會根據前幾次的執行情況,來指導下一次執行。不僅如此,在循環體執行的時候,也會根據循環體內部前幾次循環執行后的數據沖突情況,來指導循環體剩下部分的執行。如果前幾次循環出現沖突,那么在剩下的循環體中,出現沖突的可能性就會大大增加。所以,在前幾次循環中,數據沖突出現一定的比例之后,就會轉而用順序或同步并行的方法去執行剩下的部分。

圖3 動態轉換執行機制

4.3 程序執行流程

運用HL-TLS框架時,編譯器對源代碼中每個可以TLS并行化執行的循環體前插入一段熱點判斷和執行機制動態轉換的代碼,并對其進行并行化編譯,程序執行時,通過HL-TLS的熱點判斷和執行機制動態轉換部件,進行第一層次、第二層次熱點的判斷,并轉換到最適合此循環體的執行方式執行。

(1)順序執行程序,跟蹤循環體是否滿足熱點條件1;

(2)如果不滿足條件1,則此循環體被判定為非熱點循環體,循環體繼續采用順序執行;

(3)如果滿足條件1,則此循環體被判定為第一層次熱點循環體,循環體的下次執行方式為順序提交的TLS并行,TLS執行后判斷是否滿足熱點條件2或者3;

(4)如果滿足熱點條件2,則此循環體被判定為第二層次熱點循環體,此后循環體的猜測并行化執行將采用更為激進的直接提交的TLS執行方式;

(5)如果不滿足條件2,但滿足條件3,則此循環體延續為第一層次熱點循環體,此后的執行方式為順序提交的TLS執行;

(6)如果既不滿足條件2,也不滿足條件3,則此循環體將被判定為非熱點循環體,此后的執行方式為保守地順序執行。

循環體執行的流程如圖4所示。

圖4 HL-TLS執行流程

在HL-TLS框架中,熱點判斷部件以及執行機制動態轉換的采用,有效減少了因回滾引起的開銷,解決了因開銷過大而引起的性能降低的問題;而被標記為第二層次熱點之后,采用更為激進的直接提交的TLS方式執行循環體,在一定程度上提高了其執行的性能。

5 性能比較與分析

將HL-TLS和SpLSC[7]做性能比較。SpLSC是一個輕量級的TLS編譯框架,是目前相對實用且性能表現比較好的實現框架。SpLSC假設程序中會存在一定的沖突比例,采用順序提交的TLS執行方式,且其執行方式在程序執行時不可改變。相比較SpLSC來說,HL-TLS引進了熱點循環體的概念和分析,并運用了執行機制的動態轉換,且主要在以下2個方面對SpLSC體現了優勢:

(1)引進熱點循環體判斷,能有效減少不必要的開銷,特別是避免因回滾過多引起的TLS并行性能比順序性能還低的問題;

(2)對于最終判定為第二層次熱點的循環體,HL-TLS將采用更加激進的方案進行TLS并行,所以在一定程度上能提高加速比。

實驗所用的處理器為Intel Xeon 8核處理器,頻率3.47 GHz,cache大小為12 288 KB。所用的編譯器為gcc-4.6.3,使用-O2選項。實驗采用的測試用例來自以下3個benchmark:SciM ark2,BYTEmark和JOlden。實驗結果如表2所示,SpLSC和HL-TLS加速比皆為和順序執行相比較的結果。

表2 測試用例實驗結果

如表2所示,4核上的HL-TLS執行速度平均要比順序執行提高了79.7%,比SpLSC提高了19.8%。其中NNFW性能提升較為明顯,比SpLSC提升了將近40%。

8核上的HL-TLS執行速度平均要比順序執行提高了152.3%,比SpLSC提高了20.0%。其中SparseM ult性能提升較為明顯,比SpLSC提升了將近40%。而在IDEA Dekey中性能略微下降了0.8%。

從實驗結果中可以看到,除了IDEA Dekey在8核HL-TLS比SpLSC要慢,HL-TLS的性能均有所提升,不管是在4核還是8核上,執行速度平均要比SpLSC提高了20%。HL-TLS性能有所提升的主要原因是HL-TLS在執行時識別了循環體熱點層次,其后最高層次熱點循環體將采用更加激進的直接提交的數據管理方案進行TLS并行,因此得到了更多的性能提升。

IDEA Dekey在8核中,HL-TLS執行速度比SpLSC低0.9%。分析運行結果發現,IDEA Dekey運行時猜測線程產生的數據有較高的比例是猜測錯誤的,因此IDEA Dekey適合使用順序提交的TLS并行方式。在IDEA Dekey中,HL-TLS沒有體現出對SpLSC的優勢,HL-TLS熱點判斷模塊產生的額外開銷導致了性能略微有所下降。

除了動態地采用直接提交的TLS并行策略提升性能,HL-TLS還將動態地識別那些不適合TLS并行化的循環體轉換為保守地順序執行。如表3所示,在EM 3D中,HL-TLS是SpLSC性能的2倍左右。其中,SpLSC性能明顯低于順序執行,且不到順序執行的50%。而HL-TLS性能接近于順序執行。SpLCS引起的回滾數量為:20(4核)、60(8核)。例如,循環體進行TLS并行執行時如果數據沖突過多此時線程撤銷并回滾的開銷已經抵消了并行化帶來的優勢,HL-TLS將采用順序執行,從而避免了如SpLSC的性能明顯下降的問題。

表3 SpLSC中開銷過大的情況

因此,從總體上看,無論循環體猜測并行執行時回滾次數多少,HL-TLS都體現出了對SpLSC的優勢。

6 結束語

本文提出一種新的TLS編譯框架HL-TLS。該框架有效解決了現有TLS編譯技術中猜測并行執行回滾開銷過大、性能提高有限的問題。HL-TLS對第二層次的熱點循環體采用更加激進的TLS并行化策略,從而進一步提高了并行執行的性能。而針對回滾過多影響性能、甚至導致并行性能低于順序執行的情況,HL-TLS能夠加以識別并動態轉換執行機制,從而避免此種問題的發生。實驗結果表明,HL-TLS在一定程度上提高了程序的性能,并且解決了開銷過大的問題。下一步的研究方向是在HOT機制中加入同步并行的HOT判斷,并在動態轉換執行機制中進行同步并行方案,實現順序、同步并行、順序提交TLS并行和直接提交TLS并行執行方式的動態轉換,從而進一步挖掘程序的并行化能力。

[1] Steffan JG,Colohan C G,Zhai A,et al.A Scalable Approach for Thread Level Speculation[C]//Proceedings of the 27th Annual International Sym posium on Computing Architecture.New York,USA:ACM Press,2000:1-12.

[2] 賴 鑫,劉 聰,王志英.支持線程級猜測的存儲體系結構設計[J].計算機工程,2012,38(24):228-234.

[3] Krishnan V,Torrellas J.A Chip-multiprocessor Architecture with Speculative Multithreading[J].IEEE Transactions on Computings,1999,48(9):866-880.

[4] Cintra M,Llanos D R.Toward Efficient and Robust Software Speculative Parallelization on Multiprocessors[C]//Proceedings of the 9th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming.New York,USA:ACM Press,2003:13-24.

[5] Liu W,Tuck J,Ceze L,et al.POSH:A TLS Compiler that Exploits Program Structure[C]//Proceedings of the 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming.New York,USA:ACM Press,2006:158-167.

[6] Yiapanis P,Rosas-Ham D,Brow n G,et al.Optimizing Software Runtime Systems for Speculative Parallelization[J].ACM Transactions on Architecture and Code Optimization,2013,9(4):39-51.

[7] Oancea C E,Mycroft A.Software Thread-level Speculation:An Optimistic Library Implementation[C]//Proceedings of the 1st International Workshop on Multicore Software Engineering.New York,USA:ACM Press,2008:23-32.

[8] Oancea C E,Mycroft A.A Lightweight In-place Implementation for Software Thread-level Speculation[C]// Proceedings of the 21st Annual Symposium on Parallelism in Algorithm s and Architectures.New York,USA:ACM Press,2009:223-232.

[9] Oancea C E,Mycroft A.Set-congruence Dynamic Analysis for Thread-level Speculation[M].Berlin,Germany:Springer-Verlag,2008:156-171.

[10] Rauchwerger L,Padua D.The LRPD Test:Speculative Run-time Parallelization of Loops with Privatization and Reduction Parallelization[C]//Proceedings of ACM SIGPLAN'95.New York,USA:ACM Press,1995:218-232.

[11] Dang F,Yu H,Rauchwerger L.The R-LRPD Test:Speculative Parallelization of Partially Parallel Loops,TX77843-3112[R].College Station,USA:Texas A&M University,2001.

[12] Du Zhaohui,Lim Chu Cheow,Li Xiaofeng,et al.A Cost-driven Compilation Framework for Speculative Parallelization of Sequential Program s[C]//Proceedings of ACM SIGPLAN'04.New York,USA:ACM Press,2004:71-81.

[13] Dubey P K,O'Brien K,O'Brien K M,et al.Singleprogram Speculative Multithreading(SPSM)Architecture[C]//Proceedings of PACT'95.Manchester,UK:[s.n.],1995:109-121.

[14] Xiang Lingxiang,Scott M L.Compiler Aided Manual Speculation for High Performance Concurrent Data Structures[C]//Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming.New York,USA:ACM Press,2013:47-56.

[15] A ldea S,Estebanez A,Llanos D R,et al.A New GCC Plugin-based Compiler Pass to Add Support for Thread level Speculation into OpenMP[C]//Proceedings of EPP'14.Porto,Portugal:Springer International Publishing,2014:234-245.

[16] 郭 輝,王 瓊,沈 立,等.多核平臺上的線程級猜測執行綜述[J].計算機科學,2014,41(1):16-21.

編輯索書志

HL-TLS:Com piling Implementation of Thread Level Speculation Supporting Hot Spot

JIN Yue,LI Chunqiang,SHANG Yunhai,LU Yongjiang
(Institute of VLSIDesign,Zhejiang University,Hangzhou 310027,China)

Thread Level Speculation(TLS)compiling can effectively improve the parallel efficiency.But the overheads,caused by the management of the speculative data and the failure of speculative thread's rollback,decreases the improvement of the parallel performance.Aiming at the too big overhead of data management and thread rollback,the Hot Loops-TLS(HL-TLS)framework is proposed.HL-TLS marks the loops which can be efficiently paralleled as HL,using a more eager parallel way on HL to improve performance,while using conservative sequence way on non-HL to reduce the overheads.Experimental result shows that HL-TLS im proves 20%performance.

parallel computing;multi-thread;speculative execution;Thread Level Speculation(TLS)parallel;Hot Loops(HL);dynamic transformation execution mechanism

金 躍,李春強,尚云海,等.HL-TLS:支持熱點的線程級猜測編譯實現[J].計算機工程,2015,41(11):77-83.

英文引用格式:Jin Yue,Li Chunqiang,Shang Yunhai,et al.HL-TLS:Com piling Implementation of Thread Level Speculation Supporting Hot Spot[J].Computer Engineering,2015,41(11):77-83.

1000-3428(2015)11-0077-07

A

TP311

10.3969/j.issn.1000-3428.2015.11.014

國家自然科學基金資助項目(61204111);“核高基”重大專項(2010ZX01030-001-001-006)。

金 躍(1990-),男,碩士研究生,主研方向:編譯器優化,并行計算;李春強、尚云海,碩士;盧永江,副教授、博士。

2014-11-06

2014-12-07 E-m ail:xuyv@zju.edu.cn

主站蜘蛛池模板: 国产精品免费露脸视频| 久久这里只精品国产99热8| 亚洲精品日产精品乱码不卡| 思思热精品在线8| 丁香五月激情图片| 日韩无码真实干出血视频| 亚洲视频欧美不卡| 日本久久网站| 欧美成人午夜视频免看| 狠狠干综合| 97在线国产视频| 国产成人久视频免费| 无码区日韩专区免费系列 | 亚洲国产亚综合在线区| 亚洲a级在线观看| 日韩人妻少妇一区二区| 国产网站免费观看| 99免费视频观看| 四虎永久在线精品国产免费| 国产一级片网址| 久久这里只有精品国产99| 4虎影视国产在线观看精品| 国产色伊人| 成年A级毛片| 欧美日韩在线国产| 国产亚洲成AⅤ人片在线观看| 国产精品无码在线看| 日本高清视频在线www色| 亚洲av无码片一区二区三区| 国产内射在线观看| 亚洲天堂视频网站| 国产微拍一区| 国产在线视频自拍| 日韩精品无码免费专网站| 国产精品欧美亚洲韩国日本不卡| 国产在线98福利播放视频免费| 久草视频精品| 好紧好深好大乳无码中文字幕| 成人一区在线| 欧美国产综合视频| 国产网友愉拍精品| 亚洲综合色婷婷| 麻豆精品视频在线原创| 国产av一码二码三码无码| 久久精品只有这里有| 亚洲va在线∨a天堂va欧美va| 成人综合在线观看| 91精品免费久久久| 亚洲天堂久久| 情侣午夜国产在线一区无码| 亚洲大尺码专区影院| 欧美性精品不卡在线观看| 久久婷婷色综合老司机| 91网红精品在线观看| 国产成人高清在线精品| 亚洲第一色网站| 一级毛片基地| 亚洲天堂成人在线观看| 国产喷水视频| 亚洲天堂777| 亚洲女同欧美在线| 一区二区偷拍美女撒尿视频| 午夜国产理论| 一区二区三区精品视频在线观看| 99热这里只有精品2| 国产97视频在线观看| 福利在线一区| 亚洲AV无码久久精品色欲| 日韩精品免费一线在线观看| 美女裸体18禁网站| 国产无码性爱一区二区三区| 114级毛片免费观看| 五月天香蕉视频国产亚| 欧美视频二区| 不卡无码网| 国产欧美在线观看一区| 国产在线视频二区| 在线播放国产一区| 日韩视频免费| 日韩在线欧美在线| 成人亚洲天堂| 亚洲天堂精品视频|