基于線程重組的GPGPU訪存不規(guī)則問題微架構(gòu)方案研究與驗證
本文關(guān)鍵詞: 通用圖形處理器 訪存不規(guī)則性 緩存競爭 數(shù)據(jù)局部性 微架構(gòu) 出處:《東南大學(xué)》2016年碩士論文 論文類型:學(xué)位論文
【摘要】:近十年來,隨著可編程性和計算能力的不斷提升,GPU的應(yīng)用范圍已擴(kuò)展至通用計算領(lǐng)域。眾多通用計算GPU程序中包含訪存不規(guī)則性。訪存不規(guī)則性阻礙了GPU緩存對線程束內(nèi)和線程束間數(shù)據(jù)局部性的捕獲,使得程序執(zhí)行速度低下。研究人員對GPU微架構(gòu)進(jìn)行了大量改進(jìn),以保護(hù)GPU程序中的數(shù)據(jù)局部性。但現(xiàn)有技術(shù)尚不能有效保護(hù)訪存不規(guī)則程序中的線程束間數(shù)據(jù)局部性。為此,本文設(shè)計了基于線程重組的線程束間數(shù)據(jù)局部性保護(hù)方案。本文首先介紹了該線程重組方案包含的兩項技術(shù)措施:(1)在線程束之間交換線程以避免線程束間的緩存競爭、保護(hù)數(shù)據(jù)局部性;(2)對訪存流進(jìn)行調(diào)整,以降低訪存延時并提升訪存不規(guī)則程序性能。接著,本文闡述了實現(xiàn)上述技術(shù)措施所需的GPU微架構(gòu)修改,即引入重組緩沖區(qū)和修改發(fā)射邏輯。隨后,本文分析了線程重組的性能開銷,并討論了減少開銷的具體措施。最后,本文結(jié)合線程重組和一項線程束內(nèi)數(shù)據(jù)局部性保護(hù)技術(shù)MRPB,設(shè)計了兼顧線程束間和線程束內(nèi)數(shù)據(jù)局部性的綜合方案。該微架構(gòu)方案在GPU程序執(zhí)行初期對其進(jìn)行訪存特征分析,根據(jù)程序特征分別采用線程重組和MRPB技術(shù)保護(hù)不同類型的數(shù)據(jù)局部性。本文在仿真平臺GPGPU-Sim上分別實現(xiàn)了線程重組方案和綜合方案,并使用以訪存不規(guī)則程序為主的GPGPU測試集PolyBench對兩者進(jìn)行了驗證。實驗結(jié)果表明,與基準(zhǔn)架構(gòu)相比,線程重組方案使得一級緩存缺失平均減少28.2%,IPC平均提升44.9%。上述結(jié)果表明,本文設(shè)計的線程重組方案可以有效保護(hù)數(shù)據(jù)局部性,提升訪存不規(guī)則程序的執(zhí)行速度。此外,綜合方案使得一級緩存缺失平均減少34.9%,IPC平均提升63.2%,這表明綜合方案在線程重組方案基礎(chǔ)上進(jìn)一步保護(hù)了數(shù)據(jù)局部性,并提升了程序執(zhí)行速度。
[Abstract]:In the last decade, With the continuous improvement of programmability and computing power, the application of GPUs has been extended to the field of general computing. Many common computing GPU programs include memory access irregularities, which hinder the GPU cache to thread bundles and. Capture of data locality between thread bundles, In order to protect the data localization in GPU program, the existing technology can not effectively protect the data localization between threads in irregular program. This paper designs a data locality protection scheme for thread bundles based on thread recombination. Firstly, this paper introduces two technical measures: 1) exchanging threads between thread bundles in order to avoid cache competition between thread bundles. To reduce the access delay and improve the performance of irregular access program, this paper describes the modification of GPU microarchitecture needed to implement the above technical measures. Then, this paper analyzes the performance overhead of thread reorganization, and discusses the specific measures to reduce the overhead. In this paper, combined with thread reconfiguration and a technique of data locality protection in thread bundles, a comprehensive scheme is designed, which takes account of data localization between thread bundles and within thread bundles. The microarchitecture is used to analyze the memory access characteristics of GPU programs at the early stage of execution. According to the characteristics of the program, thread recombination and MRPB technology are used to protect different types of data locality. In this paper, a thread recombination scheme and a comprehensive scheme are implemented on the simulation platform GPGPU-Sim, respectively. The experimental results show that compared with the benchmark architecture, the thread reorganization scheme can reduce the average loss of first-level cache by 28.2% and increase the average value by 44.9%. The threading reorganization scheme designed in this paper can effectively protect data locality and speed up the execution of irregular programs. The integrated scheme can reduce the average loss of the first-level cache by 34.9% and increase the IPC by 63.2 on average, which indicates that the integrated scheme can further protect the data locality and improve the speed of program execution on the basis of the thread-reconfiguration scheme.
【學(xué)位授予單位】:東南大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2016
【分類號】:TP332
【相似文獻(xiàn)】
相關(guān)期刊論文 前10條
1 許勇,郭長國,賈焰;實時線程庫研究與實現(xiàn)[J];計算機(jī)工程與應(yīng)用;2002年13期
2 賈剛勇;李曦;周學(xué)海;朱宗衛(wèi);;一個平衡功耗、性能和公平性的組管理方法[J];中國科學(xué)院大學(xué)學(xué)報;2013年04期
3 Jeff.Prosise ,王巖松;線程探秘[J];個人電腦;1996年03期
4 華衛(wèi)中,趙春云;Java線程的深入探討[J];計算機(jī)系統(tǒng)應(yīng)用;1997年07期
5 李正輝 ,夏峰 ,華衛(wèi)中 ,趙春云;Java線程的深入探討[J];微電腦世界;1997年03期
6 丁成;孫玉芳;;Linux2.5線程機(jī)制研究[J];計算機(jī)科學(xué);2003年12期
7 陽國貴;姜波;;線程切換開銷分析工具的設(shè)計與實現(xiàn)[J];計算機(jī)應(yīng)用;2010年08期
8 華衛(wèi)中,趙春云;Java線程的深入探討[J];微電子學(xué)與計算機(jī);1998年03期
9 鄭麟;;淺談《JAVA程序設(shè)計》中線程的教學(xué)[J];電腦知識與技術(shù);2010年27期
10 丁黎明;;基于任務(wù)分解的線程模型及其Java實現(xiàn)[J];中小企業(yè)管理與科技(下旬刊);2010年10期
相關(guān)重要報紙文章 前2條
1 Warton;Java的多線程編程[N];電腦報;2004年
2 ;Linux遭遇擴(kuò)展性問題[N];計算機(jī)世界;2007年
相關(guān)博士學(xué)位論文 前1條
1 賈剛勇;系統(tǒng)級熱敏感管理技術(shù)的研究[D];中國科學(xué)技術(shù)大學(xué);2013年
相關(guān)碩士學(xué)位論文 前4條
1 孟煒;基于線程重組的GPGPU訪存不規(guī)則問題微架構(gòu)方案研究與驗證[D];東南大學(xué);2016年
2 鄭彩平;CMT架構(gòu)下線程行為互補(bǔ)性的研究[D];沈陽航空工業(yè)學(xué)院;2010年
3 劉安毅;基于Linux Pthread線程庫的實時對象方法學(xué)研究與實現(xiàn)[D];大連理工大學(xué);2001年
4 徐元旭;SIMT線程調(diào)度模型分析及優(yōu)化[D];哈爾濱工業(yè)大學(xué);2013年
,本文編號:1504706
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/1504706.html