多核結構上的線程級推測關鍵技術研究
發(fā)布時間:2020-04-23 10:04
【摘要】: 進入21世紀以來,隨著半導體工藝技術的發(fā)展,微處理器芯片體系結構由于受到功耗與設計復雜度等問題的限制開始進入多核時代,但是傳統(tǒng)的串行程序模型與串行地址空間模型并沒有發(fā)生實質性變化,并行的多核結構模型與串行的計算理論模型之間發(fā)生了矛盾。線程級推測技術的提出為緩解這一矛盾,使用多核結構加速串行程序提供了可能。目前,有關該技術的研究仍然停留在學術研究階段,距離應用還有較大的距離,仍有許多關鍵技術有待深入研究。因此“多核結構上的線程級推測關鍵技術研究”對于探索在多核微處理器芯片上加速傳統(tǒng)串行應用的有效方法具有重要的學術意義和實際應用價值。 本文圍繞線程級推測的若干關鍵技術問題開展了深入系統(tǒng)的研究,主要涉及線程級推測并行性的定位與分析、線程級推測程序的表示與變換、支持線程級推測的單芯片多處理器(Chip Multi-processor,CMP)結構模型三個方面。(1)在線程級推測并行性的定位與分析的研究中,本文提出了判定“特定應用程序是否適合推測執(zhí)行”的準則,以及分析、定位應用程序中線程級推測并行性的理論與方法,并設計實現了針對線程級推測的剖析工具。(2)在線程級推測程序的表示與變換的研究中,本文為實現循環(huán)結構和子程序結構的線程級推測執(zhí)行,設計實現了基本的運行時系統(tǒng),完成了循環(huán)結構和子程序結構的線程化執(zhí)行,簡化了線程級推測程序的設計,并通過擴充系統(tǒng)調用的方法避免了對編譯器的大幅度改動。(3)在支持線程級推測的CMP結構模型的研究中,本文考察了在CMP結構上實現線程級推測所需的硬件支持,提出了一種線程級推測硬件體系結構模型。(4)搭建了多核芯片結構的行為級模擬實驗平臺,開展了軟硬件協(xié)同的性能分析與優(yōu)化工作。通過大量的實驗,完成了對多核芯片基本設計空間的搜索,獲得了對線程級推測技術中的若干關鍵問題的新認識。 本文選取SPEC CPU 2000中的程序作為研究對象。通過對應用程序中固有的線程級推測并行性的研究,我們發(fā)現:(1)程序中存在著大量的返回值可預測的子程序結構,這些子程序結構平均占據了超過50%的運行時間,簡單的Last-value函數返回值預測方案已經足以取得令人滿意的預測成功率。(2)程序中粒度較小的循環(huán)結構較粒度較大的循環(huán)結構多,循環(huán)展開合并技術對于控制推測線程的粒度是必要的。(3)無論是循環(huán)結構還是子程序結構,訪存數據依賴都是普遍存在的,在推測執(zhí)行的過程中適當地插入同步與通信對于提高線程級推測的性能具有重要意義。(4)由于受到應用本身并行特性的限制,基于4發(fā)射超標量內核的線程級推測技術所能有效利用的處理器內核數目小于4。 通過搭建具體的行為級模擬平臺、開展軟硬件協(xié)同的性能分析與優(yōu)化,我們還發(fā)現:(1)單一總線互連網絡很難承擔線程級推測執(zhí)行過程中的數據通信負載,按照功能分裂總線的多總線互連方案可以在一定程度上緩解該問題,但是當處理器數目大于4時,多總線互連方案將成為系統(tǒng)性能瓶頸。(2)使用復雜的寬發(fā)射處理器內核(發(fā)射寬度大于2)構造線程級推測系統(tǒng)是不必要的,但是亂序發(fā)射技術是必須的。(3)線程級推測的性能很大程度依賴于編譯技術,優(yōu)化的線程劃分方案與適當的同步通信機制是影響線程級推測性能的兩個關鍵因素。
【圖文】:
第l章緒論并行代碼。這其中,在二進制代碼級通過二次編譯產生并行二進制代碼的方法,對于加速大量歷史遺留的二進制代碼尤為意義重大。最后,推測技術的引入,使得一些過去為了容忍通信延遲而被迫放棄利用的線程級并行性重新得以有效利用,從而為進一步提高性能提供了可能。在傳統(tǒng)的SMP結構中,由于受限于芯片互連帶寬與芯片封裝技術,線程級推測所帶來的性能提升被其所需通的信代價所抵消甚至超過,線程級推測也是不現實的。Pm優(yōu)SS0r3Proeessor4ProcessoTIPmCOSSOrZ
ultisca!ar技術提出了一種新穎的處理器微體系結構,圖2.1顯示了一ultiscalar微體系結構(Multiscalar的微體系結構可以有很多的變種,典型的一種)。概括地說,Multiscalar處理器由若干緊藕合的“處理單調度器(sequencer)”以及片上“高速數據Cache/緩存(DataBank)”成。處理單元在整個系統(tǒng)結構中處于中心位置,每個處理單元都可一個控制流。處理單元與任務調度器直接相連,并通過互連網絡與ache/緩存部件相連。處理單元之間的緊禍合是指各個處理器可以通的數據通路實現寄存器級的數據通信。任務調度器負責將線程按照分配給各個處理單元。片上高速數據Cache/緩存部件由若干數據體組成,每個數據體由數據Cache與地址解析緩存(ARB,,Addressresol組成。數據Cache負責開發(fā)程序的數據局部性、平衡處理器與存儲度差異;而地址解析緩存則負責緩存推測讀寫操作,以維持內存操致性。
【學位授予單位】:中國科學技術大學
【學位級別】:博士
【學位授予年份】:2008
【分類號】:TP332
本文編號:2637616
【圖文】:
第l章緒論并行代碼。這其中,在二進制代碼級通過二次編譯產生并行二進制代碼的方法,對于加速大量歷史遺留的二進制代碼尤為意義重大。最后,推測技術的引入,使得一些過去為了容忍通信延遲而被迫放棄利用的線程級并行性重新得以有效利用,從而為進一步提高性能提供了可能。在傳統(tǒng)的SMP結構中,由于受限于芯片互連帶寬與芯片封裝技術,線程級推測所帶來的性能提升被其所需通的信代價所抵消甚至超過,線程級推測也是不現實的。Pm優(yōu)SS0r3Proeessor4ProcessoTIPmCOSSOrZ
ultisca!ar技術提出了一種新穎的處理器微體系結構,圖2.1顯示了一ultiscalar微體系結構(Multiscalar的微體系結構可以有很多的變種,典型的一種)。概括地說,Multiscalar處理器由若干緊藕合的“處理單調度器(sequencer)”以及片上“高速數據Cache/緩存(DataBank)”成。處理單元在整個系統(tǒng)結構中處于中心位置,每個處理單元都可一個控制流。處理單元與任務調度器直接相連,并通過互連網絡與ache/緩存部件相連。處理單元之間的緊禍合是指各個處理器可以通的數據通路實現寄存器級的數據通信。任務調度器負責將線程按照分配給各個處理單元。片上高速數據Cache/緩存部件由若干數據體組成,每個數據體由數據Cache與地址解析緩存(ARB,,Addressresol組成。數據Cache負責開發(fā)程序的數據局部性、平衡處理器與存儲度差異;而地址解析緩存則負責緩存推測讀寫操作,以維持內存操致性。
【學位授予單位】:中國科學技術大學
【學位級別】:博士
【學位授予年份】:2008
【分類號】:TP332
【引證文獻】
相關博士學位論文 前1條
1 王耀彬;多核平臺上支持推測并行化的事務存儲體系結構性能優(yōu)化[D];中國科學技術大學;2010年
本文編號:2637616
本文鏈接:http://www.sikaile.net/kejilunwen/jisuanjikexuelunwen/2637616.html