背景介绍:
清华大学是我国最早开展高性能计算研究的单位之一,主持完成了3套清华探索系列高性能计算机,并在石油、材料、物理、力学、水利、机械、气象等领域产生了良好的应用;这些工作为基于集群和网格开展高性能计算应用奠定了扎实的基础。
清华大学还是国内最早开展网格技术研究的单位之一。研究内容涉及网格计算技术的各个方面,从网格资源管理、网格安全技术、数据传输技术、编程模式、网格门户、分布式信息服务技术、网格应用到Peer-to-Peer系统等,都开展了深入地研究。在网格资源动态描述与管理、异构信息的集成与共享、网格编程环境等方面已取得了研究成果。在网格技术领域,清华大学是国内几个主要研究力量之一,积累了丰富的网格中间件研制经验。为中国国家网格清华大学结点的建设储备了良好的知识和基础。
51CTO近日采访到清华大学计算机系高性能所高工张武生。在谈到高校建设HPC的特点时,张武生表示学校构建这种平台有一个很大的特色,运维成本是非常关键的指标。如何能够提高计算能力和电耗比是高校都面临的问题。并且高校通常都不会配备很多专业维护人员。
另外一方面的特色是由于清华大学内部科研计算用户较多,所使用的软件也很多,不同院系所使用的需求也不一样,HPC平台需要做到既要兼顾公平又要有所侧重。
清华大学HPC服务目标
张武生教授介绍,学校HPC平台的服务目标其实不是为了支撑教学,主要目的是对学校科研的支撑服务。清华大学建设HPC平台的背景也是由于现在清华大学计划建一个地球科学学科,其中很重要的专业是大气科学领域,主要研究全球气候变化等课题。这个学科就是一个典型的高性能计算应用。而目前清华大学的HPC平台计算资源已经全面应用到这个研究上。
清华大学HPC平台建设经验
清华大学的HPC目前已经进入第二期工程。2005年到2009年是第一期工程的建设和应用,截止到2009年淘汰掉。然后开始第二期工程建设,2011年4月份二期工程建成并投入使用。
据张武生介绍,HPC二期工程的系统选用了浪潮服务器,采用CPU+GPU混合计算模式,其中,CPU部分具有一百万亿次浮点计算能力,共使用740台基于英特尔至强5670的刀片服务器,总CPU核数达8880个,存储容量1PB,通过22个IO节点与集群相连。
定制化系统实现简化、集中管理
事实上,科学计算集群维护最大的工作量是在于日常的全局一致性,就是要保证全局各个节点上的配置、用户信息、软件安装全局都是一样的。集群是一个个独立节点凑起来的,传统做法是每个节点上都安装操作系统,管理每个节点上的硬件。这种做法的缺点很明显,一旦有节点发生故障,在更换硬件后,必须重装系统,整个集群的全局一致性也要重新同步。这是非常大的工作量,特别是像清华大学这样拥有800个节点的集群。
为了解决上述困难,清华大学自己开发出一个定制操作系统,称之为“单一系统映像”。这个系统是用一个操作系统来管理所有的节点的硬件,不需要在所有节点上都安装操作系统。我们可以把这个认为是主节点,它是一个小的环境,有冗余、备份、负载平衡,通过它来管理所有其他800个节点的硬件。真正实现了集群化,保证了整个集群的可靠性。
张武生表示“单一系统映像”系统还可以做到在集群运行的时候,脱离计算节点的硬盘。而且这个系统既可以运行在网络上,也可以运行在本地内存里面。容错能力大大增强,可以做到外界故障不会影响到集群的软件环境。
使用LSF优化HPC作业调度系统
张武生在采访中讲道:“我们的应用完全是学校的需求逼出来的”。清华大学HPC是全校用户都在用,需要满足不同的用户需求。除了硬件需求之外,还要面对软件和环境的不同需求。清华大学在集群系统中使用了Platform公司的LSF HPC解决方案。
LSF对高性能计算平台的管理提供了极大方便。LSF提供的丰富调度策略,灵活选项为作业管理提供了良好的支撑。张武生表示,LSF可提供配置的参数特别丰富,尤其学校有一些特殊的需求,例如有些老师需要不写共享,要写本地磁盘,有着像这样的各种各样的控制方面的需求。通过对LSF配置参数组合的方式可以满足这些需求。以前清华大学也用过一些开源软件,而要弄明白这些软件参数的用途就很费劲,并且每一个独立的开源软件提供的配置参数,都不能像LSF覆盖这样充分,所以最后清华大学采用了Platform公司的LSF系统,Platform公司对LSF还可以提供很多支持,更利于科研工作的快速反应,提高工作质量。
下一步建设重点
张武生坦言现在清华大学高性能计算平台基本上是满负荷运行,常常会有几十个作业在排队。如何提高集群的并行效率非常重要。所以未来几年内清华HPC还下一步建设的重点将是一些重点应用——比如全球变化、城区优化移植、还有其他集成软件移植、评价等等。对于张武生的团队来说,具有很大挑战的工作就是跟用户一起进行大量软件改写,把集群的并行效率提高上去。
对于目前非常流行的云计算技术,张武生表示现在人们常见的云计算服务模式,例如Google、亚马逊等云环境,还不是非常适合科学计算。未来科学计算平台可能会作为云计算里面的一种服务区提供,但就目前看来还存在一些问题。