新型存储与内存计算
发布日期:2019-05-21
        

​​随着信息技术的发展,数据的规模呈爆炸式增长,对于存储效率和计算性能的要求与日俱增。由于大数据在国家发展中起到重要作用,并已渗透在智慧城市、国防安全、日常生活、行业发展等各方各面,因而,大数据处理的两大核心技术,存储和计算就尤为重要,在上层应用和下层硬件之间起着承上启下的作用。一方面,它们需要迎合新型硬件新特性的要求,另一方面,又要兼顾上层应用的多样性、海量性及复杂性等变化。因此,为了应对这些挑战,面向新型存储和内存计算的研究层见叠出,目的是构建存储和计算性能更高的大数据处理系统。

在数据量飞速增长的同时,基础硬件的性能也在不断改善。更快速的网络设备、更高效的存储介质等相继问世。这些新型硬件的特性给传统的软件架构带来了不小的挑战。先前的操作系统、文件系统、计算系统等都是依据多层体系架构和缓慢设备进行设计的。如果直接将传统的软件应用于新型的设备,既受到接口的限制,无法充分使用其新特性,又无法充分发挥其性能优势。因此,新型的非易失内存(Non-Volatile Memory, NVM)和远程直接数据存取(Remote Direct Memory Access, RDMA)便成为研究热点。

将数据全部缓存在内存中进行计算,可以显著地避免由于缓慢外存带来的高延迟、低带宽的缺点。然而,虽然单台物理机器的计算物理核数量可以达到数百个(最大主频接近3GHz),但是传统内存的发展却停滞不前,遇到了瓶颈(Memory Wall)。由于硬件上的限制,传统的动态随机存储器(DRAM)容量难以继续扩展,远远无法满足大数据对于内存的需求。从系统架构上考虑,使用新型的内存设备(纵向扩展)或者分布式共享内存(横向扩展)都可以在一定程度上打破现有单机内存容量的限制。

对于分布式共享内存,网络通信是影响整体性能的主要瓶颈。网络通信最早可以追溯到上个世纪末期,由于当时网络带宽的限制,其只能停留在小规模集群上。InfiniBand1网卡和专用网络给这项技术重新赋予了活力。相比于传统的网络传输技术,新型的RDMA技术具有更低延时、更高带宽的特性。同时,传输过程可以旁路远端操作系统,减少操作系统参与通信的开销。通过结合新型RDMA技术,分布式共享内存的性能获得极大提升,将会更适应以互联网应用为代表的新型大数据内存计算、内存存储、云计算应用等等。

在单机内存纵向扩展方面,传统体系结构利用外存作为内存的二级存储,以扩展内存处理超过内存大小的数据以及保证数据掉电不丢失等问题。传统的外存存储介质比如机械硬盘(HDD)、闪存(Flash)、固态硬盘(SSD)等,存储空间虽然很富裕,但是相比于内存具有更高的延迟和更低的传输带宽,并且只能按照块级别进行读写,从而导致存储的接口往往会成为系统的瓶颈。因此,对于内存的更高要求催生了一批类似RamDisk的工作。它们的目的是利用一组外存设备来达到近似于内存的执行速度。而另一方面,内存(DRAM)读写性能很高,读写延时低至50ns,可以通过字节寻址(byte addressable),但是内存的容量相对外存较低,且不能够保证在机器断电或者数据中心发生灾难时数据不会丢失。

NVM的出现给内存的纵向扩展带来了新的思考。NVM可以被认为是外存与内存设备的中间态,能够同时兼顾外存存储介质和内存的优点:存储量比内存大比外存小,具有非易失的特点,可以满足字节寻址的需求。这样的新特点促使研究人员开始尝试利用NVM来替换传统的内存。与此同时,NVM相关的电子电路技术也在不断的演变,已经相继出现了以相变存储器(PCM)和阻变存储器(ReRAM)为代表的技术来实现NVM。由于NVM的中间特性,NVM被分别用在实现事务系统和存储系统之中。除了这两个特性外,NVM还具有读写差异性、介于内存和外存存储介质之间的耐久度,因此需要对系统进行重新设计。对于原来以内存为基础的系统而言,在使用了NVM之后,需要考虑的是如何减少写操作,从而提高性能且增加器件的使用寿命;另一方面,还需要考虑如何通过合理的算法来保证数据的均衡写,以避免对于单个存储单元的过度写。如其不然,将导致该单元的损坏,最终使得整个存储设备不可用。

由于NVM带来的新的硬件特性势必会造成原有软件设计模式的改变。例如,现有系统的Cache数据刷回到DRAM是由系统控制的,程序无法自动进行缓存的持久化。同时,还会造成机器崩溃时数据丢失或者数据不一致的问题。IntelNVML提供了针对NVM的编程范式,该编程范式通过引入新的编程接口来指导开发者持久化数据。此外,还需要重新针对NVM进行部分数据结构的设计(哈希表、B树、B+树等),用来保障数据的持久化、可恢复性,避免写频繁等等。针对哈希表结构的拓展和优化,须有效地减少写比例;针对树型结构,还须解决写频繁的问题。与此同时,传统文件系统在使用NVM之后,可以充分利用字节寻址的特性,减轻原有针对多层体系结构的软件执行负担,达到更高吞吐量的目标。

此外,上层应用处理需求的变化也同样推动着计算和存储技术的发展。例如,同时满足OLTPOLAP的新型混合数据库HTAP,就是在顺应数据增长背景下,处理业务需求的产物。而在全内存模式下,传统的并发控制技术已经成为内存数据库系统的性能瓶颈。针对HTAP的应用场景,设计更加高效的并发控制技术,已成为提升处理性能的有效手段。

针对新型硬件和新应用场景的需求,设计更加高效的存储以及内存计算技术的研究正在蓬勃发展,本期专题以新型存储和内存计算为主题邀请国内专家撰稿,重点探讨新型存储和内存计算的设计理念以及优化措施,介绍近年来该领域相关的发展趋势。

华中科技大学的博士生左鹏飞,教授华宇撰写的《面向非易失内存的高效能数据组织模式》一文,介绍了其针对NVM的应用场景提出的路径哈希和层次哈希两种高效的哈希索引结构。这两种方法主要关注于降低哈希索引在NVM上的写操作频次,同时进一步提升了整体的访问性能。

清华大学计算机系助理教授陆游游,教授舒继武撰写的《持久性内存:从系统软件的角度》一文,从单机的操作系统出发,详细阐述了持久性内存对崩溃一致性、文件系统、内存管理、持久性堆的影响,并介绍了相关的研究工作进展,深度探讨了分布式存储系统在持久性内存上面临的问题和研究现状。

中国科学院计算技术研究所副研究员蒋德钧,研究员熊劲等撰写的《面向持久性内存的存储系统设计与优化》一文,从存储系统的多个维度探讨了持久性内存对其软件架构的影响。他们详细阐述了面向NVM的高效索引结构的性能优化方法,如哈希表、B+树、LSM-Tree,多种基于软件层面的宕机一致性保障技术,以及针对元数据通路和数据通路优化手段。

上海交通大学硕士生杨帆,副教授陈榕,教授戚正伟等撰写的《分布式共享内存与内存计算》一文,详细地阐述了共享内存技术在大数据背景下面临的挑战,深入介绍了新型硬件对内存计算架构设计的影响,并详细介绍了其课题组针对分布式共享内存架构和虚拟化架构提出的两种高效的解决方案MAGIGiantVM

华东师范大学教授钱卫宁等撰写的《面向HTAP的内存数据库并发控制技术》一文,专注于OLTPOLAP混合架构(HTAP)下并发控制技术的设计思考,深入探讨了HTAP的起源与现有系统架构,详细地分析了传统并发控制技术在HTAP架构下面临的问题,介绍了针对HTAP架构的内存数据库并发控制技术的研究现状。

新型硬件和应用类型的出现,催动着计算和存储软件设计的变革,萌生出一系列新型的存储和内存计算架构。未来,随着硬件的不断发展、应用场景的多样化,传统的存储与内存计算系统很难满足发展的需求,诸多软件架构会被重新审视,势必会产生更多理论和应用的发展新趋势。此外,针对现有新型硬件的研究还未成熟,深度优化现有理论会带来更多新机遇。

 


友情链接:                     

版权所有©1980-2014 足球押注靠谱的平台-好用的足球竞猜app
地址:北京市海淀区清河小营东路12号
邮编:100192 | 联系我们