责编:zhangxuefeng
1 引言
闪存是目前相对较成熟的新型存储技术。基于闪存的SSD已经大量装备在服务器上,成为企业级存储解决方案中的重要组成。由于闪存的整体存取性能优于磁盘,因此理论上可以借助闪存提升大数据存储和管理的性能。在早期的一些研究工作中,研究人员往往假设未来存储系统中闪存可以完全替代磁盘作为外存,但是,由于闪存的读写不均衡特性以及寿命问题,目前实际的系统中往往是DRAM、闪存和磁盘共存。
在利用PCM替代DRAM方面,理论上可以有两种架构,即纯PCM主存架构和DRAM/PCM混合主存架构。在纯PCM主存架构中,PCM完全替代DRAM作为唯一的主存,而在DRAM/PCM混合主存架构中,DRAM和PCM共同作为主存。在后一种架构中,又存在着两种可能的设计:一是将DRAM作为PCM缓存的层次架构,另一种是DRAM和PCM并列的平等架构。目前,大多数的研究都假设DRAM/PCM的混合主存架构[10,11,23-25]。研究者针对DRAM/PCM的混合主存架构,提出了多种PCM写操作优化[23]以及负载均衡算法[10,11,24]。由于PCM的写次数有限制,因此如何在混合主存中减少PCM上的写操作是目前的研究重点。
但是,现有的大数据存储技术还存在着以下的局限性[16]。
因此,如果能够利用PCM等新型存储器件设计出适合大数据存储与管理的新型存储架构(如图1所示),同时设计新的分布式多节点存储技术,则可以将大数据存取集中在DRAM和PCM上,充分发挥DRAM和PCM的高性能特性以及PCM的随机存取和非易失优点,而且可以利用分布式多节点存储的优势建立高扩展的大数据存储系统,从而有望彻底解决大数据存取中的性能与容量问题,为大规模的大数据分析与应用提供有力的支撑。
(1)基于新型存储架构的数据存储分配与调整机制
在传统的基于“DRAM+SSD/HDD”的存储架构下,DRAM与外存之间的I/O是影响系统查询处理性能的瓶颈。但在基于新型存储架构的大数据应用系统中,索引的设计不仅要考虑内外存之间的I/O代价,还要考虑异质内存之间的数据迁移代价(从DRAM到PCM以及从PCM到DRAM),此外还要考虑PCM等新型存储的器件特性(例如芯片写次数有限制)。另一方面,大数据应用系统往往构建在分布式环境之上,由于数据的分布以及涉及的数据量过大,传统的单一索引机制不能从根本上解决问题。因此,需要针对新型存储和分布式查询处理要求,设计相应的大数据索引结构以及操作算法。
在基于PCM的存储管理方面,Ramos L E等人[30]提出了一种针对DRAM/PCM混合主存的硬件驱动的页面置换策略。该策略依赖一个内存控制器(memory controller,MC)监控内存页面的使用频率和写密集程度。MC在DRAM和PCM之间进行页面迁移,保证性能攸关的页面和频繁写的页面保存在DRAM中,而性能不太敏感以及很少写的页面存储在PCM中。Qureshi M K等人[23]提出了一个层次型混合主存系统。他们将DRAM设计为CPU和PCM之间的缓冲区。所有的数据页都存储在PCM中,只有当DRAM发生页面置换或者需要访问新的页面时系统才存取PCM。Wu Z L等人[31,32]在PCM存储管理方面也提出了动态桶列表(dynamic bucket list)以及写敏感的混合时钟存储管理方法。
(2)支持新型存储架构的分布式文件系统
随着云计算和物联网等新一代信息技术的涌现,对海量存储系统的低能耗、高速及高可靠性的需求日益凸显,以新型存储取代传统存储介质的呼声越来越高,而PCM有望成为未来新型存储的主要技术。与DRAM、闪存等存储介质相比,PCM具有非易失性、存取速度快、节能、可字节寻址、写寿命长等优点[19]。韩国三星(Samsung)公司与美国美光(Micron)公司是目前在PCM技术方面较为领先的两家公司,其中三星公司开发出的65 nm制程、512 MB容量的PCM芯片已投入量产,并应用在三星公司的手机存储卡中;同时三星公司已经推出了20 nm制程、8GB容量的相变内存颗粒。美光公司已经成功研制了45 nm制程、1GB容量的LPDDR2接口的PCM芯片产品,并已经量产[20]。我国中国科学院上海微系统与信息技术研究所近年来也研制了中国自主知识产权的PCM芯片(8 MB),为研制我国自主产权的新型存储系统奠定了基础[21]。此外,华中科技大学自2007年开始研究高密度低功耗的电阻式相变存储器、相变存储器功能芯片、相变存储器芯片的关键材料以及相关专用测试设备等,已经自主研制出具有简单读、擦、写功能的相变存储器功能芯片[22]。
5.3 基于新型存储的大数据管理
在数据存储调整方面,一种可能的方法是基于应用对数据的访问模式变化,自适应、动态地调整数据存储策略。访问模式的度量基于数据的访问频度以及存取方式(读/写)两类因素,通过周期性考察的方法确定当前数据访问模式的变化程度,并基于访问模式的变化程度确定是否重新执行数据存储分配。一旦确定了新的数据存储分配策略,将对相应的数据进行介质之间的迁移操作。
针对大数据高效存储与管理问题,目前除了Hadoop技术之外,学术界和工业界也提出了一些其他的设计,包括以NoSQL数据库为代表的大规模分布式数据库系统设计[6]、基于动态随机存取存储器(dynamic random access memory, DRAM)的内存数据库技术[7]等。但现有的NoSQL分布式数据库技术仍以磁盘存储或者“磁盘+闪存(flash memory)”混合存储的方式存储数据,本质上还是传统的“CPU-DRAM-二级存储”的存储架构,依然存在着内存和磁盘之间的“存储墙”问题,难以从本质上解决大数据实时存取的问题。此外,由于DRAM能耗和成本较高,也限制了其在大规模数据处理中的应用。
● 以NoSQL数据库为代表的大规模分布式数据库系统设计了基于磁盘存储的读写方式、索引结构、查询执行、查询优化、恢复策略,但是磁盘固有的读写性能差等弊端限制了大数据存取尤其是大数据分析性能的提升。
虽然目前在基于闪存的索引设计方面已经有了不少的工作,但由于在大数据存储中引入了PCM等其他类型的新型存储介质,而且在计算架构上产生了根本性的变化(闪存定位在二级存储,而PCM则可以用于直接的内存扩展),因此,近年来研究人员也探讨了针对PCM的B+树索引优化问题。Chen S M等人[44]最早在2011年的国际创新数据库研究会议(International Conference on Innovative Database Research,CIDR)上测试了B+树在采用了PCM主存技术的服务器上的性能。其研究结果表明,当PCM技术应用到数据库服务器上后,因其具备高速随机访问特性,传统的索引技术应进行新的设计。他们在后续的工作中继续研究了针对PCM等非易失内存的B+树索引结构[45],类似的工作还有Hu W W等人[46]提出的BP-tree、Chi P等人[47]提出的写优化B+树以及Li L等人[48]提出的面向PCM的读写趋势感知的CB+-tree索引。这些工作基本都采用了针对PCM特性优化传统的B+树的思路。
大数据已经成为目前的一个研究热点[1]。如何改进现有的数据存储与管理技术或者设计全新的体系结构,以满足大数据应用中的大数据量和高速数据流实时处理需求,是大数据技术中的核心问题之一。如果采用传统数据库管理系统(database management system, DBMS)的集中式数据存储方式,大数据存取性能就会受到极大的影响。Hadoop技术虽然提供了对大规模数据的快速、低成本存储和管理,但它是一个离线、批量的数据处理系统,对于实时数据处理与分析的支持较弱,难以满足许多应用的要求。例如,在城市公共安全中,通常要求能够对高达每秒几千帧的高清监控视频流进行实时处理与分析。但目前在传统计算体系结构下,单台计算机只能支持每秒150~300帧的低分辨率图像实时异常事件检测[2,3]。如果要做进一步的目标识别,根据目前的处理技术,性能将下降到每秒16帧左右[4,5],远远不能满足每秒几千帧高清图像的实时处理要求。因此,迫切需要研究能够满足大数据高效存储与实时处理的新型体系结构与新方法。
基于PCM的主存架构为实现大数据的实时处理提供了可能。首先,PCM的低能耗特性使得在集群系统中使用大量的PCM存储代替DRAM成为可能,从而降低系统成本。其次,PCM的持久存储特性可以通过设计有效的算法提高分布式存储环境中的数据一致性。第三,PCM的高密度特性可以为内存计算提供有力的支持。
在DRAM、闪存、磁盘共存的存储架构下,闪存通常作为主存的扩展,即作为DRAM和磁盘之间的中间层,提升大数据存取的性能[26-28]。SSDAlloc[26]是基于闪存的主存扩展系统,它将闪存作为磁盘的缓存,实现了系统整体性能的提升。也有一些学者提出了将闪存作为虚拟内存,在DRAM容量不够的情况下,将闪存作为虚拟内存设备进行页面交换[27]。由于闪存性能总体优于磁盘,因此这种以闪存作为虚拟内存的架构理论上在大数据应用场景下性能优于传统的DRAM+磁盘的架构。
(2)基于新型存储架构的异质缓存管理
2.2 新型存储技术
6 结束语
闪存、PCM等新型存储的物理特性、读写特性等均与磁盘有着非常显着的不同,而目前已有的大数据数据库,其设计理念均是基于磁盘存储,在面对闪存、PCM等新型存储时,并不能最大限度地发挥新型存储的性能。目前,在基于新型存储的大数据存储管理方面也有一些研究工作。
3.1 基于PCM的主存架构
4 大数据存储管理
3.2 基于闪存的主存扩展架构
3 大数据存储架构
2.1 常见的大数据存储技术
5.2 基于新型存储的分布式内存文件系统
单节点文件系统是研制分布式随机访问内存文件系统的基础,具体包括新型存储架构下的文件原位访问技术、文件系统管理与控制技术、基于新型存储架构的内存管理机制等。
对于大数据处理而言,基于PCM的主存扩展总体上比基于闪存的主存扩展更具可行性。这是因为大容量的闪存本身仍然采用按页存取的方式,与CPU按位存取模式之间存在不一致性,而且在存取性能上PCM也高于闪存,因此更有望减小与CPU之间的性能差距,构建能够充分发挥CPU、DRAM和PCM各自优势的高性能数据处理系统。
PCM与闪存相比,其存取延迟更短,而且可以直接按位存取,因此能够被CPU直接存取,更适合作为DRAM的扩展。与DRAM相比,PCM具有非易失性特点,因此适合存储文件等静态数据。总而言之, PCM可以看作兼有DRAM和闪存的优点。从存储架构设计的角度来看,PCM既可以作为主存使用,也可以作为外存使用。但由于PCM的可字节寻址特性(与闪存不同),目前学术界对基于PCM的主存架构研究相对较多。
闪存是一种可以被电子化擦除和重写的非易失性存储设备[8]。基于闪存的固态盘(solid state drive,SSD)是目前市场上常见的闪存存储设备。与传统的磁存储介质相比,闪存具有传输速率高、低延迟、低能耗、低噪音、抗震等优良特性。同时也有一些特殊性质:写前擦除,对闪存的写操作不是简单地改变某个二进制位,而是需要将整个擦除块的所有二进制位置改为1,这带来了闪存的读写不对称性,一般采用异地更新的方式缓解写前擦除带来的延迟,减少读写不对称带来的影响;寿命限制,目前企业级闪存能耐受3万次写循环,消费级闪存仅为3 000次;读写与擦除的单位不一致,一个擦除块中包含若干个闪存页,擦除的单位是一个闪存擦除块,读写的单位是闪存页。
分布式存储技术将是解决大数据存储与管理问题的主要途径之一。一方面是由于Hadoop分布式技术已经为现有的大数据管理提供了一种行之有效的存储方案,而且已经在Google、Facebook等公司的实际应用中得到了验证,为大数据未来研究提供了有用的借鉴;另一方面也是因为在大数据应用中数据来源、用户等本身存在天然的分布特性,适合采用分布式存储技术。
PCM等存储级主存给存储与计算架构带来了极大的挑战,包括异构存储上的数据分配与调整机制、异质缓存管理机制、基于新型存储的大数据索引技术等。
除了闪存之外,近年来另一种新型存储介质——相变存储器(phase change memory,PCM)引起了学术界和工业界的广泛关注[9]。与闪存相比,PCM可以被CPU直接按位存取,而且存取性能更高。因此PCM可以与DRAM一样与CPU交互。但与DRAM相比,PCM存储具有非易失性,能够进行持久的数据存储。传统硬盘基于磁性存储机理存储数据,闪存基于微型电容储存电荷的机理存储数据,存储密度都有理论上限,而PCM基于微型相变单元存储数据的机理使其能够迅速超越固态盘的存储密度,并且在未来还有更大的提升空间。IBM公司把PCM这一类具有DRAM的存取性能,同时又具有持久存储能力的介质称为存储级主存(storage class memory,SCM)[10,11]。PCM等存储级主存以其非挥发、存储速度快、易实现高密度等技术特点,在高速与海量存储方面具有巨大的潜能,已被认为是下一代非易失存储技术的发展方向。另外,因该技术兼有DRAM的高速随机访问和闪存的非易失特性,模糊了主存和外存的界限,有望突破原有的存储架构,实现更高性能的存储。
PCM等存储级主存的出现及应用打破了传统的硬盘驱动器(hard disk drive,HDD)/SDD+DRAM的存储架构,为适应PCM等存储级主存PCM和DRAM共存的新存储架构,需研究新型的可支持以内存访问形式访问各种文件数据的新型文件系统。同时,由于大数据时代数据一般需要分布式存储与计算,因此在文件管理上还需要考虑对分布式环境的支持。因此,需要结合新型存储架构和分布式环境的需求,研究新型的大数据文件系统。该方向的一些研究要点包括以下几方面。
高效的大数据存储与管理如果仅从软件体系结构考虑很难取得本质性突破,因为在大数据环境下内存与外存之间的I/O瓶颈很难克服。以PCM为代表的新型存储为大数据高效存储与实时处理提供了可能。研究适合高效大数据存储和管理的新型存储架构,借助创新的系统软件设计,改变大数据处理过程中对外存I/O的依赖,有望克服目前大数据存储与管理中的性能瓶颈,并进一步带动大数据技术的未来发展。本文讨论了新型存储的特点以及现有大数据存储技术的局限性,在此基础上综述了基于新型存储的大数据存储管理领域的研究现状,最后给出了未来研究展望,以期能对新型存储与大数据管理的未来研究提供有价值的参考。
目前,公共安全、智能交通、物联网等许多应用都要求实现大数据的实时存取。但是,现有的Hadoop等技术还很难达到这一目标,主要的困难在于无法提供低延迟、高吞吐的大数据实时存取能力。新型存储的出现为解决这一难题提供了可能。首先,PCM等非易失内存的出现为实现大规模的内存计算奠定了基础,使得人们有可能在内存中支持高并发的事务处理,而不需要传统DRAM导致的大量I/O操作,从而实现低延迟的大数据存取。其次,借助基于新型存储的分布式内存文件系统等技术[12],可以大规模提升外存和内存的写吞吐速率。
相变存储器是一种非易失类型的存储器,由硫系玻璃材质构成[17]。由于这种材质的特质,通过施以电脉冲热,它可以在非晶态和多晶态这两种状态之间进行切换。PCM兼具速度快、耐用、非挥发性和高密度性等多种优势,其读写数据和恢复数据的速度是闪存的100倍[18]。