打破高性能计算存储的瓶颈
时间:2008-11-29 03:49:00
来源:UltraLAB图形工作站方案网站
人气:19039
作者:admin
过去几十年中,高性能计算(High Performance Computing,HPC)在石油、生物、气象、科研等计算密集型应用中得到长足发展。早期的HPC系统主要以IBM、Cray、SGI等厂商的大型机或并行机作为硬件平台。近几年来,由于CPU能力的迅速提高,标准化硬件成本的迅速降低,相对廉价的Linux并行集群系统渐渐成为HPC的主流,并使HPC进入更广阔的工业和商业应用市场。与此同时,强大的HPC系统需要技术先进、性能卓越的存储系统作支撑。并行化计算的发展带来了更大的系统规模和复杂性,从而推动了HPC存储技术和销售的爆炸性成长。IDC预计,全球HPC在服务器销售方面已超过每年90亿美元,而与HPC相关的存储市场也达到32亿美元。
HPC存储的I/O瓶颈
当一个计算任务被加载到Linux集群系统时,各服务器计算节点首先从存储系统中通过NFS协议获取数据,然后进行计算处理,最后将计算结果写入存储系统。在此过程中,计算任务的开始和结束阶段数据读写的I/O负载非常大,而在计算过程中几乎没有任何负载。当今的Linux并行集群系统处理能力越来越强,动辄达到几十甚至上百个TFLOPS(一个TFLOPS等于每秒1兆次的浮点运算),于是用于计算处理的时间越来越短。经验表明,集群系统中每TFLOPS的计算能力大约需要10TB的存储空间和1GB/s的持续带宽相匹配。虽然存储系统容量提升和单位成本下降都很快,但传统存储技术架构对带宽和I/O能力的提高却非常困难且成本高昂。这造成了当原始数据量较大时,I/O读写所占的整体时间就相当可观,成为HPC集群系统的性能瓶颈。
除了对存储系统I/O能力的苛刻要求外,HPC对其管理、扩展、可靠和共享访问等各方面的指标也丝毫不妥协。由于管理维护的复杂性,传统存储系统的管理成本加起来往往数倍于其采购成本。管理任务包括安装和配置新硬件,为用户或应用分配容量,在各子系统间迁移数据以均衡负载和容量,备份和恢复数据,故障排除和系统重建,解决用户对性能和容量等各方面提出的新需求等。同时,与集中式的大型机不同,Linux集群系统本身有许多子系统需要管理维护。算法通常被细化成上百万个子任务,在各计算节点独立运行。这样会造成大量的数据切片和副本的产生,给服务器集群均衡、快速的共享访问带来极大的挑战。在大型项目中,当不同用户和部门需要共享,而核心数据集又经常改变的情况下,这种问题尤为棘手。
总结而言,高性能计算对存储架构提出了极高的要求:带宽性能达到几个甚至几十个GB/s,容量能扩展至PB级;完全透明的访问和数据共享;与生俱来的高可靠性和高可用性;集中式的智能化管理,不因容量和设备数增加而显著增加管理成本;无缝整合其他存储系统,轻松获取与交换数据;集成的数据服务,包括备份、远程复制和生命周期管理;可按需独立扩展容量和性能,保护投资。
传统存储架构的缺陷
传统存储架构主要包括直连存储(DAS)、存储区域网络(SAN)、网络附加存储(NAS)以及在他们基础上衍生的一些新技术。存储架构最根本的区别在于:存储格式,如块数据或文件;存储与应用之间的控制流和数据流方式。存储格式定义了访问方式,以及访问共享数据时的锁机制、同步和安全。控制/数据流方式则定义了为带宽准备的并发机制。这两个存储特性如何实现最终决定了存储系统的性能和扩展性。
DAS和SAN使用块数据存储,并利用分离的文件系统或数据库管理。当系统规模(客户端数量)较小时性能较好,但规模增加时瓶颈就慢慢显现出来了。而且,DAS在不同客户端的数据共享比较困难,需要经常性的数据拷贝来完成,从而影响系统性能。而SAN是以应用而非数据访问为中心的技术,无法完全满足HPC环境对信息透明访问的需求。传统DAS厂商包括许多提供RAID阵列的公司,而SAN的代表性厂商有EMC和HDS。
通过文件访问协议NFS和CIFS,NAS能高效地满足来自不同环境的用户请求,从而很好地解决了DAS和SAN面临的数据共享问题。同时高层的文件格式能提供安全权限,并在底层进行性能优化(比如预缓存数据),如图1所示。然而,传统的NAS使所有数据都从其控制器出入,造成了性能和扩展性瓶颈。传统NAS代表厂商主要是NetApp。 #p#page_title#e#
由于NAS的缺陷,应运而生了元数据流和数据流分离的架构及SAN共享文件系统。客户端从元数据服务器通过以太网获取访问数据的地址信息(元数据)后,直接通过块数据的形式从共享的磁盘阵列获取数据,从而避免单控制器的性能瓶颈。但这种架构要实现异构环境的数据完全共享,或大规模系统的持续性能增长是非常困难的。
满足HPC的新架构
随着HPC市场的迅速成长和HPC应用的普及,专门针对HPC应用需求而开发的新型存储架构和产品也开始陆续推向市场。有趣的是,与集群架构占据HPC计算系统主流的趋势类似,新型的HPC存储架构大多以集群存储为主,通过分布式或集群文件系统将几台到几百台服务器结构的存储节点管理起来,并通过IP千兆网和聚合带宽技术向客户端提供高带宽、高可靠的存储系统。随着万兆以太网络的普及,将进一步强化IP网络高聚合带宽的优势。
以Panasas和谷数科技(CeresData)为代表的公司推出的面向对象的存储集群打破传统的块数据和文件形式的存储,把数据储存为对象,即一群无序排列的、无固定长度的字节组。每个对象拥有内嵌的属性、完整的访问控制和封装的数据分布与位置。对象格式比DAS和SAN的块数据格式更高级,但没有NAS的文件格式复杂。这种方式使面向对象的存储集群除具有很好的安全性外,还有比NAS和SAN都大得多的扩展性。集群架构的本身保证了在扩展容量的同时,性能得到近似线性地增长,因此在存储节点数量足够大时,系统能轻松达到传统存储系统不可高攀的数GB/s的持续带宽。
Panasas面向对象存储的架构包含了针对I/O的数据对象和与之分离的、比传统SAN/DAS简化的元数据对象。元数据管理节点比数据节点少得多,而数据存储节点和计算节点之间是直接的通路,保证了系统性能和扩展性。
另一类解决方案通过高性能的分布式集群文件系统,把几个到几十个控制器集群起来,通过全局命名空间算法、性能聚合算法、访问负载均衡等各种先进技术,把传统NAS存储系统的性能提高几倍到几十倍,从而在保留NAS原有的数据共享、安全和管理优势的基础上,轻松满足了HPC对性能和扩展性的苛刻要求。
推出此类产品的公司主要有ExaNet、OnStor和谷数科技(CeresData)。图2是谷数科技的HPC存储系统示意图。该系统可配置2~16个节点,容量可从4TB平滑扩展至512TB,带宽能从800MB/s增加到3GB/s,并能达到每秒80万个处理能力(OPS)。通过快照和故障转移技术,完全消除单点故障,确保系统的高可用。系统集成了本地备份、远程镜像和生命周期管理,满足HPC对海量数据集成服务的需求。最独特的是,用户可以灵活设置文件块大小,让同一个存储系统为各种不同的HPC应用提供最优化的性能。
图1 网络附加存储 (NAS)
图2 谷数科技公司的HPC集群存储体
HPC存储的I/O瓶颈
当一个计算任务被加载到Linux集群系统时,各服务器计算节点首先从存储系统中通过NFS协议获取数据,然后进行计算处理,最后将计算结果写入存储系统。在此过程中,计算任务的开始和结束阶段数据读写的I/O负载非常大,而在计算过程中几乎没有任何负载。当今的Linux并行集群系统处理能力越来越强,动辄达到几十甚至上百个TFLOPS(一个TFLOPS等于每秒1兆次的浮点运算),于是用于计算处理的时间越来越短。经验表明,集群系统中每TFLOPS的计算能力大约需要10TB的存储空间和1GB/s的持续带宽相匹配。虽然存储系统容量提升和单位成本下降都很快,但传统存储技术架构对带宽和I/O能力的提高却非常困难且成本高昂。这造成了当原始数据量较大时,I/O读写所占的整体时间就相当可观,成为HPC集群系统的性能瓶颈。
除了对存储系统I/O能力的苛刻要求外,HPC对其管理、扩展、可靠和共享访问等各方面的指标也丝毫不妥协。由于管理维护的复杂性,传统存储系统的管理成本加起来往往数倍于其采购成本。管理任务包括安装和配置新硬件,为用户或应用分配容量,在各子系统间迁移数据以均衡负载和容量,备份和恢复数据,故障排除和系统重建,解决用户对性能和容量等各方面提出的新需求等。同时,与集中式的大型机不同,Linux集群系统本身有许多子系统需要管理维护。算法通常被细化成上百万个子任务,在各计算节点独立运行。这样会造成大量的数据切片和副本的产生,给服务器集群均衡、快速的共享访问带来极大的挑战。在大型项目中,当不同用户和部门需要共享,而核心数据集又经常改变的情况下,这种问题尤为棘手。
总结而言,高性能计算对存储架构提出了极高的要求:带宽性能达到几个甚至几十个GB/s,容量能扩展至PB级;完全透明的访问和数据共享;与生俱来的高可靠性和高可用性;集中式的智能化管理,不因容量和设备数增加而显著增加管理成本;无缝整合其他存储系统,轻松获取与交换数据;集成的数据服务,包括备份、远程复制和生命周期管理;可按需独立扩展容量和性能,保护投资。
传统存储架构的缺陷
传统存储架构主要包括直连存储(DAS)、存储区域网络(SAN)、网络附加存储(NAS)以及在他们基础上衍生的一些新技术。存储架构最根本的区别在于:存储格式,如块数据或文件;存储与应用之间的控制流和数据流方式。存储格式定义了访问方式,以及访问共享数据时的锁机制、同步和安全。控制/数据流方式则定义了为带宽准备的并发机制。这两个存储特性如何实现最终决定了存储系统的性能和扩展性。
DAS和SAN使用块数据存储,并利用分离的文件系统或数据库管理。当系统规模(客户端数量)较小时性能较好,但规模增加时瓶颈就慢慢显现出来了。而且,DAS在不同客户端的数据共享比较困难,需要经常性的数据拷贝来完成,从而影响系统性能。而SAN是以应用而非数据访问为中心的技术,无法完全满足HPC环境对信息透明访问的需求。传统DAS厂商包括许多提供RAID阵列的公司,而SAN的代表性厂商有EMC和HDS。
通过文件访问协议NFS和CIFS,NAS能高效地满足来自不同环境的用户请求,从而很好地解决了DAS和SAN面临的数据共享问题。同时高层的文件格式能提供安全权限,并在底层进行性能优化(比如预缓存数据),如图1所示。然而,传统的NAS使所有数据都从其控制器出入,造成了性能和扩展性瓶颈。传统NAS代表厂商主要是NetApp。 #p#page_title#e#
由于NAS的缺陷,应运而生了元数据流和数据流分离的架构及SAN共享文件系统。客户端从元数据服务器通过以太网获取访问数据的地址信息(元数据)后,直接通过块数据的形式从共享的磁盘阵列获取数据,从而避免单控制器的性能瓶颈。但这种架构要实现异构环境的数据完全共享,或大规模系统的持续性能增长是非常困难的。
满足HPC的新架构
随着HPC市场的迅速成长和HPC应用的普及,专门针对HPC应用需求而开发的新型存储架构和产品也开始陆续推向市场。有趣的是,与集群架构占据HPC计算系统主流的趋势类似,新型的HPC存储架构大多以集群存储为主,通过分布式或集群文件系统将几台到几百台服务器结构的存储节点管理起来,并通过IP千兆网和聚合带宽技术向客户端提供高带宽、高可靠的存储系统。随着万兆以太网络的普及,将进一步强化IP网络高聚合带宽的优势。
以Panasas和谷数科技(CeresData)为代表的公司推出的面向对象的存储集群打破传统的块数据和文件形式的存储,把数据储存为对象,即一群无序排列的、无固定长度的字节组。每个对象拥有内嵌的属性、完整的访问控制和封装的数据分布与位置。对象格式比DAS和SAN的块数据格式更高级,但没有NAS的文件格式复杂。这种方式使面向对象的存储集群除具有很好的安全性外,还有比NAS和SAN都大得多的扩展性。集群架构的本身保证了在扩展容量的同时,性能得到近似线性地增长,因此在存储节点数量足够大时,系统能轻松达到传统存储系统不可高攀的数GB/s的持续带宽。
Panasas面向对象存储的架构包含了针对I/O的数据对象和与之分离的、比传统SAN/DAS简化的元数据对象。元数据管理节点比数据节点少得多,而数据存储节点和计算节点之间是直接的通路,保证了系统性能和扩展性。
另一类解决方案通过高性能的分布式集群文件系统,把几个到几十个控制器集群起来,通过全局命名空间算法、性能聚合算法、访问负载均衡等各种先进技术,把传统NAS存储系统的性能提高几倍到几十倍,从而在保留NAS原有的数据共享、安全和管理优势的基础上,轻松满足了HPC对性能和扩展性的苛刻要求。
推出此类产品的公司主要有ExaNet、OnStor和谷数科技(CeresData)。图2是谷数科技的HPC存储系统示意图。该系统可配置2~16个节点,容量可从4TB平滑扩展至512TB,带宽能从800MB/s增加到3GB/s,并能达到每秒80万个处理能力(OPS)。通过快照和故障转移技术,完全消除单点故障,确保系统的高可用。系统集成了本地备份、远程镜像和生命周期管理,满足HPC对海量数据集成服务的需求。最独特的是,用户可以灵活设置文件块大小,让同一个存储系统为各种不同的HPC应用提供最优化的性能。
图1 网络附加存储 (NAS)
图2 谷数科技公司的HPC集群存储体
下一篇:万兆以太网的优缺点是什么