打破高性能计算存储的瓶颈

时间:2008-11-29   来源:   网友评论:0   人气: 276 作者:

过去几十年中,高性能计算(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。


 

文章评论