HPC应用的四个尴尬
而对于广大的科研院所、高校、企业等高性能计算应用单位来说,因为软件、配置、管理等方面导致高性能计算系统应用效率低下的例子也比比皆是:
尴尬一:“买得起,却用不好、用不起”。硬件水平的提升、硬件成本的持续下降和国家对自主创新的大力倡导,使得越来越多的用户开始使用HPC来辅助科研、生产工作;然而,在实际应用过程中,要将HPC的计算性能充分发挥出来,必须妥善解决软件和硬件的兼容性问题。广大用户,特别是中小规模的用户,多是非IT领域的专家,对高性能计算系统的部署、使用、维护等基本的操作问题不甚了解,更妄谈方案的优化和效率问题。正是在这一环节上得不到有力的技术服务支持,致使一些用户投入了大量的人力、物力进行调优,却仍然效率低下,产出比低。另外,对于大规模的HPC系统而言,日常的耗电、冷却、管理成本也非常高,甚至超过了当初的硬件采购成本,系统运营不堪重负。
尴尬二:“硬件规模不断增大,实际计算力却不变”。很多流行的高性能软件,特别是广泛应用的开源软件,如地震预报LURR、生命研究常用的开源软件蛋白质翻译后修饰与鉴定Inspect,目前的软件并行度不高,甚至是串行程序。现在几百个节点、上千个计算核心的高性能集群已经开始大量涌现,但是支持500个计算核心以上的应用软件却少之又少,根本无法发挥中大规模高性能服务器的计算能力。如某航空航天大学基于飞行器设计的实验室,主要模拟和研究飞机飞行时两个机翼周围气场的变化。由于原有系统越来越不能够满足计算任务的压力,于是购买了一套64个计算节点,运用业内先进的infiniband网络架构和64位至强处理器的高性能系统,但是系统建成后却发现,与原来只有十几个节点的老平台相比,运算效率并没有明显提升。经过对操作系统和应用程序的分析发现,问题出在该软件的扩展性上,并不能支持这么多计算核心,超过了这一限制,系统效率就会大大降低。
尴尬三:“计算能力强大,I/O通信却成瓶颈”。在高性能计算领域,不同应用对于计算平台的要求是各有侧重的。如果不能科学地分析应用特点,就会使得应用“先天失调”,比如说,原本客户的应用需要运行在一个通信密集型的平台上,但由于对应用的理解不深或其他原因,结果采购了一套计算密集型的平台,就会出现这样一种情况:节点空有强大的计算力,但由于通信带宽的限制,造成了数据的堆积,带来了计算资源的极大浪费。可见,除了软件的瓶颈以外,许多系统方案在优化环节的薄弱也会限制性能的发挥。据估算,经过专业的优化,一些高性能计算机群的I/O速度、CPU利用率、硬盘读写速度等最高可提高2倍以上。
尴尬四:“管理很散乱,系统也越用越慢”。某研究所购置了一套高性能集群用于满足所内各课题组的科研需求,在经过一段时间的运行之后,使用人员不断抱怨系统越来越慢。经专家检查,才发现由于日常运行时,各课题组的应用不同、需要的操作系统不同,使用人员经常自行安装需要的软件,结果导致整个系统日益臃肿。此后,该所不得不制定出相应的集群使用条例,来加强对系统的管理。
可见,这些问题都和“HPC系统方案规划设计、软硬件配置调优、应用软件开发与优化、数据中心运维管理”等相关,如果没有经过优良的方案设计、应用优化和科学管理,纵然把系统规模做大,取得很高的Linpack计算峰值,实际上既可能“不好用”,也“用不好”。