基于CPU-GPU異構(gòu)架構(gòu)下Cache優(yōu)化技術(shù)的研究
發(fā)布時間:2020-09-10 17:23
隨著GPU和CPU的廣泛應(yīng)用,人們已經(jīng)認識到這兩個處理單元都具有其獨特的功能和優(yōu)勢,GPU處理器不但具備3D圖形渲染能力,它也可以實現(xiàn)基于大數(shù)據(jù)集上的密集計算。CPU處理器也兼具操作系統(tǒng)的運轉(zhuǎn)和傳統(tǒng)串行任務(wù)的執(zhí)行兩大特性。CPU結(jié)合GPU協(xié)同工作是實現(xiàn)高性能計算的必然趨勢,計算機的發(fā)展也從傳統(tǒng)的同構(gòu)多核時代進入到異構(gòu)多核時代。異構(gòu)多核處理器將圖形處理器(GPU)和通用CPU處理器整合到同一芯片上,通過片上網(wǎng)絡(luò)進行通信和數(shù)據(jù)傳輸。這種異構(gòu)結(jié)構(gòu)對于CPU和GPU之間的資源共享,尤其是共享末級高速緩存(Last Level Cache,LLC)提出了新的挑戰(zhàn)。GPU具備特殊的并行執(zhí)行能力,擁有良好的訪存延遲容忍性,LLC的很大一部分空間會被GPU應(yīng)用程序所搶占,剩余非常有限的空間留給CPU應(yīng)用程序,使得CPU應(yīng)用程序的訪存缺失率大大提高,降低CPU性能的同時也嚴(yán)重影響了異構(gòu)系統(tǒng)的性能。因此,如何在保證GPU性能的前提下,盡可能減少GPU對共享緩存資源的不公平占用問題,已經(jīng)成為目前亟需解決的問題。通過分析目前共享緩存管理技術(shù)的研究現(xiàn)狀,關(guān)于緩存優(yōu)化的兩大關(guān)鍵技術(shù),緩存劃分和緩存替換算法主要應(yīng)用于同構(gòu)多核CPU系統(tǒng)中,基于CPU與GPU的訪存差異性,面向CPU-GPU異構(gòu)多核系統(tǒng)的緩存劃分和緩存替換算法并沒有得到深入的研究和發(fā)展。針對以上情況,為了提高異構(gòu)環(huán)境下共享緩存的利用效率和系統(tǒng)性能,本文首先通過實驗具體分析了CPU與GPU的訪存行為差異,在此基礎(chǔ)上提出了基于Cache劃分的自適應(yīng)替換算法。該算法首先采用劃分策略,隔離CPU與GPU對于共享LLC的爭用問題,之后根據(jù)消息請求訪問類型的不同,采用不同的緩存替換算法進行替換;贑ache劃分的自適應(yīng)替換算法結(jié)合了劃分與替換算法兩種管理技術(shù),可以有效地提升系統(tǒng)的性能。針對靜態(tài)劃分中存在的局限性,進一步提出了基于GPU缺失感知的動態(tài)Cache劃分算法。動態(tài)劃分算法在運行時感知GPU緩存缺失率的變化情況,設(shè)置合理的閾值范圍,在單位時間間隔內(nèi)動態(tài)改變CPU與GPU對于共享LLC的緩存比例,在保證GPU性能的同時,提升CPU的緩存利用效率,從而使整體系統(tǒng)的性能得到進一步的提升。為了精準(zhǔn)地評估實驗方案對系統(tǒng)性能和功耗的影響,本文選取異構(gòu)架構(gòu)的Gem5-GPU模擬器作為基礎(chǔ)實驗平臺,并通過集成McPAT和GPUWattch功耗模型進行功耗計算和統(tǒng)計,分別采用SPEC CPU2006和Rodinia作為CPU和GPU應(yīng)用程序的測試集進行實驗驗證。實驗結(jié)果表明,本文提出的基于Cache劃分的自適應(yīng)替換算法與傳統(tǒng)的管理方案相比,CPU的性能得到了顯著提升,最高提升33%,平均提升15%;贕PU缺失感知的動態(tài)Cache劃分算法在保證GPU性能不受影響的前提下,提升了CPU的性能,實現(xiàn)CPU在功耗僅僅增加2.3%的基礎(chǔ)上,性能最高提升了17.3%,平均提升7.4%。GPU在性能不下降的前提下,功耗值降低了22.2%,最高降低50%。
【學(xué)位單位】:北京工業(yè)大學(xué)
【學(xué)位級別】:碩士
【學(xué)位年份】:2018
【中圖分類】:TP332
【部分圖文】:
圖 2-1 總線式 CPU-GPU 異構(gòu)體系結(jié)構(gòu)Figure2-1 CPU-GPU bus-based heterogeneous architectureCPU 與 GPU 之間的通信以 PCI-e 總線作為傳輸紐帶,完成數(shù)據(jù)交換和傳,將分離的 CPU 與 GPU 聯(lián)系在一起,既發(fā)揮了 CPU 的邏輯處理能力,了 GPU 的并行計算能力,減少了 CPU 與 GPU 之間的通信開銷。另一方面 CPU 和 GPU 存儲結(jié)構(gòu)的差異,CPU 與 PCI-e 總線之間的數(shù)據(jù)傳輸速度只兆每秒,而 GPU 具有良好的并行處理能力,GPU 與 PCI-e 總線之間的數(shù)可以達到幾千兆每秒。因此 GPU 的執(zhí)行速度受制于 CPU 的處理速度,PC的存在反而成為了系統(tǒng)的瓶頸。為了避免總線方式的弊端,將 CPU 與 GP在同一芯片的片上異構(gòu)多核處理器應(yīng)運而生。片上異構(gòu)多核架構(gòu)將分離的 CPU 和 GPU 整合在同一芯片上,CPU 與 GP數(shù)據(jù)傳輸更加快捷,也是目前流行的主流架構(gòu)。如圖 2-2 所示,同一芯片中含 CPU 核心,又包含 GPU 核心、片上互聯(lián)網(wǎng)絡(luò)、LLC 和存儲控制器等均有資源,供 CPU 和 GPU 核心共同使用。
第 2 章 異構(gòu)多核處理器與緩存系統(tǒng)CPU-GPU 片上異構(gòu)多核處理器結(jié)構(gòu)與分離系統(tǒng)的 CPU-GPU 結(jié)構(gòu)有所不同,分離的 CPU-GPU 系統(tǒng)結(jié)構(gòu)采用總線相連,CPU 與 GPU 擁有各自的緩存和主存系統(tǒng),而片上 CPU-GPU 結(jié)構(gòu)存在更多的資源共享,因此 CPU-GPU 片上多核系統(tǒng)對于片上共享資源的管理提出了新的挑戰(zhàn)。2.2.2 CPU-GPU 異構(gòu)架構(gòu)面臨的挑戰(zhàn)CPU 與 GPU 集成在同一芯片中,CPU 與 GPU 的不同之處在于,它們具有不同的組織結(jié)構(gòu),如圖 2-3 所示,二者結(jié)構(gòu)上的異同表明了 CPU 與 GPU 之間的功能差距。
0 世紀(jì) 80 年代,內(nèi)存總線的頻率與 CPU 的頻率相差并不明顯。隨著工不斷進步,CPU 的主導(dǎo)地位不斷提升,使用頻率也是逐年攀升,但芯制于工藝和成本兩方面的限制,DRAM 即計算機的內(nèi)存,其訪問速度也沒有達到質(zhì)的突破。CPU 的制造工藝不斷進步革新,而 DRAM 一直踏步狀態(tài),因此 CPU 的處理數(shù)據(jù)速度與 DRAM 的訪問數(shù)據(jù)速度相比,的差距越來越大,甚至可能達到數(shù)萬倍。緩存技術(shù),即在 CPU 與內(nèi)存中間件緩存,緩解了 CPU 與主存之間速度不一致的弊端。緩存具有容度塊的優(yōu)勢,緩存中的數(shù)據(jù)主要是來自內(nèi)存中的小部分,經(jīng)常被 CPU,可以加快 CPU 的訪問速度。有的 CPU 結(jié)構(gòu)中大多均包含多級緩存,如圖 2-4 所示,每個核心擁有緩存、指令緩存和 L2 級緩存,所有核心共享 L3 級緩存,即末級共享接近 CPU 部分的緩存級別也越小。當(dāng) CPU 計算時,首先從級別最小查找,緩存缺失后到 L2 級緩存,L2 級緩存缺失后到 L3 級緩存,如果都的話,最后去主存尋找。因此,將經(jīng)常訪問的數(shù)據(jù)放到 L1 中,有助于U 的執(zhí)行效率。
本文編號:2816093
【學(xué)位單位】:北京工業(yè)大學(xué)
【學(xué)位級別】:碩士
【學(xué)位年份】:2018
【中圖分類】:TP332
【部分圖文】:
圖 2-1 總線式 CPU-GPU 異構(gòu)體系結(jié)構(gòu)Figure2-1 CPU-GPU bus-based heterogeneous architectureCPU 與 GPU 之間的通信以 PCI-e 總線作為傳輸紐帶,完成數(shù)據(jù)交換和傳,將分離的 CPU 與 GPU 聯(lián)系在一起,既發(fā)揮了 CPU 的邏輯處理能力,了 GPU 的并行計算能力,減少了 CPU 與 GPU 之間的通信開銷。另一方面 CPU 和 GPU 存儲結(jié)構(gòu)的差異,CPU 與 PCI-e 總線之間的數(shù)據(jù)傳輸速度只兆每秒,而 GPU 具有良好的并行處理能力,GPU 與 PCI-e 總線之間的數(shù)可以達到幾千兆每秒。因此 GPU 的執(zhí)行速度受制于 CPU 的處理速度,PC的存在反而成為了系統(tǒng)的瓶頸。為了避免總線方式的弊端,將 CPU 與 GP在同一芯片的片上異構(gòu)多核處理器應(yīng)運而生。片上異構(gòu)多核架構(gòu)將分離的 CPU 和 GPU 整合在同一芯片上,CPU 與 GP數(shù)據(jù)傳輸更加快捷,也是目前流行的主流架構(gòu)。如圖 2-2 所示,同一芯片中含 CPU 核心,又包含 GPU 核心、片上互聯(lián)網(wǎng)絡(luò)、LLC 和存儲控制器等均有資源,供 CPU 和 GPU 核心共同使用。
第 2 章 異構(gòu)多核處理器與緩存系統(tǒng)CPU-GPU 片上異構(gòu)多核處理器結(jié)構(gòu)與分離系統(tǒng)的 CPU-GPU 結(jié)構(gòu)有所不同,分離的 CPU-GPU 系統(tǒng)結(jié)構(gòu)采用總線相連,CPU 與 GPU 擁有各自的緩存和主存系統(tǒng),而片上 CPU-GPU 結(jié)構(gòu)存在更多的資源共享,因此 CPU-GPU 片上多核系統(tǒng)對于片上共享資源的管理提出了新的挑戰(zhàn)。2.2.2 CPU-GPU 異構(gòu)架構(gòu)面臨的挑戰(zhàn)CPU 與 GPU 集成在同一芯片中,CPU 與 GPU 的不同之處在于,它們具有不同的組織結(jié)構(gòu),如圖 2-3 所示,二者結(jié)構(gòu)上的異同表明了 CPU 與 GPU 之間的功能差距。
0 世紀(jì) 80 年代,內(nèi)存總線的頻率與 CPU 的頻率相差并不明顯。隨著工不斷進步,CPU 的主導(dǎo)地位不斷提升,使用頻率也是逐年攀升,但芯制于工藝和成本兩方面的限制,DRAM 即計算機的內(nèi)存,其訪問速度也沒有達到質(zhì)的突破。CPU 的制造工藝不斷進步革新,而 DRAM 一直踏步狀態(tài),因此 CPU 的處理數(shù)據(jù)速度與 DRAM 的訪問數(shù)據(jù)速度相比,的差距越來越大,甚至可能達到數(shù)萬倍。緩存技術(shù),即在 CPU 與內(nèi)存中間件緩存,緩解了 CPU 與主存之間速度不一致的弊端。緩存具有容度塊的優(yōu)勢,緩存中的數(shù)據(jù)主要是來自內(nèi)存中的小部分,經(jīng)常被 CPU,可以加快 CPU 的訪問速度。有的 CPU 結(jié)構(gòu)中大多均包含多級緩存,如圖 2-4 所示,每個核心擁有緩存、指令緩存和 L2 級緩存,所有核心共享 L3 級緩存,即末級共享接近 CPU 部分的緩存級別也越小。當(dāng) CPU 計算時,首先從級別最小查找,緩存缺失后到 L2 級緩存,L2 級緩存缺失后到 L3 級緩存,如果都的話,最后去主存尋找。因此,將經(jīng)常訪問的數(shù)據(jù)放到 L1 中,有助于U 的執(zhí)行效率。
【參考文獻】
相關(guān)期刊論文 前3條
1 閔慶豪;張為華;;多核緩存優(yōu)化技術(shù)研究綜述[J];計算機系統(tǒng)應(yīng)用;2015年01期
2 王海峰;陳慶奎;;圖形處理器通用計算關(guān)鍵技術(shù)研究綜述[J];計算機學(xué)報;2013年04期
3 陳芳園;張冬松;王志英;;異構(gòu)多核處理器體系結(jié)構(gòu)設(shè)計研究[J];計算機工程與科學(xué);2011年12期
本文編號:2816093
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2816093.html
最近更新
教材專著