首页--工业技术论文--自动化技术、计算机技术论文--计算技术、计算机技术论文--电子数字计算机(不连续作用电子计算机)论文--存贮器论文

基于飞腾平台硬件数据压缩的研究与设计实现

【摘要】:数据压缩是有效处理大数据的关键技术,随着互联网技术的快速发展和普及,需要通过计算机存储和处理的数据正在以指数级的速度增长,研究如何对存储的大规模数据进行高效率的压缩以减少存储空间,以及如何对网络传输的数据进行压缩以减少网络传输流量,是现在大规模数据处理的重点。在国产飞腾处理器平台上基于zlib库的数据压缩解压通常采用软件实现,飞腾处理器在进行大数据的压缩解压时存在以下问题:1)受限于处理器性能,采用软件压缩解压时速度慢,耗费大量时间;2)在进行大量数据压缩解压时CPU使用率居高不下,影响了整个系统的性能。针对这些问题,本文通过研究zlib编程函数库,结合飞腾处理器的特性,完成了在飞腾平台中基于硬件的数据压缩解压缩实现。首先,本文研究了数据压缩的的相关原理,并介绍了数据压缩实现的两种方式:软件数据压缩和硬件数据压缩;接着介绍了硬件数据压缩的编码方式以及使用硬件实现数据压缩的三种方法:采用带固件协同处理器的方式、采用专用集成电路的方式和将二者相结合起来的协同处理器加专用集成电路的方式;接着介绍了软件数据压缩的常用算法,并分析了这些算法的优缺点,并从算法的压缩效率、压缩比、算法适应性以及硬件实现难易程度对这些算法进行了深入的研究分析。其次,介绍了飞腾平台的硬件架构及其处理器的特点:FT(飞腾)1000处理器采用sparc精简指令集、4核32线程,在多线程的任务处理方面性能突出;硬件CN61XX架构和特点:CN61XX包含一个MIPS处理器和专用压缩解压协处理器,适合对本地大批量数据进行压缩和解压处理,结合这些硬件特点和原始zlib函数库和CN61XX驱动基础,最后在飞腾平台上设计了FTHC(FT Hardware Compression)系统软件,该系统软件主要包括应用函数库模块、内核驱动模块和底层硬件模块。本文设计实现的FTHC系统结构简单合理、适应性强,可运行于windows、linux、sparc体系结构的系统中。再次,对实现数据压缩解压关键算法和内核驱动优化所使用的基于滑动窗口的字符匹配策略、数据分片技术、CN61XX识别技术、DMA缓冲区分配管理技术以及地址映射技术进行了深入研究,并结合飞腾平台和CN61XX特点,设计实现了FT-zlib编程函数库并提出了CN61XX高效DMA传输机制和基于一致性内存的命令环机制。FT-zlib编程函数库相对以前的zlib函数库进行了优化,采用了数据分片技术、增加了对CN61XX设备的识别探测机制并且对算法接口进行了设计,提高了函数库的可移植性;高效数据传输机制是为了提高CN61XX和主机之间数据传输的效率而提出,通常情况下采用聚集DMA操作方式,其缺点是一次操作大量数据不利于单个控制,而高效数据传输机制弥补了聚集DMA操作时对于单个DMA方向性的控制还提高了DMA传输的效率;基于一致性内存的命令环机制的提出有效的解决了设备驱动和CN61XX设备对同一块内存访问的需要,对于内存空间很容易出现写完之后再读的而产生的数据不一致,从而导致程序出错,命令环中使用的数据一致性管理策略很好的解决了主机和CN61XX互斥访问的问题,同时提高了整个系统的实时性。最后,采用Google提供的标准Snappy套件对整个系统进行了性能测试,以及使用Hadoop工具对系统进行了功能测试,测试结果表明在飞腾平台中基于硬件的数据压缩相对于以前的软件压缩效率提高了30到50倍,而软件的解压效率也提高了10倍,从而有效的缓解了飞腾平台中对大数据的压缩解压处理所带来的性能下降问题。
【关键词】:大数据 zlib函数库 数据压缩 一致性内存 双向DMA 命令环
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:TP333
论文共95页,点击 下载论文
上一篇:基于两级存储的正则表达式匹配技术研究
下一篇:基于飞腾平台的TOE优化技术研究与实现