CPU和GPU協(xié)同運算下的DEFLATE算法性能加速研究
本文選題:GPU 切入點:OPENCL 出處:《吉林大學(xué)》2013年碩士論文
【摘要】:異構(gòu)計算,是未來高性能計算領(lǐng)域發(fā)展的主要趨勢。順應(yīng)這種技術(shù)的發(fā)展趨勢,GPU通用計算技術(shù)正面臨前所未有的發(fā)展機遇。圖形處理器在硬件設(shè)計方面具有:浮點運算能力強大,適合大規(guī)模、高計算密度并行數(shù)據(jù)處理等特點。GPU通用計算技術(shù)就是利用圖形處理器的這些特點去完成那些非圖形處理領(lǐng)域的通用計算任務(wù)。隨著GPU編程技術(shù)的不斷發(fā)展,利用GPU去協(xié)同CPU構(gòu)建計算性能強大且成本較低的高性能計算平臺具有廣泛的應(yīng)用前景。 信息時代帶來了“信息爆炸”。隨著互聯(lián)網(wǎng)的興盛以及移動通信的發(fā)展,海量信息的存儲及通信等問題日益突顯。數(shù)據(jù)壓縮的作用及其社會效益、經(jīng)濟效益將越來越明顯。如果不進行數(shù)據(jù)壓縮,那么無論是數(shù)據(jù)存儲還是數(shù)據(jù)傳輸都很難實用化。使用數(shù)據(jù)壓縮的好處在于:數(shù)據(jù)壓縮不僅僅是能夠為用戶節(jié)約存儲空間,也能較快的傳輸各種信息,減小通信延遲。此外,在節(jié)省通信帶寬和節(jié)約信息傳送資源消耗方面,,數(shù)據(jù)壓縮也能起到很大的作用。 當(dāng)前數(shù)據(jù)壓縮領(lǐng)域流行的無損壓縮算法有很多,如DEFLATE、BZIP2、LZMA、LZMA2等等,其中壓縮速度最快的是DEFLATE壓縮算法。根據(jù)對DEFLATE算法性能的實際測試,發(fā)現(xiàn)DEFLATE算法在大數(shù)據(jù)文件壓縮方面的性能表現(xiàn),并不如預(yù)期那樣令人滿意。因此,本文將以對DEFLATE算法進行性能改進作為實際出發(fā)點,研究如何利用GPU通用編程技術(shù)優(yōu)化日常應(yīng)用軟件的執(zhí)行效率。 在DEFLATE算法的各種實現(xiàn)版本中,我們選擇了GZIP的實現(xiàn)版本,因為該實現(xiàn)版本是最接近RFC1951文檔中關(guān)于DEFLATE算法的描述。在優(yōu)化方案上,我們選擇了使用CPU和GPU協(xié)同運算加速的方式。為GZIP的運行重新設(shè)計了一套并行流水線機制,對部分算法的CPU實現(xiàn)代碼進行了改進,并用OpenCL編程框架將DEFLATE算法中比較適合GPU編程的部分進行了kernel實現(xiàn)。經(jīng)過多種硬件環(huán)境的測試,結(jié)果表明,該解決方案的最終實現(xiàn)版本能夠?qū)Σ糠譁y試用例起到不錯的加速效果。 本文在實現(xiàn)對DEFLATE算法進行CPU和GPU協(xié)同加速的同時,也對以下內(nèi)容作了較深入的分析和研究: 1.對GPU體系架構(gòu)和GPU編程技術(shù)進行了探討。對NVIDIA和AMD兩大顯卡生產(chǎn)廠商的GPU架構(gòu)設(shè)計特點,進行了系統(tǒng)分析。給出了GPU編程技術(shù)的發(fā)展歷史,介紹了利用OpenCL的編寫GPU通用程序的方法。 2.總結(jié)分析了相關(guān)的數(shù)據(jù)壓縮技術(shù)。以BZIP2算法和DEFLATE算法為例,分析了壓縮算法的壓縮原理和常見的壓縮技術(shù)。細(xì)致分析了DEFLATE算法的LZ77壓縮編碼部分和Huffman熵編碼部分。 3.對GZIP源碼的分析。主要分析其源碼的組成結(jié)構(gòu)、關(guān)鍵函數(shù)的實現(xiàn)細(xì)節(jié)以及優(yōu)化可能性分析等。通過那些分析內(nèi)容構(gòu)建出一套比較合理的優(yōu)化解決方案,并實現(xiàn)于最終的改進代碼中。
[Abstract]:Heterogeneous computing is the main trend in the field of high performance computing in the future.Following the development trend of this technology, GPU general computing technology is facing unprecedented development opportunities.Graphics processor in hardware design has: floating-point computing power is powerful, suitable for large-scale,The general computing technology of GPU is to make use of these characteristics of GPU to accomplish the general computing tasks in the field of non-graphic processing.With the development of GPU programming technology, using GPU to cooperate with CPU to build high performance computing platform with powerful computing performance and low cost has a wide application prospect.The information age has brought the "information explosion".With the prosperity of the Internet and the development of mobile communication, the storage and communication of mass information become increasingly prominent.The function of data compression and its social benefit, economic benefit will be more and more obvious.Without data compression, both data storage and data transmission are difficult to apply.The advantage of using data compression is that data compression can not only save storage space for users, but also can transmit all kinds of information quickly and reduce communication delay.In addition, data compression can also play an important role in saving communication bandwidth and resource consumption.There are many lossless compression algorithms in the field of data compression, such as flash BZIP2 / LZMALZMA2 and so on. Among them, the fastest compression speed is the DEFLATE compression algorithm.According to the actual performance test of DEFLATE algorithm, it is found that the performance of DEFLATE algorithm in big data file compression is not as satisfactory as expected.Therefore, this paper takes the performance improvement of DEFLATE algorithm as the starting point, and studies how to optimize the execution efficiency of daily application software by using the general programming technology of GPU.Among the various versions of the implementation of the DEFLATE algorithm, we chose the implementation version of GZIP because it is the closest to the description of the DEFLATE algorithm in the RFC1951 document.In the optimization scheme, we choose to use CPU and GPU to accelerate the cooperative operation.This paper redesigns a set of parallel pipeline mechanism for the operation of GZIP, improves the CPU implementation code of some algorithms, and implements the part of DEFLATE algorithm which is more suitable for GPU programming with OpenCL programming framework.After testing in various hardware environments, the results show that the final implementation version of the solution can accelerate part of the test cases well.In this paper, the DEFLATE algorithm for CPU and GPU co-acceleration, but also for the following in-depth analysis and research:1.The GPU architecture and GPU programming technology are discussed.The characteristics of GPU architecture design of NVIDIA and AMD display card manufacturers are systematically analyzed.The development history of GPU programming technology is given, and the method of writing GPU general program using OpenCL is introduced.2.The related data compression techniques are summarized and analyzed.Taking BZIP2 algorithm and DEFLATE algorithm as examples, the compression principle and common compression techniques of compression algorithm are analyzed.The LZ77 compression coding part and Huffman entropy coding part of DEFLATE algorithm are analyzed in detail.3.Analysis of GZIP source code.Mainly analyzes its source code composition structure, the key function realization detail as well as the optimization possibility analysis and so on.A reasonable set of optimization solutions is constructed by analyzing the content and implemented in the final improvement code.
【學(xué)位授予單位】:吉林大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2013
【分類號】:TP338.6;TP391.41
【相似文獻】
相關(guān)期刊論文 前10條
1 謝茂濤;計算機數(shù)字邏輯器件故障分析[J];鄂州大學(xué)學(xué)報;1999年03期
2 陳一鳴;I~2C總線技術(shù)在彩電中的應(yīng)用[J];浙江萬里學(xué)院學(xué)報;2002年01期
3 王楠,高慶獅,侯紫峰,宋建平;一種高安全性的新型存儲體系[J];計算機研究與發(fā)展;2004年05期
4 宗軍紅,王春生,孔令旭,景素霞,胡憲鋒;數(shù)據(jù)庫物理設(shè)計需注意的幾點問題[J];油氣田地面工程;2002年02期
5 田春仿;微電腦控制系統(tǒng)的剖析方法[J];武漢理工大學(xué)學(xué)報(信息與管理工程版);2002年02期
6 楊曉紅;微機的散熱分析[J];高等職業(yè)教育-天津職業(yè)大學(xué)學(xué)報;2002年05期
7 孫峻嶺;智能感溫火災(zāi)探測器的低功耗設(shè)計[J];安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報;2004年02期
8 林昱;主板技術(shù)的新發(fā)展[J];北京聯(lián)合大學(xué)學(xué)報;2001年02期
9 蘇陽;軟件的抗干擾技術(shù)軟件[J];信息技術(shù)與標(biāo)準(zhǔn)化;2002年03期
10 張春玲;《匯編語言程序設(shè)計》教學(xué)難點解析[J];河北廣播電視大學(xué)學(xué)報;2002年03期
相關(guān)會議論文 前10條
1 李全鋼;張芳;宋振興;;基于CPU卡的一卡通系統(tǒng)在宣鋼2#服務(wù)區(qū)的應(yīng)用[A];2011年河北省冶金信息化自動化年會論文集[C];2011年
2 鄒云鵬;康雁;;基于CPU的光線投射算法的并行計算方法[A];中國生物醫(yī)學(xué)工程學(xué)會成立30周年紀(jì)念大會暨2010中國生物醫(yī)學(xué)工程學(xué)會學(xué)術(shù)大會青年優(yōu)秀論文[C];2010年
3 李求實;王秋月;王珊;;平衡IO和CPU的XML關(guān)鍵詞檢索技術(shù)[A];第26屆中國數(shù)據(jù)庫學(xué)術(shù)會議論文集(A輯)[C];2009年
4 胡益新;奚永新;;基于雙32位CPU的電除塵控制器的設(shè)計[A];第十四屆中國電除塵學(xué)術(shù)會議論文集[C];2011年
5 羅宗揚;薛利興;左德承;張展;楊孝宗;;基于JTAG的CPU故障注入工具的設(shè)計與實現(xiàn)[A];第十四屆全國容錯計算學(xué)術(shù)會議(CFTC'2011)論文集[C];2011年
6 趙朝霞;;淺論梅山2~#石灰豎窯控制系統(tǒng)[A];第十一屆全國自動化應(yīng)用技術(shù)學(xué)術(shù)交流會論文集[C];2006年
7 樊番;;PLC與智能從站之間的通訊[A];2008年全國軋鋼生產(chǎn)技術(shù)會議文集[C];2008年
8 樊番;;PLC與智能從站之間的通訊[A];2008年河北省軋鋼技術(shù)與學(xué)術(shù)年會論文集(下)[C];2008年
9 謝衛(wèi)才;林友杰;彭磊;謝澍;;基于雙CPU的電機節(jié)能控制[A];第十六屆中國小電機技術(shù)研討會論文摘要集[C];2011年
10 肖永順;陳志強;張麗;;工業(yè)CT斷層重建算法的通用計算硬件加速[A];2004年CT和三維成像學(xué)術(shù)年會論文集[C];2004年
相關(guān)重要報紙文章 前10條
1 本報記者 湯銘;CPU:迎接融合時代[N];計算機世界;2011年
2 蘇州國芯科技有限公司董事長 鄭茳;打開國產(chǎn)嵌入式CPU應(yīng)用之路[N];中國電子報;2011年
3 重慶 陳靜;移動CPU大躍進性能競賽引擔(dān)憂[N];電腦報;2011年
4 本報記者 劉肖勇;網(wǎng)絡(luò)藍(lán)軍:一塊CPU,就是一架轟炸機[N];廣東科技報;2011年
5 劉清;稅務(wù)總局嚴(yán)打虛假出口CPU騙取退稅行為[N];中國貿(mào)易報;2009年
6 何雨欣 李延霞;稅務(wù)總局:嚴(yán)打虛假出口CPU騙稅行為[N];中國企業(yè)報;2009年
7 上海硅知識產(chǎn)權(quán)交易中心 俞慧月;中國須盡早確定CPU專利對策[N];中國電子報;2009年
8 黑龍江 高林;彩電CPU故障的分析與速修兩例[N];電子報;2011年
9 記者 孫勇;稅務(wù)總局嚴(yán)打虛假出口CPU騙稅行為[N];經(jīng)濟日報;2009年
10 本報記者 劉麗麗;浪潮 推新服務(wù)器 國產(chǎn)CPU市場化啟程[N];計算機世界;2011年
相關(guān)博士學(xué)位論文 前10條
1 葛海通;32位高性能嵌入式CPU及平臺研發(fā)[D];浙江大學(xué);2009年
2 朱二周;基于CPU/GPU平臺的虛擬化技術(shù)研究[D];上海交通大學(xué);2012年
3 肖漢;基于CPU+GPU的影像匹配高效能異構(gòu)并行計算研究[D];武漢大學(xué);2011年
4 王明宇;低功耗雙界面CPU智能卡芯片的研究與設(shè)計[D];復(fù)旦大學(xué);2011年
5 李波;基于異構(gòu)多核平臺的優(yōu)化編程研究[D];華中科技大學(xué);2011年
6 鄭丹丹;嵌入式CPU的納米尺度SRAM設(shè)計研究[D];浙江大學(xué);2009年
7 趙佳;虛擬機動態(tài)遷移的關(guān)鍵問題研究[D];吉林大學(xué);2013年
8 李敏;基于協(xié)同異構(gòu)模型的成形模擬計算加速[D];華中科技大學(xué);2010年
9 廖永波;SOC軟硬件協(xié)同方法及其在FPGA芯片測試中的應(yīng)用研究[D];電子科技大學(xué);2010年
10 林一松;面向GPU的低功耗軟件優(yōu)化關(guān)鍵技術(shù)研究[D];國防科學(xué)技術(shù)大學(xué);2012年
相關(guān)碩士學(xué)位論文 前10條
1 李晶;CPU和GPU協(xié)同運算下的DEFLATE算法性能加速研究[D];吉林大學(xué);2013年
2 徐連軍;雙CPU冗余通信控制系統(tǒng)的研究與實現(xiàn)[D];西安電子科技大學(xué);2011年
3 林守林;基于CPU利用率的功率調(diào)整策略的研究與實現(xiàn)[D];中國地質(zhì)大學(xué)(北京);2010年
4 馮元華;嵌入式多CPU控制器硬件體系分析與設(shè)計[D];暨南大學(xué);2010年
5 徐峰;雙界面CPU智能卡并行測試儀設(shè)計開發(fā)[D];復(fù)旦大學(xué);2011年
6 奧飚;運用CPU卡的電力收費系統(tǒng)中密鑰管理系統(tǒng)的安全性研究與設(shè)計[D];華北電力大學(xué)(北京);2011年
7 范曉亮;基于FPGA的雙核模型機CPU的設(shè)計與實現(xiàn)[D];東北大學(xué);2008年
8 胡杰;CPU-GPU異構(gòu)平臺計算模型的研究與應(yīng)用[D];大連理工大學(xué);2011年
9 成思遠(yuǎn);異構(gòu)(CPU-GPU)計算機系統(tǒng)性能評測與優(yōu)化技術(shù)研究[D];國防科學(xué)技術(shù)大學(xué);2011年
10 謝萌;針對Multi-core CPU和General Purpose GPU在MATLAB下微分方程常用算法的優(yōu)化[D];河北科技大學(xué);2012年
本文編號:1719957
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/1719957.html