多核環(huán)境下針對不規(guī)則應(yīng)用程序的非投機并行策略
本文選題:自動并行化 + 編譯優(yōu)化; 參考:《華中科技大學(xué)》2016年博士論文
【摘要】:多核處理器成為主流的通用處理器,具有計算能力強、功耗低和設(shè)計復(fù)雜度低等優(yōu)點。不規(guī)則應(yīng)用程序中含有大量復(fù)雜的控制流和數(shù)據(jù)流,難以充分利用多核處理器帶來的寶貴資源。自動并行化技術(shù)可有效地解決這一問題,將串行程序轉(zhuǎn)換為可以并發(fā)執(zhí)行的多線程程序,發(fā)揮多核潛能。投機并行是自動并行化技術(shù)的一個研究熱點。研究人員通過在程序中加入投機因素,增加并行的機會。然而,投機并行需要花費額外的代價處理誤投機。因此,非投機并行成為新的研究熱點。目前,非投機并行可以從不規(guī)則應(yīng)用程序中提取獨立多線程、流水線多線程以及環(huán)型多線程。但是,當(dāng)前技術(shù)經(jīng)常面臨處理器負載不均衡、擴展性差以及線程間通信延遲敏感等問題。而且,非投機并行主要采用靜態(tài)分析(編譯器),應(yīng)用程序中由指針別名引起的問題難以解決影響并行程序的執(zhí)行效率。為了解決上述問題,提出一系列新的措施和解決方案:針對傳統(tǒng)環(huán)型多線程技術(shù)對線程間通信延遲敏感的問題,提出一個自動并行化算法DOcyclial。DOcyclial利用基于優(yōu)先權(quán)的動態(tài)調(diào)度策略降低線程間通信頻率,避免通信延遲出現(xiàn)在并行程序執(zhí)行的關(guān)鍵路徑,增強程序?qū)νㄐ叛舆t的抵抗性。此外,DOcyclial將基于優(yōu)先權(quán)的動態(tài)調(diào)度與節(jié)點融合策略相結(jié)合還可以保持處理器負載盡可能均衡。為了驗證DOcyclical算法的有效性,利用兩套標(biāo)準(zhǔn)測試程序(SPECCPU2006和StreamIt)分別在二、四、六核處理器進行測試,實驗結(jié)果表明DOcyclical算法對線程間通信延遲極不敏感。而且,DOcyclical算法可以超過當(dāng)前經(jīng)典算法,如DSWP、PS-DSWP和HELIX,平均21-50%、1-27%、15-25%的性能。針對靜態(tài)分析不能消除程序中冗余的依賴關(guān)系且難以對程序執(zhí)行重用性分析的問題,提出一個動態(tài)分析框架DSspirit。DSspirit利用基于哈希的策略消除程序中冗余的數(shù)據(jù)依賴關(guān)系,利用基于值的策略分析程序的重用性,確定經(jīng)常引起緩存缺失(cache misses)的指令,并向編譯器提供可預(yù)取的對象。為了驗證DSspirit的有效性,利用三套標(biāo)準(zhǔn)測試應(yīng)用程序(SPEC CPU2006、MPI2007和OMP2012)在Intel i7-4700處理器進行測試。實驗結(jié)果表明DSspirif可以克服靜態(tài)分析的缺陷,消除程序中冗余的依賴關(guān)系,并提供有預(yù)取價值的對象。而且,自動并行化技術(shù)中利用動態(tài)分析框架DSspirit可以獲取平均20%的性能提升。針對緩存缺失(cache misses)總是影響并行程序執(zhí)行效率的問題,提出一個基于動態(tài)分析的預(yù)取算法,該算法利用運行時環(huán)境確定經(jīng)常引起緩存缺失的指令,并根據(jù)指令的訪問特征制定不同的預(yù)取方案。為了驗證預(yù)取算法的有效性,利用兩套標(biāo)準(zhǔn)測試程序(SPEC CPU2006和MPI2007)在Intel i7-4700處理器進行測試。實驗結(jié)果表明預(yù)取算法可以明顯地提升并行程序的緩存命中率,縮短程序的總體執(zhí)行時間。為了保證多線程程序?qū)νㄐ叛舆t不敏感且具有較高的緩存命中率,設(shè)計一個自動并行化系統(tǒng)HSparallel,該系統(tǒng)首先利用動態(tài)分析框架DSspirit確定具有預(yù)取價值的對象,然后利用自動并行化算法DOcyclical避免通信延遲出現(xiàn)在并行程序執(zhí)行的關(guān)鍵路徑,同時利用預(yù)取算法提高程序的緩存命中率。為了驗證HSparallel的有效性,利用兩套標(biāo)準(zhǔn)測試程序(SPEC CPU2006和MPI2007)在Intel i7-4700處理器進行測試。實驗結(jié)果表明HSparallel可以帶來顯著的性能提升。而且,HSparallel超過當(dāng)前主流算法,如Paralax和文獻[1,2],平均19%、21%和17%的性能。最后,以上所有算法、框架和系統(tǒng)都完全開發(fā)于LLVM編譯器,并寫入到該編譯器的后端。
[Abstract]:In order to solve the above problems , it is difficult to solve this problem by adding speculative factors into the irregular application . It is difficult to make full use of the valuable resources of multi - core processors . In order to verify the effectiveness of the pre - fetch algorithm , the paper designs an automatic parallelizing system HSparallel , which uses two sets of standard test programs ( SPEC CPU2006 and MPI2007 ) to test the performance of the program .
【學(xué)位授予單位】:華中科技大學(xué)
【學(xué)位級別】:博士
【學(xué)位授予年份】:2016
【分類號】:TP332
【相似文獻】
相關(guān)期刊論文 前10條
1 丁曉寧;朱怡安;康繼昌;;自動并行化與數(shù)據(jù)自動遷移[J];計算機科學(xué);2001年11期
2 祁鑫;梁鴻;田世峰;;基于網(wǎng)格的疊前深度偏移程序自動并行化模型[J];實驗室研究與探索;2009年06期
3 沈勤華;;可擴展的自動并行化編譯系統(tǒng)[J];計算機工程;2009年08期
4 丁銳;趙榮彩;劉曉嫻;傅立國;;自動并行化中不規(guī)則問題的劃分方法[J];信息工程大學(xué)學(xué)報;2013年02期
5 傅立國;姚遠;丁銳;;自動并行化中不規(guī)則循環(huán)的通信代碼生成[J];計算機應(yīng)用;2014年04期
6 蔡躍進;;分布式環(huán)境下的自動并行化調(diào)度算法[J];泉州師范學(xué)院學(xué)報;2010年04期
7 王宏力,鄧彬,王忠,鄧方林;面向復(fù)雜連續(xù)系統(tǒng)仿真程序的自動并行化模型及其實現(xiàn)[J];系統(tǒng)仿真學(xué)報;1999年01期
8 馮百明,丁曉寧,肖驪,況正謙,康繼昌;程序自動并行化過程中的任務(wù)劃分[J];西北工業(yè)大學(xué)學(xué)報;2000年02期
9 況正謙,傅游,馮百明,康繼昌;CFD程序自動并行化的相關(guān)性分析和通信策略[J];西北工業(yè)大學(xué)學(xué)報;2000年03期
10 黃凱;劉鍵;;全自動并行化編譯系統(tǒng)中的運行控制[J];計算機工程與科學(xué);1996年04期
相關(guān)會議論文 前1條
1 劉超;王希誠;;基于MPI的自動并行化系統(tǒng)的研究與實現(xiàn)[A];2006北京地區(qū)高校研究生學(xué)術(shù)交流會——通信與信息技術(shù)會議論文集(下)[C];2006年
相關(guān)重要報紙文章 前2條
1 清華大學(xué) 鄭緯民 陳文光;開發(fā)環(huán)境—搭建應(yīng)用的基礎(chǔ)[N];計算機世界;2003年
2 陳文光 鄭緯民;高性能計算的三大研究領(lǐng)域[N];計算機世界;2006年
相關(guān)博士學(xué)位論文 前1條
1 閆昭;程序并行識別方法及應(yīng)用研究[D];吉林大學(xué);2009年
相關(guān)碩士學(xué)位論文 前6條
1 蔡達;基于OpenACC的自動并行化技術(shù)研究[D];中國礦業(yè)大學(xué);2016年
2 田世峰;網(wǎng)格環(huán)境下面向地震資料處理程序的自動并行化技術(shù)研究[D];中國石油大學(xué);2007年
3 劉超;嵌套循環(huán)的自動并行化及在MPI平臺上的實現(xiàn)[D];大連理工大學(xué);2006年
4 沈勤華;可擴展的自動并行化編譯系統(tǒng)Agassiz[D];復(fù)旦大學(xué);2008年
5 孫堯;基于SUIF平臺的程序自動并行化輔助系統(tǒng)研究[D];吉林大學(xué);2014年
6 馬琳;反饋指導(dǎo)的流水計算性能調(diào)優(yōu)[D];中國科學(xué)院研究生院(計算技術(shù)研究所);2005年
,本文編號:1888888
本文鏈接:http://sikaile.net/shoufeilunwen/xxkjbs/1888888.html