《大数据管理概论》一3.4 大数据处理与存储一体化技术

本节书摘来自华章出版社《大数据管理概论》一书中的第3章,第3.4节,作者 孟小峰,更多章节内容可以访问云栖社区“华章计算机”公众号查看

3.4 大数据处理与存储一体化技术

日益增长的数据量对当前计算机系统提出了重大挑战。传统计算机系统依赖于计算为中心的计算和存储分离的计算模型。互联网的广泛应用、业务流的日趋复杂和数据获取方式的增多催生了大数据时代的到来,随后以“MapReduce”为核心思想的各类大数据系统蓬勃发展。然而,大数据计算存在的单节点存储容量小、计算实时性高、通信频繁等问题,往往会阻碍计算性能的充分发挥,导致当前大数据系统的效率下降。
如图3-2所示,目前大数据体系结构的相关研究在存储和计算两方面展开。存储问题主要表现为,在数据密集型应用中,系统节点内部因传统体系结构限制,数据访问和移动代价问题更为突出。计算问题主要表现为需求的复杂和多样性,使以CPU为核心的通用计算模型难以完全应对,致使计算性能低、能耗高。针对大数据特点的新型计算机体系结构也由此被广泛关注,且逐渐成为研究热点。如图3-2所示的计算存储一体化架构是未来面向大数据计算的高效体系结构之一,其使用最新的三维堆叠、嵌入式NVM和光通信等技术,能最大限度地使计算靠近数据,然而针对此结构仍有很多问题有待解决。


《大数据管理概论》一3.4 大数据处理与存储一体化技术

3.4.1 一体化架构中的大数据存储

在传统体系结构下,以CPU为计算中心,数据最终被移入CPU并接受处理,存储以分层方式缓解“存储墙”问题,但数据访问的平均时间依然是计算的200倍。在大数据背景下,数据密集型应用陡增,数据更为频繁地换进换出,其访问代价问题更加突出。因此,传统体系结构已不能适应大数据的计算特点,针对该问题主要有以下两方面的解决思路。
(1)从硬件角度出发,使用新硬件或新技术加快数据访问
针对主存瓶颈,NVM较传统硬件访问延迟更低,三维堆叠技术可有效提高内存带宽。NVM延迟接近于DRAM,且具有非易失性和高容量。NVM代替(或部分代替)DRAM作为主存使用时,由于非易失性,数据可直接从主存读取,使内存计算成为可能,元数据及热数据直接存储在NVM上或利用其字节寻址特点,构建主存文件系统,以上均是加快数据访问的研究热点。三维堆叠技术使单个封装体内可堆叠多个芯片,从而使芯片可直接互连,互连线长度显著缩短,因此内存体积更小、容量更大且速度更快。利用eDRAM或三维堆叠内存特性可将更多的内存移至CPU/GPU片内,或移动更多计算操作进入内存,如processing-in-memory (PIM)和near-data-computing (NDC)思想都是加快数据访问很好的尝试。
针对外存瓶颈,SSD作为可量产的新型外部存储,较HDD延迟更低;HDFS等分布式文件系统较传统文件系统可靠性更高、容量更大。针对SSD的低延迟和读写不一致性,专门优化过的日志型文件系统能进一步挖掘SSD潜力,从而提高数据访问效率;针对其特有的随机读写特性,优化过的数据库系统具备PBf?ilter、RS-Wrapper、ACR、FClock、AO-DB、HV-recover和HF-Tree等索引、存储、查询处理、日志恢复和缓冲区管理技术,不但能提高数据库性能,还可延长SSD使用寿命。HDFS作为常用的分布式文件系统,效率有待提升,针对元数据多维语义特征,将相关文件组织在相同或相近的组内,可提高HDFS的数据访问效率。
(2)从软件角度出发,针对不同存储方式提出相应优化方案以提高系统性能
数据一般以存储数据顺序、关系表、键值对、存入图数据库和无结构等五种形式存储。由于待处理数据量大,存储数据顺序的B+树结构已出现写吞吐量低的现象;关系表的行存储压缩率低且投影操作效率低,而列存储中,记录转换为列存储需要额外开销且选择操作效率低;键值对的随机内存访问代价高。当前为了优化上述数据存储方式因数据访问而带来的性能下降问题,在写操作频繁的应用场景中,存储数据顺序方式使用LSM-tree提高写吞吐量;为兼顾行存储和列存储的共同优点,在分布式系统的节点中使用行列混合存储方式(如RCFile)处理关系表;为降低随机内存访问延迟并提高吞吐量,使用单指令多数据流模式(SIMD)并发内存访问键值对数据。

3.4.2 一体化架构中的大数据处理

在计算机体系结构中,将计算抽象为定点和浮点两大类后,CPU成了通用数据处理中心。然而随着处理数据的日趋多样和复杂,以CPU为代表的粗粒度计算形态已不能完全应对所有的计算任务,因此先后出现了图形图像处理器GPU、现场可编程门阵列FPGA和专用集成电路ASIC等细粒度计算形态。尤其随着大数据时代的到来,特定领域数据爆炸式增长,针对领域的定制体系结构被广泛关注,而“定制计算”以其计算性能较传统计算几十乃至上百倍的提升逐步成为当下研究热点,并以以下两条主线
开展。
(1)为加速特定领域的计算服务,改进或设计专用处理单元
就数据库领域而言,借助NVM特性将简单的与、或、非等逻辑操作在不使用CPU情况下直接在主存完成,从而实现Processing-in-NVM的PINATUBO架构,可有效加速数据库及图相关应用。嵌入式架构因尺寸限制,其上的内存数据库设计更需与硬件紧密结合。基于CPU-GPU紧耦合架构的OmniDB数据库可实现混合处理细粒度查询、部分查询等操作;基于Intel Xeon Phi的PhiDB数据库能有效提高散列连接的性能;基于FPGA的数据库系统可高效对数据进行分片。
就神经网络类算法而言,对于构造大型神经网络,传统体系结构下的集群环境不仅散热问题严重,而且能耗惊人。因此重新设计该类算法的专用处理器成为研究热点,如“DianNao”深度学习处理器、“DaDianNao”多核深度学习处理器、“PuDianNao”通用机器学习处理器、“ShiDianNao”摄像头上的智能识别IP等使相关算法在性能和能效方面得到显著提升。针对神经网络应用,使用Crossbar结构的ReRAM作为点积运算的加速器和存储器实现Processing-in-memory的PRIME架构,也可有效处理并加速深度学习相关应用。
就虚拟化和云环境而言,生产环境下大数据系统往往运行在云平台上,而特定计算可通过GPU加速,所以GPU的虚拟化技术至关重要。例如,当前的gVirt方案由于严格的影子页表同步机制导致随着应用和系统的复杂度提高而性能急剧降低,其团队新的研究成果通过松散一致性同步的混合影子页表机制,较gVirt方案可将性能提高13倍。
(2)为加速多领域的计算服务,改善专用处理单元的通用性或设计新的通用处理单元
就硬件而言,定制硬件仅能加速特定领域,因此可通过重塑处理器加速大数据系统并处理多领域问题。大数据系统需要广泛面对各种不同类型的数据、应用及场景,然而传统的硬件定制化仅针对某些特定数据、应用及场景加速,使得硬件定制加速的局限与大数据系统的广泛应用产生矛盾。中科院计算所的一个研究小组研究的可重塑处理器(Elastic Processing Unit,EPU),以函数为指令集,即1条指令完成1个函数,完成一个指令后,可在极少的时钟周期内完成重塑,以执行下一条指令,因此该架构能加速大数据内存计算的共性应用,面对各种不同类型的数据都能缩短计算延迟。
就软件而言,硬件加速器结构各异,因此通过加速库函数可间接加速其上的代码。硬件加速器应用领域有限,且编程困难,导致程序移植性差,为提高基于加速器程序的可移植性,库函数成为理想的加速目标,因为库函数应用广泛且基于库函数的代码具备可移植性。通过使用基于硬件加速器和三维堆叠内存重写的库函数,数据密集型应用较Haswell/Xeon Phi架构可得到75倍能效提升。

3.4.3 一体化架构面临的挑战

1)不同存储器的混合存储模型:NVM、SDD和HDD的容量依次增大,但访问速度和价格是依次降低的,单独使用一种存储设备都难达到高性价比,因此对数据按访问热度区分,采用混合模式存储是未来的研究方向
之一。
2)新型存储器的文件系统设计:随着存储介质的访问延迟越来越低,软件开销占比越来越高。在传统磁盘存储系统中,软件开销所占比例为0.3%,PCIe闪存卡系统中软件开销占21.9%,随着NVM的发展,预计软件开销比例将高达94.09%。针对如NVM等新型存储硬件,低的软件开销与复杂的管理功能成为核心矛盾,如何设计低延时、高可靠的软件管理系统成为难点。
3)更高的抽象层次上设计专用处理单元:对不同应用场景重新设计硬件是定制计算的局限,对大数据共性问题的抽象是设计专用大数据处理单元的重点和难点。通用的CPU为粗粒度计算模式,但计算效率低,专用的FPGA等为细粒度计算模式,但编程复杂,结合了两者优点的“适中”的处理单元和编程模型也许会成为未来的研究方向之一。
4)新型大数据体系结构的系统生态圈建设:大数据体系结构相关研究正如火如荼地开展着,新硬件和新型体系结构如雨后春笋般出现,但其上的软件系统研发、专门人才培养和系统生态构建等问题却少有问津,导致成果较难转化为实际生产力。优秀的大数据体系结构需符合市场需求并有完善的生态系统与之匹配,才能发挥最大效力,而生态系统的建立需要人人参与。如何设计吸引力强、准入门槛低且使用友好的硬件和体系结构也许会是未来的研究方向之一,或许在新领域而非已有领域使用新型大数据体系结构加速应用,更容易被人们所接受。

上一篇:基于云应用处理大数据的 4V 特征


下一篇:C#委托基础7——匿名方法