CSF2010之天河一号经验分享

2010年中国存储峰会今天在北京富力万丽酒店隆重召开,作为中国存储行业的年度级领袖会议,本次大会以"信息世界 共想明天"为主题,不仅对过去一年中国存储行业所取得的长足发展进行了总结,更对未来一年中国存储行业,乃至整个信息产业的趋势和方向,进行了热烈的讨论,取得了丰硕的成果。

在本次大会上,来自"天河一号"超级计算机主任设计师、国防科大计算机学院系统软件研究室主任,博士,研究员 杨灿群先生作了题为""天河一号"超级计算机"的演讲,以下是演讲全文:

各位来宾,各位朋友上午好。非常荣幸在此介绍咱们中国的超级计算机"天河一号"。我想首先带大家参观一下国家超级计算天津中心,现在"天河一号"是国家超级计算业务主力,一个是"天河一号"的体系结构,硬件系统,最后是软件系统。最后,我列举一下"天河一号"目前的一些典型的应用。

国家超级计算机天津中心是科技部2009年5月批准设立的,由国防科技技术大学和天津滨海新区合作共建,目标打造三个平台,其一是国家重大科技的服务平台,其二是产业技术的创业平台,其是人才聚集的培养平台。中心的主要任务,面向高度提供高性能计算服务。
中国计算机,第一是"天河一号",第三位是星云。

"天河一号"计算机与2010年8月在天津市超计算中心开始安装,9月到10月两个月时间就完成全世界的调试于性能测试。从2010年11月开始,系统就开始试运行,接待国内的用户。下面是"天河一号"的主要配置,"天河一号"含有14366颗英特尔处理器,互连网络是国防科大自主研制互连网络,存储网络是2个TB,有218个计算服务机柜,还有6 个通信机柜。

"天河一号"一个特色就是采用了我们国家自主首创CPU与GPU体系结构,实际上源于我们2005年开始的一些运行研究工作,到2007年我们国防大学的研究就把相关的理论结果与实践结果相结合,09年研制了天河1,这个计算机是排名全球第五位,当时我们主要进行了体系结构,解决一个什么问题呢?CPU和 GPU协作计算的时候效率问题。

因为当时CPU和GPU在解决问题的时候效率并不高,单CPU和单 GPU合起来也就20%计算效率,显然不满足要求。经过我们科研人员努力,从20%提高到70%的工作效率,因此从"天河一号"彻底验证了,从体系结构上验证了这条路是可行。2010年我们用了一年时间,对天河一进行升级,也就是现在天河一 A系统。整个系统里面计算组也是我们设计研究,还有互联网络,也有我们自己定制的软件站,里面包括计算处理系统,服务处理系统,基础诊断系统等等,当然也是我们这个会的主题存储。

计算处理系统包括7168个计算机,每一个计算节定有2-6核CPU和1个GPU,GPU采用是英维达,就保持主处理器和GPU之间有足够的带宽。右边两张图,右边是处理器的主板,4个CPU,下面是GPU的主板,靠在CPU主板上面,这样一个CPU主板和GPU主板合起来就是两个计算节点。右面主板含有 4个CPU,这4个CPU联成两个节点,符合节点主要是用于登录,强调团队的计算能力,包括网络,数据库等一些应用。

互联通信系统也是国防科技大学自主研制,达到10GBDS,是现在主流通信网络2倍的速度。双向带宽有116个GPS,采用2级网络,第一级网络把16个节点通过交换板互联,第二是全系统通过11个384个互联,每个机柜里面包含两个交换机。研制了2款芯片,一个是网络结合芯片,MSC,主要是实现这个节点与高效能网络连接。

另外一个网络芯片实现14个互联端口互联,吞吐量达到2.56TB。这是在集散机16口的交换板,实际上主要有两个接口,上面接口插在背板上面,这个靠右边的电源,这个靠左边一排是信号。比如在机柜,机框里面看不到,下面有16个口子就连接到交换机,这是机柜计算机里和交换机之间的接口。

这两个是交换机里面的两种不同的刀片,第一个是叶交换刀片,这是另外一个刀片,大家可以看到我就不多说了。我们的交换机采用自主研制的协议,吞吐量达到 61.44TBTS,是交换机的2.37倍。那么,这个左边是交换机一个正面和反面,右实际上是一个交换机柜,每个里面有2个交换机。

输入输出系统总容量有2PG,我们通过自主高速互连网络连接起来,这些存储系统和计算节点都是通过自主研制的网络连接起来。网络这边基于Lustre用来提供稳定性和性能。还有一个是监控诊断系统,实现全系统的检测和控制功能,主要功能有实时系统的状态检测,故障定位,还有一个反馈的冷却环境,自动根据主板和 CPU温度来进行控制。另外还提供远程的监控和管理,我们像机房直接在用户端就可以控制启动,进行故障控制。

基础架构系统,我们采用双重对面刀片式系统,温度高,维护方便。每个机柜含128个计算节电,4个网络交换半,4个监控诊断板。接下来介绍"天河一号"软件系统,包括操作系统,编写系统,并行程序设计和可视化环境。是基于Linux开发,主要改造有计算节点采用一个定制内核,提供一个虚拟运行环境,通过这个虚拟运行环境用户之间的数据就实现一个安全过滤,面向多个用户,然后用户也可以定制自己的计算环境,在这里面也可以进行系列的资源角度,我们资源角度也可以达到CPU的核。

另外研制一套大规模资源管理系统,对整个作业管理系统,作业调度就有一套系统来管理。另外操作系统还有节能控制功能,编译系统,对我们来讲超计算机比较好,保证一些传统计算机用户把他的程序很平滑过渡起来。超级计算机包括C.C++,另外我们把针对异构计算放进去提供用户使用。还有我们为了解决大家不习惯的问题,我们研制了异构并行的编程框架,主要思想是这样的,现在大家并行这个CPU的应用,更多是来一个应用就把这个运营进行改变,但这样会带来一个什么缺点呢?这个应用不但在开发过程中是变化的,反复要改。

还有一个问题运用的代码,用户他不愿意给你这个开发人员,牵扯到知识产权问题,或者是牵扯到保密的问题,这样你会拿不到那个原代码。这个过程是很长,对于一些上层用户未必对你体系结构能够很好的掌握,未必去习惯这个技术编程。因此我们开发这个编译编程代码,主要思想使使用CPU,GPU协同计算能力,隐藏,或者说半隐藏这个CPU编程。

主旨思想就是在节点之间并行并购,我们主要交给计算机专家来做,计算专家他懂体系结构,懂编译,懂操作系统。另外,编译程序设计环境,我们采用统一的基础,包括性能的调优和调试,也提供远程开发。

科学计算可视化系统,接下来给大家介绍一下"天河一号"现在使用阶段一些典型应用。一颗GPU相当于7颗CPU的应用,也是 CPU,GPU性能计算。这个里面主要是解决了单节点异构,节点之间这层变形不动,但是这层变形可靠性可以保证下来。

还有一个是应用情况,运行效率达到87%,这是产业测试集中的地方,正常状态下的情况。这个软件是中国石油集团,在我们系统里面最多达到8586个核,这个物质处理原来是要1个月时间,现在是要1天时间。那天我们在开玩笑,整个这个系统,整个这个计算速度大幅减少,原来认为他们把3T数据从自己单位跑到这个中心,他自己原来没有考虑,他自己开过车把这个数据送过来,路上的时间就一天的时间。

这三幅图35公里,大约1000平方的处理结果,包括深度平移,深度切片等等,这个处理软件就相当于给地壳做了一个CT一样,这个数据处理的结果实际上我们就可以看到我们脚底下这个地层的情况,就会为寻找石油带来极大的方便。这点有了这种高性能计算,带来社会经济效益非常好的着力点。现在是缺油,到国外找石油,国外就会招标,招标的时候给你数据,如果说你能够尽快把这个数据处理起来,我心里就有底,国外在谈判的时候我在竞标的时候就有底气了,到底多少钱可以把这个油田拿下来。

另外一个应用是药物研究,这个软件是上海药物所研究的软件,现在的计算情况正在算,目前是1万元用了300多个核,这些概念确实不是太懂。但至少我们反映了一个用户的情况,我们觉得有这么大规模的系统,对他们的研究工作有非常大的帮助,并且他们原来不敢想做的事情,现在敢想了。像原来他的系统就是几百个核,几千个核,现在他就考虑要修改他的程序,把"天河一号"上面几万个核给用起来。这是"天河一号"上面正在使用的计算机应用单位和即将和朝阳中心使用计算机的应用单位,谢谢大家。