当前位置:主页 > 科技论文 > 计算机论文 >

CPU和GPU协同运算下的DEFLATE算法性能加速研究

发布时间:2018-04-07 16:29

  本文选题:GPU 切入点:OPENCL 出处:《吉林大学》2013年硕士论文


【摘要】:异构计算,是未来高性能计算领域发展的主要趋势。顺应这种技术的发展趋势,GPU通用计算技术正面临前所未有的发展机遇。图形处理器在硬件设计方面具有:浮点运算能力强大,适合大规模、高计算密度并行数据处理等特点。GPU通用计算技术就是利用图形处理器的这些特点去完成那些非图形处理领域的通用计算任务。随着GPU编程技术的不断发展,利用GPU去协同CPU构建计算性能强大且成本较低的高性能计算平台具有广泛的应用前景。 信息时代带来了“信息爆炸”。随着互联网的兴盛以及移动通信的发展,海量信息的存储及通信等问题日益突显。数据压缩的作用及其社会效益、经济效益将越来越明显。如果不进行数据压缩,那么无论是数据存储还是数据传输都很难实用化。使用数据压缩的好处在于:数据压缩不仅仅是能够为用户节约存储空间,也能较快的传输各种信息,减小通信延迟。此外,在节省通信带宽和节约信息传送资源消耗方面,,数据压缩也能起到很大的作用。 当前数据压缩领域流行的无损压缩算法有很多,如DEFLATE、BZIP2、LZMA、LZMA2等等,其中压缩速度最快的是DEFLATE压缩算法。根据对DEFLATE算法性能的实际测试,发现DEFLATE算法在大数据文件压缩方面的性能表现,并不如预期那样令人满意。因此,本文将以对DEFLATE算法进行性能改进作为实际出发点,研究如何利用GPU通用编程技术优化日常应用软件的执行效率。 在DEFLATE算法的各种实现版本中,我们选择了GZIP的实现版本,因为该实现版本是最接近RFC1951文档中关于DEFLATE算法的描述。在优化方案上,我们选择了使用CPU和GPU协同运算加速的方式。为GZIP的运行重新设计了一套并行流水线机制,对部分算法的CPU实现代码进行了改进,并用OpenCL编程框架将DEFLATE算法中比较适合GPU编程的部分进行了kernel实现。经过多种硬件环境的测试,结果表明,该解决方案的最终实现版本能够对部分测试用例起到不错的加速效果。 本文在实现对DEFLATE算法进行CPU和GPU协同加速的同时,也对以下内容作了较深入的分析和研究: 1.对GPU体系架构和GPU编程技术进行了探讨。对NVIDIA和AMD两大显卡生产厂商的GPU架构设计特点,进行了系统分析。给出了GPU编程技术的发展历史,介绍了利用OpenCL的编写GPU通用程序的方法。 2.总结分析了相关的数据压缩技术。以BZIP2算法和DEFLATE算法为例,分析了压缩算法的压缩原理和常见的压缩技术。细致分析了DEFLATE算法的LZ77压缩编码部分和Huffman熵编码部分。 3.对GZIP源码的分析。主要分析其源码的组成结构、关键函数的实现细节以及优化可能性分析等。通过那些分析内容构建出一套比较合理的优化解决方案,并实现于最终的改进代码中。
[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.
【学位授予单位】:吉林大学
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:TP338.6;TP391.41

【相似文献】

相关期刊论文 前10条

1 谢茂涛;计算机数字逻辑器件故障分析[J];鄂州大学学报;1999年03期

2 陈一鸣;I~2C总线技术在彩电中的应用[J];浙江万里学院学报;2002年01期

3 王楠,高庆狮,侯紫峰,宋建平;一种高安全性的新型存储体系[J];计算机研究与发展;2004年05期

4 宗军红,王春生,孔令旭,景素霞,胡宪锋;数据库物理设计需注意的几点问题[J];油气田地面工程;2002年02期

5 田春仿;微电脑控制系统的剖析方法[J];武汉理工大学学报(信息与管理工程版);2002年02期

6 杨晓红;微机的散热分析[J];高等职业教育-天津职业大学学报;2002年05期

7 孙峻岭;智能感温火灾探测器的低功耗设计[J];安徽电子信息职业技术学院学报;2004年02期

8 林昱;主板技术的新发展[J];北京联合大学学报;2001年02期

9 苏阳;软件的抗干扰技术软件[J];信息技术与标准化;2002年03期

10 张春玲;《汇编语言程序设计》教学难点解析[J];河北广播电视大学学报;2002年03期

相关会议论文 前10条

1 李全钢;张芳;宋振兴;;基于CPU卡的一卡通系统在宣钢2#服务区的应用[A];2011年河北省冶金信息化自动化年会论文集[C];2011年

2 邹云鹏;康雁;;基于CPU的光线投射算法的并行计算方法[A];中国生物医学工程学会成立30周年纪念大会暨2010中国生物医学工程学会学术大会青年优秀论文[C];2010年

3 李求实;王秋月;王珊;;平衡IO和CPU的XML关键词检索技术[A];第26届中国数据库学术会议论文集(A辑)[C];2009年

4 胡益新;奚永新;;基于双32位CPU的电除尘控制器的设计[A];第十四届中国电除尘学术会议论文集[C];2011年

5 罗宗扬;薛利兴;左德承;张展;杨孝宗;;基于JTAG的CPU故障注入工具的设计与实现[A];第十四届全国容错计算学术会议(CFTC'2011)论文集[C];2011年

6 赵朝霞;;浅论梅山2~#石灰竖窑控制系统[A];第十一届全国自动化应用技术学术交流会论文集[C];2006年

7 樊番;;PLC与智能从站之间的通讯[A];2008年全国轧钢生产技术会议文集[C];2008年

8 樊番;;PLC与智能从站之间的通讯[A];2008年河北省轧钢技术与学术年会论文集(下)[C];2008年

9 谢卫才;林友杰;彭磊;谢澍;;基于双CPU的电机节能控制[A];第十六届中国小电机技术研讨会论文摘要集[C];2011年

10 肖永顺;陈志强;张丽;;工业CT断层重建算法的通用计算硬件加速[A];2004年CT和三维成像学术年会论文集[C];2004年

相关重要报纸文章 前10条

1 本报记者 汤铭;CPU:迎接融合时代[N];计算机世界;2011年

2 苏州国芯科技有限公司董事长 郑茳;打开国产嵌入式CPU应用之路[N];中国电子报;2011年

3 重庆 陈静;移动CPU大跃进性能竞赛引担忧[N];电脑报;2011年

4 本报记者 刘肖勇;网络蓝军:一块CPU,就是一架轰炸机[N];广东科技报;2011年

5 刘清;税务总局严打虚假出口CPU骗取退税行为[N];中国贸易报;2009年

6 何雨欣 李延霞;税务总局:严打虚假出口CPU骗税行为[N];中国企业报;2009年

7 上海硅知识产权交易中心 俞慧月;中国须尽早确定CPU专利对策[N];中国电子报;2009年

8 黑龙江 高林;彩电CPU故障的分析与速修两例[N];电子报;2011年

9 记者 孙勇;税务总局严打虚假出口CPU骗税行为[N];经济日报;2009年

10 本报记者 刘丽丽;浪潮 推新服务器 国产CPU市场化启程[N];计算机世界;2011年

相关博士学位论文 前10条

1 葛海通;32位高性能嵌入式CPU及平台研发[D];浙江大学;2009年

2 朱二周;基于CPU/GPU平台的虚拟化技术研究[D];上海交通大学;2012年

3 肖汉;基于CPU+GPU的影像匹配高效能异构并行计算研究[D];武汉大学;2011年

4 王明宇;低功耗双界面CPU智能卡芯片的研究与设计[D];复旦大学;2011年

5 李波;基于异构多核平台的优化编程研究[D];华中科技大学;2011年

6 郑丹丹;嵌入式CPU的纳米尺度SRAM设计研究[D];浙江大学;2009年

7 赵佳;虚拟机动态迁移的关键问题研究[D];吉林大学;2013年

8 李敏;基于协同异构模型的成形模拟计算加速[D];华中科技大学;2010年

9 廖永波;SOC软硬件协同方法及其在FPGA芯片测试中的应用研究[D];电子科技大学;2010年

10 林一松;面向GPU的低功耗软件优化关键技术研究[D];国防科学技术大学;2012年

相关硕士学位论文 前10条

1 李晶;CPU和GPU协同运算下的DEFLATE算法性能加速研究[D];吉林大学;2013年

2 徐连军;双CPU冗余通信控制系统的研究与实现[D];西安电子科技大学;2011年

3 林守林;基于CPU利用率的功率调整策略的研究与实现[D];中国地质大学(北京);2010年

4 冯元华;嵌入式多CPU控制器硬件体系分析与设计[D];暨南大学;2010年

5 徐峰;双界面CPU智能卡并行测试仪设计开发[D];复旦大学;2011年

6 奥飚;运用CPU卡的电力收费系统中密钥管理系统的安全性研究与设计[D];华北电力大学(北京);2011年

7 范晓亮;基于FPGA的双核模型机CPU的设计与实现[D];东北大学;2008年

8 胡杰;CPU-GPU异构平台计算模型的研究与应用[D];大连理工大学;2011年

9 成思远;异构(CPU-GPU)计算机系统性能评测与优化技术研究[D];国防科学技术大学;2011年

10 谢萌;针对Multi-core CPU和General Purpose GPU在MATLAB下微分方程常用算法的优化[D];河北科技大学;2012年



本文编号:1719957

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/1719957.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户17799***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com