新型硬件发展趋势及其对数据管理与分析的挑战(上)
CCF于1月11日发布了最新一期《中国计算机科学技术发展报告》,对可群智协同计算、软件智能化开发技术等11个方向的研究进展做了详细介绍和讨论。加入CCF会员登录CCF官网,可在数字图书馆栏目下载和浏览。
1 引言
数据管理与分析系统的发展离不开硬件和软件技术的进步。硬件和软件是构成计算系统的两大要素,软件技术的发展既可以享受硬件技术升级在性能提升方面带来的直接红利,但又受到硬件自身特点和局限性的制约,在架构和系统设计中引入不得已的取舍。同时,软件对于性能无止境的需求又反过来推动硬件技术的不断进步和革新。对于数据管理与分析系统而言,硬件技术是载体支撑,决定了数据存取和查询等处理性能的物理极限;软件的目标是优化算法与数据结构的设计以提高软件与硬件的契合度,最大化硬件使用效率同时规避或减少硬件固有的限制。一直以来,不论传统的“计算密集型”应用还是大数据时代的“数据密集型”应用,都持续对底层硬件系统在访问延迟、容量、带宽、能耗、性价比等指标上提出更高的要求。在多样化的应用负载需求下,传统的数据管理与分析技术正在面临前所未有的挑战。而大数据带来的挑战,本质上就是由现有的信息化基础设施的处理能力在多个维度上都难以满足数据处理多样化需求之间的矛盾所引起的。
信息化基础设施从广义上包含底层硬件环境与上层软件系统两个层次。而上层软件系统从设计原则、架构选型、核心功能、策略模式到优化技术,在很大程度上都是由当时的计算机硬件环境决定的。现今,信息领域的硬件技术和环境正在经历巨大的变化,特别是高性能处理器和硬件加速器、新型非易失存储器以及高速互联网络的出现正在快速改变传统的数据管理与分析系统的底层载体支撑。这些新型硬件有望突破整个计算体系的架构模式,改变上层软件的设计假设,在提供更高物理性能的同时,也要求数据管理与分析的软件架构和相关技术能够感知并适应新型硬件的特点。
2 新型硬件发展趋势
当前的计算机系统仍然广泛采用冯·诺依曼型体系结构,即以存储为中心的数据访问和处理架构。近年来,硬件技术在存储器和处理器两大核心部件以及网络连接上的发展取得了突破性进展,如图1所示,一系列高性能、全新架构、新特征的新型硬件不断涌现并逐渐成为主流技术,成为未来计算机平台的硬件发展趋势。趋势表明,高性能处理器和硬件加速器、新型非易失存储器、高速互联设备以及由它们催生的具有丰富硬件上下文的异构计算微架构、以高速持久化为显著特征的混合存储环境和支持远程直接数据存取的高速互联结构正在显著改变传统的数据管理与分析系统的底层支撑载体[1-4]。
图1:新型硬件及环境
2.1 处理器技术发展趋势
处理器技术发展至今已经经历了四十多年的发展历史,其发展技术路径经历了从提高主频为目标的Scale-up方式到以增加核心数量为目标的Scale-out方式的显著转变。依据摩尔定律的指引,在串行计算时代不断推高处理器的计算频率是提高计算机性能的最主要的发展途径之一,同时,在处理器Scale-up发展时期,指令级并行、流水线、自动预取、分支判断、乱序指令执行、多级cache、超线程等底层硬件优化技术由处理器硬件和编译程序自动识别和利用,数据管理与分析系统可以透明地利用处理器的性能提升而直接获得收益。但是受限于散热、功耗、指令级并行度以及制造工艺等因素,从半导体技术发展角度而言 Scale-up方式遭遇到了天花板,摩尔定律和Dennard Scaling法则在处理器技术的发展模式转向Scale-out的多/众核方式后才得以维系。
2005年之后,高性能处理器技术正式迈入多核时代,多核并行处理技术成为主流。虽然,更加丰富的硬件上下文显著增强了多核架构下数据处理的并行能力,但是,软件不能依靠多核处理器技术的升级而自动获得并行处理性能的收益,而是需要将传统的串行程序改写为并行程序,并针对多核处理器共享LLC(Last Level Cache)的特点而优化算法性能。随着处理器制程工艺的提高,多核处理器的性能得到显著提升,如采用14nm工艺的Xeon处理器当前最多集成24个核心,支持高达3.07 TB内存和85 GB/s的内存带宽[5]。但这种x86架构的处理器仍存在着集成度低、功耗高、价格昂贵等缺点,而且以通用为主要设计目标、擅长串行和逻辑控制的多核处理器也难以满足高性能应用愈发强烈的高并发需求。处理器的发展需要分化更多的功能,形成面向特定负载、低功耗、高并发的专用硬件加速器。
表1:代表性处理器的硬件特征
近年来,以GPU、Xeon Phi、FPGA(Field Programmable Gate Array,可编辑门阵列)等为代表的专用硬件加速器正在快速发展,借助GPU、Xeon Phi众核协处理器的高并行处理能力、高带宽内存访问性能、高性价比,以及FPGA的高度定制化和完全可重置能力,硬件加速器能够有效地独立完成从CPU卸载的部分计算密集型以及数据密集型任务,或者与CPU协作完成复杂的计算任务。表1显示了部分具有代表性的多/众核处理器,在核心数量、内存带宽性能、缓存容量等方面具有的优势硬件特征。可以预见,随着高性能处理器和硬件加速器融合与协作技术的发展趋势,计算机系统内部的处理环境变得越来越复杂化和异构化,也使得数据管理与分析技术需要寻求更多样化的优化途径。
2.2 存储技术发展趋势
虽然高性能处理器和硬件加速器技术一直快速发展,但在经典的冯·诺依曼型体系结构下,处理器和存储器分离的架构使得处理器操作数据的速度与从传统内存获取所需数据的速度之间的差距却日益增大[6],“内存墙”带来的数据访问性能瓶颈效应也不断加剧。面对传统二级存储设备的低速I/O能力,数据管理与分析系统在设计时不得不采用诸如缓存池、并发控制等多种设计策略以及面向磁盘的算法和数据结构以努力缓解或隐藏存储体之间的I/O性能差异,但I/O瓶颈仍然严重制约了数据密集型计算的处理能力。
近年来以新型非易失存储器(Non-Volatile Memory,NVM)[7]为代表的新型存储介质的发展为突破上述I/O瓶颈提供了基础。新型非易失存储是一类存储技术的概括性术语,其并不代表某个具体的存储技术或者介质,在部分研究文献中也被称为存储级内存(Storage Class Memory,SCM)[8]。具有代表性的新型非易失存储器包括:相变存储器(Phase Change Memory, PCM)、磁阻式存储器(Magnetoresistive Random-Access Memory,MRAM)、阻变式存储器(Resistive Random Access Memory,RRAM)、铁电存储器(Ferroelectronic RAM, FeRAM)等。虽然不同存储器的工作原理以及设计和制造工艺都存在明显差异,但是总体来说,此类存储器普遍具有可持久化、高存储密度、低延迟随机读写、细粒度的按字节寻址等优良特性,如表2所示。从性能指标来看,NVM比较接近DDR内存性能,而且具有非易失性特征,在新的存储体系中可能逐渐成为主要的存储设备,而DDR内存则作为临时数据的缓存使用。闪存(Flash)技术发展最为成熟,当前PCI-e闪存最高单卡容量达到12.8TB,在读写性能上也达到较高的水平,既可以作为磁盘与系统内存之间的数据缓存,也可以替代硬盘作为持久存储设备。从能耗指标来看,内存在高负载时的能耗较低,但由于低负载时仍然需要刷新,因此低负载时的能耗水平高于其他存储设备。非易失存储器共同的特点使它们同时拥有内存式的高速访问以及外存式的持久化双重能力,其有效地解决了传统存储介质在某些关键指标上无法逾越的“性能墙”。
表2:不同存储器的关键性能指标对比
同时,新型存储技术的发展对处理器技术也具有相当重要的影响,提高新型存储容量的高带宽3D堆叠技术可以应用于众核协处理器的板载存储上,为众核处理器强大的并行处理能力提供内存侧的高性能数据缓存支持。随着NVM技术的不断成熟,其构筑的多层级混合非易失存储环境必将打破计算机传统架构中CPU、主存、系统总线、外存之间的平衡性,改变存储金字塔现有结构,优化数据访问关键路径,弥补存储层级间的性能鸿沟,为数据管理和分析技术的设计带来新的机遇[9]。
2.3 网络技术发展趋势
除了本地存储体系带来的I/O瓶颈外,网络I/O子系统也是分布式环境下数据中心最主要的性能瓶颈,传统以太网有限的传输能力和对CPU负载的需求在很大程度上影响了分布式环境下的数据处理性能。受此影响,当分布式事务比例较高时,系统整体吞吐量极度下降,导致系统事务处理能力不能有效扩展。基于此,既有的数据管理系统不得不借助协同划分、放松一致性保证、确定性执行等策略或技术来控制和减少分布式事务的比例。但这些手段大都存在部分不尽合理的假设、适用条件以及对应用开发者的不透明性,特别是当负载不具有可划分特征时,系统的可扩展能力仍然受到很大的限制。
产生该问题的本质并不是访问冲突的增加而是有限的网络带宽和TCP/IP通信栈引入的CPU开销[10]。在传统以太网和TCP/IP协议支撑的网络环境下,软件技术仅能带来一定程度上的优化,无法从根本上解决分布式环境下数据处理系统的可扩展性问题。近年来,RDMA(Remote Direct Memory Access)高性能网络的出现正在大幅改善服务器集群所依赖的高速互联网络环境。RDMA高性能网络从硬件级别保证了可以从用户态绕过内核态直接在网络间收发数据的能力,由于卸载了CPU的负荷也不存在中断等高昂的软件栈开销,极大改善了服务器间跨节点的数据访问性能。InfiniBand、iWARP以及RoCE等都是采用完全由硬件执行I/O交换的具体实现方式、RDMA使能的新型网络技术和协议。借助于高速、低时延、高带宽、低CPU占有率、高可靠等显著优点,高速互联环境提供了近乎与单机内存带宽相当的数据传输能力,消除了以往分布式环境下固有的内在瓶颈。近年来,随着RDMA相关硬件价格的不断降低,其主要应用环境正在从高性能计算领域逐渐向基于普通集群的数据管理领域迁移,也为数据管理与分析系统的设计提供了全新的网络环境,在分布式查询、事务处理等核心功能上提供了新的发展机遇[11]。
虽然目前新型处理器和加速器、非易失存储器以及高速互联设备的发展具有很大的多样性,硬件环境的构成也具有不确定性,但可以预见的是,未来他们必将成为计算环境中新的硬件组件标准,针对这些新硬件开展数据管理与分析相关技术的研究将成为新的热点。