如果我们把PC比作普通人的话,那么HPC系统(或称超级计算机)就称得上是"超人"了,因为就算是比较寻常的HPC系统,其计算能力也相当于PC 的数千倍了。而顶级的HPC系统,例如风行欧美的IBM"蓝色基因"系列,又如国产的"曙光机"、"浪潮机"、"联想机"或"神威机"等,其能力更是不可限量!也因为所此,它们才能担负起解决大型和复杂问题的重任。
不过,就像科幻电影中的超人遇到"氪"物质就会气力尽失,或时常为爱情和亲情的问题及敌人发起的舆论攻击感到困挠一样。HPC系统这个计算领域的"超人"在其成长过程中,也会遇到各种来自自身或外部的挑战和障碍,就目前而言,这些让它烦心的事情主要集中在以下六方面:
HPC麻烦一、有劲使不出,应用效率偏低
全球HPC TOP500也好,中国的TOP100也罢,比的都是HPC系统的潜能,即理论运算峰值速度及Linpack基准测试性能,但它们却无法反映HPC的实用性能。实际上,对于很多科研院所、高校、企业等HPC应用机构来说,因为软件、配置、管理等因素导致其HPC系统应用效率低下的例子比比皆是,例如一些用户HPC系统的硬件规模虽然在不断扩展,但其实际计算力却没有明显提升,又或是现在拥有几百个甚至上千个计算核心的HPC集群系统虽然大量涌现出来,但是能充分利用其性能的应用软件却是少之又少……结果就是这些用户虽然买得起HPC,却用不好它。
HPC麻烦二、系统配置不够"平衡"
HPC这个计算"超人"的性能,指的可不仅仅是"计算性能",而是包括CPU浮点处理能力、I/O带宽和内存带宽三个方面。不同种类应用对于这三方面性能的需求不尽相同,以石油勘探行业为例,油藏模拟类应用就对内存带宽和延迟比较敏感,而地震资料处理则需要强大的计算性能。
在这种情况下,如果用户不能科学地根据其应用软件的性能需求来合理配置HPC系统,就不免会造成它的"先天失调",如为通信密集型的应用配置了针对计算密集型应用优化的硬件平台,就会出现这样一种情况:节点空有强大的计算力,但由于I/O通信带宽的限制,造成了数据的堆积,带来了计算资源的极大浪费。
HPC麻烦三、有"失业"危机,软硬件发展失衡
别看国产的百万亿次、千万亿次HPC系统在今年频频亮相,但它们随时都面临着"失业"的风险!
不信?我们来看两个例子:一个是美国能源部下属的橡树岭国家实验室的Jaguar TX5千万亿次级HPC系统,它拥有15万颗CPU内核,其科学计算作业任务安排得很饱满:可利用其3万颗以下CPU内核的作业占50%;利用3-4.5 万颗内核的作业占32%,利用4.5-9万颗内核的作业占18%。相比之下,中国上海超级计算中心的曙光5000A百万亿次HPC系统虽有3万颗CPU内核,但其应用却远没有跟上–其上使用16颗内核以下的作业占到了60%,17-160个内核的作业占39%,160个内核以上的作业仅占1%。
上面这种应用上的差距主要源于我国HPC应用软件的缺乏。我们HPC系统的硬件技术虽然在这几年内得到了长足的发展,但应用软件的基础却一直很薄弱,而且相关的人才、软件投资和创新研发体制也不够健全,这使得中国在HPC应用上一直面临"计算规模受限制,计算精度、分辨率不高,关键应用受限制,不易改进和发展"等多方面的挑战,进而造成了"大机器,小应用,软硬发展失衡"的困局。
HPC麻烦四、"饭量"太大,能耗惊人
俗话说,人是铁,饭是钢,一顿不吃饿得慌。HPC这个计算"超人"也一样,不过它消耗的是惊人的电能。随着人们对计算量、计算时间、处理问题的复杂度等要求越来越高,现在HPC系统规模也是越做越大,使用的CPU数量也是以成千上万的规模递增,用电量自然水涨船高,这让那些供养它的企事业单位不堪重负。例如,一套百万亿次级别的HPC系统每天光电费就是两三万元人民币,一年下来就得要好几百万!而性能达到千万亿次的HPC系统,消耗的电力更是赶得上一座小型城市。
HPC麻烦五、"瘦身"难、提升计算密度挑战多
人到中年难免有发福的困扰,HPC系统也是一样,这个计算"超人"的身材很容易走形,特别是对于百万亿次以上的系统,如果还用传统1U或2U机架服务器来做节点,其体积会非常惊人,会让那些机房较小的用户叫苦不迭。而且这些节点的"屁股"上再带上一大堆线缆,不好看,也不容易管理。于是,人们开始尝试用刀片服务器或改良过的高密度服务器(如1机两主板的双胞胎服务器)来构建大规模HPC系统。可这种方式也带来了一些新的挑战,比如机房环境,尤其是机柜供电与机房散热必须要改造,还有刀片服务器没有统一标准的问题,也着实让人头痛。
HPC麻烦六、生产厂家各行其是、缺乏统一标准
现在能制造HPC系统的厂商有很多,既有IBM、HP、戴尔、Sun这样的海外大鳄,也有曙光、浪潮、联想、宝德等民族企业,还有一些规模不大的地方军,甚至有些系统是由用户"DIY"出来的。如果它们是用x86机架服务器来做,情况还算好,毕竟这种产品有统一的标准,兼容与互操作没有大问题,配件也容易找到,服务不用愁;但如果是用刀片服务器来构建,其标准不统一的问题可就会引出大麻烦了。
与传统的机架服务器不同,刀片服务器诞生至今虽也有十年光景,但却一直没有一个统一标准,仅刀片服务器机箱就曾出现过五六十种不同的产品,现在还有十几种在市场上互掐,刀片服务器本身更是各行其道,相互之间别说可替代,连实现互操作都有困难,甚至有些厂家最新发布的刀片服务器都不兼容它以前推出的刀片机箱。显然,对于HPC系统用户来说,这种情况只会让它遭遇容易被一家厂商绑定、相关配件不好买、服务费用过高、平台切换代价太大,以及来自不同厂商的平台在HPC系统中只能独立运行,形不成合力等问题。
结语
上面列举的这六件烦心事,是目前绝大多数HPC系统用户都会遇到的"通病"。不解决掉它们,就会让HPC系统束手束脚,甚至使它在无奈之中甘于平庸,那么这个计算"超人"也就没有什么"过人"之处了。而为避免这种情况的出现,无论是HPC系统的用户,还是这些系统的制造商、处理器和计算平台提供商,以及应用软件开发商都必须找出这些问题的成因,才能有针对性地提出解决方案。