1、计划和设计:为了成功地计划和设计一个HPC底层结构,第一步应该是“透视表面之下”。简单地理解,就是首先要找出投入HPC建设的主要理由,对HPC设备的需求,就像是很多商业客体都应该对投资和利润有清晰的目标。这方面的考虑在今天比以往任何时候都明显,因为HPC系统的使用量,特别是在研究和发展领域比过去4年就有了70%的稳固增长(数据来自primeur)。先不看HPC技术的巨大发展,它自身类型的增长就是惊人的。这种增长的原因之一或许是复杂性,不只在设计方面,还在消耗方面。加拿大安大略省的HPC研究机构SHARCNET ,围绕HPC技术的采用和实施建立了一项长远的计划。根据他们的报告,设计HPC的所遇到的挑战是“它对大量不同的研究者来说都是可能的技术”。这体现了HPC在复杂性和多样性之外的本质。
2、分析设计硬件:当考虑计划和设计一个HPC底层实现的时候,我曾经对这个领域的一些人说过,我作为一个从业10余年的系统架构师,有一些经验和想法,我所考虑的关键领域包括如下:
a)设备考虑(Rackspace, Power and Cooling机位,电源,制冷设备):如果要问任何一个企业层数据中心管理员,让他最头疼的10件事情是什么,他一定会说是“rackspace, power and cooling”。更深入考虑,你就会发现,在任何数据中心,Colocation(可以使用的机位)的数量都是固定的。这意味着,以每个u(rackspace的计算单位)计算,在每个colocation上的rackspace是非常珍贵的。而且在这些小型即插即用的服务器电路板上布置那么多密集芯片集也就带来了电源和制冷设备的挑战。
注释——在每个rank,相比10多年前,你需要更多的出口和更多的气流,同时还有4、5u的服务器占据整个rank。
b)物理设施计划:引用HPC领袖Frank Chism说的一句话“我不能不强调在HPC部署中物理设施计划的重要性。这件事情就像要想很好地管理和设计布线,就要首先考虑好房间和通路。HPC使用仅比SAN稍少的电缆线数,同时,还要注意地板的承重量,空气流通性,足够的电力。最后,千万千万不要忘记带外管理。深层的底层地板确实能够帮助电缆布线。”
注释——有效的HPC性能来自于有效的HPC设计,它不仅包括软件部分,也包括很多硬件设施。这些硬件设施不单指芯片设计,还包括在地板之下的布线设计。
c)硬件和处理机设计:硬件和处理机体系结构的设计关系到HPC的性能(这是HPC的核心和灵魂)。在HPC体系结构之上加上能源有效的硬件就等于是增强了普通计算能力,也就相当于建立了一个HPC底层结构。在这方面所展现出来的优势就是更快的数据访问和增强的指令。“性能”这个词重复贯穿整个主题,这是因为“性能”就是HPC所关心的,就是减少数据计算周期的能力。这方面需求核心的一部分是选择适合的硬件和处理机规格。
3、实现HPC工具和软件:就像其他硬件,HPC集群就是一些软件和工具通过底层结构来运行,进行计算,产生结果。考虑一些核心的HPC工具和软件,下面是我的想法:
a)建立和部署系统:建立一个HPC集群,使问题回到了我第一部分提到的——你想用它来干什么?尽管有很多方式和方法允许你驱动一个HPC系统的软件和安装,但底线是,这很大程度上取决于你规划的这个HPC集群的组成部件有哪些。我们来一起关注一些现有的HPC软件和部署工具,比较流行的很少,如SCALI和HP-MPI。这些软件包为管理一个HPC集群提供部署,监测和任务调度服务,比如IBM的CSM软件。而开源软件有Maui和Torque,它们就像是任务调度程序和资源管理程序那样来管理计算节点和集群。Platform Rocks是另一套软件,它允许安装和综合第三方应用程序。
b)平行的文件系统:引用Wikipedia的描述“分布式平行文件系统可以从多个服务器平行获得数据,以此达到高性能。一些分布式平行文件系统使用OSD(目标存储设备,在Lustre叫做OST)和集中的元数据服务器来同时获得大块数据,例如,UCSC的Ceph分布式文件系统;CFS的Lustre文件系统以及PVFS,PVFS2。”
深入考虑: 根本地说,平行文件系统是那些通过平行达到高带宽的文件的全球命名空间。这种带宽有三维:高聚集带宽,高单一数据流带宽,和每秒的高元数据操作。似乎还没有人能够在所有这三维上都达到高性能。不要忘记数据量是如此巨大,做备份是主要保证,因此,也需要可靠性。而且,似乎还没有人能够实现一个平行文件系统可以很好地为短期I/O操作实现高速度数据传输。
c)成倍处理能力的网络:实现HPC最后要考虑的通常是HPC需要有成倍处理能力的网络。例如,如果一个网络不能处理如此大的带宽,那么即使有一个平行文件系统可以在每秒发送十亿字节数据到一个节点也是徒劳的。
所以,总结地说,在建立HPC底层结构中我们学习到的知识是:
◆全面的理解为什么要投资HPC和我们期望的成果是什么
◆深层理解HPC核心硬件以及设计组件
◆为确保有充足的布线和底层地板空间,需要考虑的设备和物理设施
◆基于软件和工具集的HPC设计
◆理解三维带宽
◆为了所需的带宽,需要把“成倍处理能力网络”的概念注入到节点设计中
原文链接:http://port25.technet.com/archive/2006/12/01/thinking-about-hpc-infrastructure.aspx