媒体报道:
南京大学周会群:用计算机聪明地做实验
Q=《中国教育网络》
A=周会群
Q:南京大学的高性能计算中心非常特殊,分布在物理,化学、天文、地球科学四个不同的学科中,为什么采取这种模式?
A:高性能计算中心的建设是为了提升南京大学的科研竞争力。现在正在构建的高性能计算集群其运算能力超过35万亿次浮点运算每秒,这可能是目前全国高校之最。这个集群将由402个两路四核计算节点组成,由高速网络连接。另外拥有50TB的并行文件系统和100TB的存储。
为什么要建这么大的高性能计算中心?因为我们认为,学科的发展需要高性能计算,聪明地做实验需要高性能计算。从国外的发展来看,计算科学在科学研究当中所起的作用越来越大,比如说生命科学、材料科学等。
南京大学在物理、化学、天文、大气、地球科学等几个学科方向都各自建立了高性能计算设施,这几个学科特色鲜明,在全国也名列前茅,是南京大学最著名的的几个学科方向。
计算机正在为这些学科带来新的研究前景。比如地球科学,过去,我们上天有道,但入地无门。探测地球内部非常困难,因为地球内部的极端条件:超高温、超高压,而且地球内部具有复杂的物质成分、结构与性质,多数地球规模的、以及地球内部的现象无法用实验来复现。它是不可控的,温度、压力不由你控制,投入什么东西你控制不了、产出什么东西你也不一定知道。过去就是在这样的基础上,我们力图探究物质究竟发生了什么样的化学变化和结构变化。
但是高性能计算机的兴起,对地球科学的部分领域提供了一个革命性的契机——我们可以利用计算机聪明地做实验。随着集群系统的成熟, CPU性能的大幅度提升,使得我们有可能从物质的微观性质做起,逐步了解地下的这些物质在高压状况下究竟产生什么样的变化。我们现在关于地球内部的知识,是通过天然地震波分析得到的。以后的相关领域都会越来越多地依赖计算,通过虚拟的实验和探索来了解我们的对象。
Q:不久前,你们选择了Intel刚发布的5500做处理器,您认为高性能计算中心选择处理器需要从哪些方面重点挖掘?
A:CPU用于高性能计算方面,非常重要的一个性能就是它的浮点运算能力,这直接关系到计算能力的问题。另外一个性能是,多核之间的协调能力。现在的CPU是多个核,协调得好不好非常关键。如果协调不好,就像俗话说的,“一个和尚有水吃、两个和尚抬水吃、三个和尚没水吃。”协调得好,就是“三个臭皮匠,顶个诸葛亮”,可见处理器的协作能力至关重要。英特尔的新产品由于在微结构上有了根本性的改变,并行效率较之过去有了很大的改善。
Q:刚才说到浮点运算,但是在浮点运算方面,GPU有更大的优势,那为什么没有选择GPU?
A:对的,我们非常关注GPU,现在我们也在进行这方面的研究,因为它的确是非常有希望的可以用于高速计算的芯片。
它有一定的优势,但是没有得到很好的开发环境支持,导致在现阶段大规模的应用或者是商用有明显的滞后。有两个方面的原因使得GPU的普及会有一定的滞后。一是它本身的原因,因为目前GPU是搭载在显卡或专用卡上的,作为宿主计算机的加速卡。加速卡和计算机的主板是通过PCI-E的接口,接口带宽一定。如果我们有应用直接把它落到卡里,在显存里面运算,速度将会很快。但是对于不能把计算直接搬到显存里的应用,则需要在主存和显存之间通过PCIe交换数据,这样速度将会很慢。
另一个制约GPU发展的因素源于GPU本身是一个特殊的多核处理器,并不是所有的计算都适合这样一个结构,有一些是有本质上的困难。还有一个是软件和算法,必须要开发新的算法和软件。现成的软件不可能通过重新编译就能充分利用GPU的计算效能。我们必须要做一些移植和再开发,对于很多人来讲,或者对于很多企业来讲,这就是一个很高的门槛。
因此,我个人认为,未来它将是以融合的方式出现,就是把CPU和GPU结合起来,现在Intel以及AMD都有相似的计划。所以未来,可能处理器是要朝着这样一个方向演化的。
Q:高性能计算支持学科应用需要针对性的软件,你们的软件是怎么开发的?
A:在大学里面我们很少用商业软件,我们比较多的是用开源代码。为什么用这种软件?开源代码有庞大的用户群,当然主要集中在学术界。
实际上开源代码的软件能获得更好的技术支持,因为世界各国的一批头脑非常优秀的人都在执着于这件事情,你在论坛上随时发一个帖子,别人就会来帮助你。我们很多的研究生、很多博士生在做论文的时候,做计算,什么地方出了问题不知道,一方面可以来问导师,另外一方面可以在论坛上发一个邮件,很可能是意大利、美国、德国的某一个教授给你讲你这个错了,正确的该是什么样。
所以我们觉得开源软件有这方面的优势,我们最主要依靠开源软件。另一个方面,因为开源,你手里面有源代码,关于理论模型,你的考虑、你想要做的修改,非常容易实现。你可以修改它,把你的主意加进去,再公开出去给大家共享。所以它是非常好的良性发展的一种机制。
Q:节能被越来越多地关注,在此方面你们怎么做的?
A:节能是我们考虑的重要因素之一。在节能方面,厂商做出了很多努力,低能耗的CPU,多个刀片共享一个电源,提高电源本身的有效功率等等。从硬件方面看,这需要厂商继续做出努力,而且厂商这几年在此方面已经有非常大的进步。
从另一个方面来说,我们自己可以控制的能耗已经很有限了。而且,节能往往与计算能力成为一对矛盾。要想节能,可能就得损失一些计算能力。
这里面就有一个取舍。因为有可能,要做一个大的计算用低功耗的机器要计算20个小时,但是功耗大一点的可能只要10个小时就行了,比较下来,可能是功耗大的更节省,所以这些我们要做一个综合的取舍。
对用户来说,更有效果的节能,其实是在机房的设计。冷、热风怎么走?机房温度究竟设定到多高?这些是最关键的。此外,我们还可以考虑利用循环热。
我的实验室冬天不开空调,用的就是集群产生的热。到了冬天,我经常把机房的窗户都打开,让冷风进来,甚至摆一台电扇,把外面的冷风吹进来。对于小规模的集群,这是一个很初级、很简陋的办法,但是也挺有效。不过可能会产生新的问题——就是防尘。
我想,未来高性能计算中心建筑物本身的设计应当对热量有效率的排放、热能的循环利用、合理利用季节温差的天然制冷源等等作综合的考量。因为节能的确非常重要。
Q:现在许多高校都有兴建高性能计算中心以支持学科研究的考虑,在一些高校,是由网络信息中心来负责的,如何让高性能计算中心有更好的服务,您有什么建议?
A:高性能计算中心的运营和管理当然可以交给网络信息中心,但是决策就不一定,主要是看有没有真正懂行的人才。南京大学有一个长期利用高性能计算解决科学问题的多学科群体,由这个群体中的自愿者组成专家小组进行决策。
我们实际上有三大任务。一是产品的选型。我们最主要的是平时大家在一块儿讨论,我们所需要的这样一个集群究竟用什么样的CPU,我们究竟用机架式的服务器还是用刀片式的服务器,它们各自有什么优点和缺点,要考虑得很全面。
要选择产品必须要有日常的积累。比如在选择处理器的时候,只有平时不断地积累和测试,你才能在真正购买的时候买到最合心意的产品。
以我们为例,在处理器中基本上除了频率在2.0以下的低端产品没有测过以外,其它的我们全部都测试过。我们日常还有很多事情利用我们的业余时间做测试,因为有了测试的积累才能回答诸如在多CPU、多结点的情况下频率最高的CPU是否计算效率最高,在单个计算结点的计算能力已经大大提高的情况下高速网络的带宽是否已变为一个敏感因素之类的问题。这样我们才有比较,才能帮助我们更好地选型。
另外一个是网络。这是被很多人忽略的,但是非常关键的。没有高速网络的支持,计算服务器不能成为一个有机的整体,无法发挥其本来可以具有的巨大能力。
做高性能计算,延时非常重要,尤其是在将计算任务分布到不同的机器上面,那么,必须有非常小的延时才能保证计算的高效。我们用超高速网络InfiniBand,带宽可以达到每秒20 Gb,它的带宽是千兆网的20倍。最新InfiniBand网卡的时延是1.25微秒,要比其他的方式快几倍至几十倍。
还有一个不容忽视的就是并行文件系统,因为在计算的时候,会高速输出很多内容,在计算中会随时输出一些中间结果,这些中间结果会有几个GB、几十个GB甚至上百个GB这么大的输出量,这只是一个中间计算结果。
如果几十个做实验的用户同时输出一个实验结果,一瞬间可能输出几十G的文件。如果这个并行文件系统后面的存储没有很大的带宽和很高的速度,不可能支持这样的海量的输出,整个集群会被阻塞和崩溃。所以我们经常讨论集群架构方面的一些问题,最终确定一个最佳方案。
Q:南京大学的高性能计算中心未来将如何发展?会不会将分散的高性能计算资源在物理上整合起来?
A:我们暂时还没有成立一个集中的高性能计算的研究所。但是我们另外有一个平台,江苏省计算机学会高性能计算专委会,这是一个很好的平台。
不仅仅是南京大学,包括东南大学、南京航空航天大学、南京理工大学,以及其他江苏省内的其他高校和一些企业等都是我们的会员。我们每年有3至4次定期的学术活动。大家都会把自己在高性能计算中所遇到的问题和自己的经验在这个平台内进行讨论和交流。
此次建设的高性能计算设施是全校的公共平台,我们正在考虑构建校园网格,把已有的、分散在各个院系的高性能计算设备在逻辑上统合起来,形成一个虚拟的整体资源。
要使得高性能计算中心能够发展,还有一点很重要的是,吸引企业参与进来。因为高性能计算是很多企业自主创新、提升核心竞争力所必须的。
现在,大家说中国高性能计算主要在学术领域,就是因为中国的企业太弱。实际上,有了高性能计算机的协助,你可以通过计算机来对材料做功能性设计,或者利用计算机来筛选实验方案,留下最可能的,然后做样品,再进行实验室的实验。这就是一个大大节省成本的过程、一个优化的过程。
这样既帮助了企业的进步,另一方面也促成了中国的高性能计算有一个更大的发展。
来源:《中国教育网络》2009年5月刊