前 言
2018-12-24孟小峰,陈世敏,罗琼
数据特性和硬件特征是高效数据管理的两个关键因素.一方面,随着大数据时代的到来,数据管理系统需要支持越来越海量、高速、多样的数据.各种新的数据管理技术纷纷涌现,不仅包括对传统的关系型数据库系统的扩展,而且包括多种新型的大数据系统,例如NoSQL系统、NewSQL系统等.数据的种类不仅有传统的关系型数据,而且有图类型、JSON树状数据等多种非传统数据类型.另一方面,计算机系统的硬件正在经历着深远的变化.更大容量的主存、NVM技术等正改变着存储系统的面貌.GPU、FPGA、专用加速硬件正逐渐由专用领域走向通用计算,对数据的运算和管理发挥着越来越重要的影响.因此,如何把这两者相结合,利用新型的存储和计算硬件高效地支持数据管理的需求成为一个重要的学术课题.许多基本问题还有待探索,包括系统架构、数据存储、索引、查询处理、能源效率等.
鉴于此,《计算机研究与发展》出版“面向新型硬件的数据管理”专题,侧重面向新硬件的数据库技术、面向新硬件的大数据系统、软硬件协同设计(Co-Design)的数据处理等方面,探讨面向新型硬件的数据管理基础理论研究及其应用,讨论该领域内最新的突破性进展,交流新的学术思想和新方法,展望未来的发展趋势.本专题包含7篇文章,内容涵盖面向新型非易失存储NVM的数据管理和面向新型加速硬件的数据管理两大方面,并反映了国内学术领域和产业界在面向新型硬件的数据管理方面的主要工作.
在大数据运算系统中,许多大规模运算分析要求数据在不同阶段以不同的顺序或划分方式分布在大数据系统的运算节点上,这是由Shuffle操作实现的.为了容错和避免重复计算,Shuffle操作常常把数据持久化到外存文件系统中,因而IO就成为影响Shuffle性能的重要因素,尤其对于以Spark为代表的内存大数据运算系统更是如此.NVM具有读写速度快、非易失、高密度等优点,为解决Shuffle操作的IO性能问题提供了新的契机.潘锋烽等作者在论文“NV-Shuffle:基于非易失内存的Shuffle机制”中,提出一种基于 NVM的Shuffle优化策略NV-Shuffle,采用了NVM主存进行Shuffle数据的存储与管理,从而避免了外存文件系统的开销.实验表明NV-Shuffie可有效降低Shuffle-heavy负载在Spark上的执行时间.
当运算节点的主存是由DRAM和NVM共同构成的异质内存时,除了可以利用NVM来避免IO开销,还需研究如何在内存大数据运算系统中合理布局数据到异质内存这个关键问题.王晨曦等作者在论文“面向大数据处理的基于Spark的异质内存编程框架”中,系统地分析了Spark应用的访存特征和其对OpenJDK的内存使用特点,提出了一套数据在异质内存布局的框架,通过简单调用的接口,可以将数据合理布局在NVM和DRAM之中.详细的实验分析表明由少量DRAM和大量NVM组成的异质内存可以达到与相同容量DRAM内存相近的性能,从而能够有效地利用NVM来满足更大规模内存大数据处理的需求.
为了满足数据管理、大数据计算对新型主存系统的需求,必须考虑不同种类存储器件的特性,设计高能效的存储架构.刘珂等作者在论文“基于高性能SOC FPGA阵列的NVM验证架构设计与验证”中,提出一种基于高性能SOC FPGA阵列的NVM验证架构,利用多层次FPGA结构扩展连接多片NVM,并在此基础上设计了主从式NVM控制器,不仅可以测试协同工作的同类型多片NVM,也可以验证混合NVM的存储方案.
在面向新型加速硬件的数据管理方面,GPU能够提供大规模线程的并行环境、高吞吐的内存和缓冲访问机制,因此基于GPU的大规模图数据处理算法和系统日益成为研究热点.但是,单个GPU的访存空间容量限制了图数据的规模.张珩等作者在论文“基于Multi-GPU平台的大规模图数据处理”中提出了一个基于多GPU平台的支持高效、可扩展的大规模图数据处理系统GFlow.GFlow提出了适用于多GPU的图数据切分策略和双展滑动窗口算法,合理布局图的属性数据、图结构数据和迭代计算的中间结果,从SSD存储至GPU设备动态地加载数据分块,从而有效地支持GPU对大规模图的计算.实验表明GFlow在多GPU平台下相比其他外存图处理系统有明显的性能优势.
传统的硬件加速器(GPU,FPGA等)和计算机主存是相互分离的,因此数据在主存和加速器之间的移动常常成为影响性能的重要因素.靠近数据的处理技术(near-data processing)和3D堆叠DRAM等新技术使硬件加速器可能集成到DRAM中,从而大大降低数据移动的代价.其中一个关键设计问题是如何合理地在CPU和加速器之间划分加速任务,以简化加速器,使其可以满足3D堆叠DRAM对面积、功耗和散热等的严格限制.吴林阳等作者在论文“CPU和DRAM加速任务划分方法:大数据处理中Hash Joins的加速实例”中,以数据管理系统中的核心算法Hash Joins为实例,讨论CPU和内存端加速任务的划分,设计了一个包含内存端定制加速器和处理器端SIMD加速单元的混合加速系统,对于数据移动成本低的阶段采用处理器端SIMD加速,而对于数据移动代价高的阶段采用内存端加速.实验表明与英特尔的 Haswell处理器和Xeon Phi相比,混合加速系统取得了大幅度的能效提升.
在本专题出版的7篇论文中,上述5篇论文来自学术界,反映了国内学术界在面向新型硬件的数据管理方面的最新研究成果,2篇论文来自产业界,分别来自华为公司和阿里巴巴公司的数据库系统团队,体现了产业界对数据管理系统中应用新型硬件的关注.
硬件事务内存HTM已经被x86等主流系统所广泛支持.HTM可以确保原子性(Atomicity)、一致性(Consistency)和隔离性(Isolation),而NVM可以确保持久性(Durability),因此两者结合有可能高效地支持事务处理ACID的要求.然而,HTM所能支持的数据量受限于硬件的固有容量,难以满足数据库事务处理的需求.华为公司的Hillel Avni和王鹏在论文“面向数据库的持久化事务内存”中,研究了如何扩展HTM并结合NVM以支持数据库ACID事务,提出了一种通过HTM进行ACID事务处理的软硬件解决方案PHTM(persistent HTM).为了消除PHTM的局限性,作者提出了一种持久化混合事务内存,允许PHTM事务与支持任意大小的纯软件事务并发执行.此外,又进一步提出了一种分离事务的执行算法,专门优化了关系型数据库事务,解决了事务数据量超过PHTM的容量限制的问題.
阿里巴巴公司的张铁赢等作者在“X-DB:软硬一体的新型数据库系统”论文中,介绍了阿里巴巴数据库系统团队新近研发的X-DB系统.X-DB的设计是基于阿里巴巴大规模业务的需求,充分地利用了新硬件的特性,围绕存储、网络、多核、并行和异构计算进行了软硬一体的协同设计.作者介绍了X-DB的系统架构和存储引擎、内存索引、并发控制等功能模块,并重点说明了面向FPGA,NVM等新硬件的软硬一体设计.
本专题征文发出后得到了广大研究人员的积极响应.我们感谢广大作者对本专题的大力支持!感谢审稿专家对本专题投稿及时认真的审阅和详细中肯的意见和建议!特别感谢《计算机研究与发展》编委会和编辑部,感谢他们支持面向新型硬件的数据管理这一前沿技术专题,为本期专题的编辑和出版付出了辛勤的工作!