Chinaunix首页 | 论坛 | 博客
  • 博客访问: 97708
  • 博文数量: 26
  • 博客积分: 747
  • 博客等级: 军士长
  • 技术积分: 280
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-28 09:37
文章分类

全部博文(26)

文章存档

2012年(2)

2011年(24)

我的朋友

分类: IT业界

2011-06-20 10:27:37

在高性能计算领域,清华大学有着很高的声誉,因为清华大学不仅有着国内高校里计算规模最大的高性能计算系统之一,而且培养了大批并行计算人才,在高性能计算软件方面有着许多研究成果,同时还承载着国家863计划高性能计算机评测中心。

  日前,IT168服务器频道记者采访了清华大学计算机系副主任、863计划高性能计算机评测中心副主任陈文光教授。在访谈中,陈文光教授介绍了清华大学在HPC领域所扮演的四种角色和工作内容,并重点介绍了清华大学在HPC测试和选型方面的成就和心得。


▲清华大学计算机系副主任、863高性能计算机评测中心副主任陈文光教授

  清华大学在高性能计算领域的四种角色

  大家知道,清华大学在高性能计算领域承担着多种角色,既是高性能计算系统的用户单位,又是国家级的HPC系统评测机构,当然,也是高性能计算的教育机构和研究机构。那么,在陈文光眼中,这四种角色是如何定位与平衡的呢?

  作为教育机构,清华大学是全国顶尖工程师的摇篮,为了帮助非计算机专业的学生使用HPC来做研究与创新,清华大学多年来给理工科专业学生开设了《并行计算》课程,教会物理、生物、地球科学、大气科学的学生写并行应用程序,从而为以后在工作岗位上使用HPC打下基础。

  “在科研方面,我们主要把自己定位于一个高性能计算系统软件的研究单位。”陈文光谈到,虽然早在上世纪90年代初期,清华就做过集群架构并行计算机硬件系统的研发,但到了2000年后,随着系统规模越来越大,高校已经没有办法承担如此大规模的工程任务,所以开始把研究方向集中到HPC所需要的系统软件等关键的前瞻性技术上面,以帮助用户和产业界解决棘手的问题,如高可用机制、并行程序调试、性能分析等。

  不过,此行笔者最关心的并不是HPC科研,而是清华大学作为用户和国家863计划高性能计算机评测中心,所积累的HPC测试与选型经验。

  “作为用户,清华大学本身对高性能计算有着很强的需求,我们已经拥有国内高校中规模第二大的高性能计算机,仅次于国防科大。”陈文光告诉记者,清华大学新添置的百万亿次HPC主要用来承担全球气候变化预测研究方面的项目,今年清华大学的这套HPC在中国向全球气候变化委员会(IPCC)提交跟踪研究报告时就会发挥重要作用。其次,这套机器也会用于生物学、计算化学、材料学等,如生物方面的扫描电镜应用,对一个蛋白质从不同的角度拍多张二维照片,然后恢复成三维的蛋白质结构。

  而863高性能计算机评测中心自2004年在清华大学挂牌成立以来,已有7年之久,“我们先后帮助国内30多台中大规模高性能计算机进行了测试,发现了很多软硬件问题,如驱动不匹配、故障、故障等等。”陈文光谈到,在这些测试过程中,中心逐步确立了“以应用为导向”的评测思想,并形成了“自底向上、逐层建模”、“全过程评测”等一系列成熟、先进的评测方法体系。


  “自底向上,逐层建模”的评测经验分享

  由于大规模计算机的软硬件层次特别复杂、节点数量很多、规模也很大,因此非常需要通过专业测试服务来发现一些潜在的软硬件问题,以实现系统的优化。陈文光举例谈到,“在一次测试中,我们发现,仅仅是由于线缆的松动,导致某一个节点的对外通信速度比其他节点要慢上10倍以上,从而可能让某个只需要1小时执行完的任务跑上10个小时。这种问题非常麻烦,必须经过专业长期测试、逐层分析才可能找到真正原因。”

  为此,863高性能计算机评测中心在测试过程积累了这样一套评测方法:自底向上、逐层建模。即从系统最底层开始,通过对每一层建立一个性能模型来预测每一层的正常运行时间,并将其与实测数据相比较,根据比较结果来判断HPC系统是否有问题。

  陈文光介绍说,首先,在最底层,通过对点对点通信、执行速度、带宽等进行测试,可以发现一些故障,如节点间不通或速度很慢,然后与其他节点进行比较以发现问题;在此之上,进行集合通信等方面的测试,如MPI广播、Alltoall等,将测试结果与理论推断进行对比;再往上,对Kernel benchmark,如NPB中的FT程序的计算量和通信量进行测试,进一步把测出来的数据作为参数输入到性能模型里去,预测出正常系统的性能与实际情况进行比较;最后,对包含很多算法、数据和通信的实际应用程序进行测试。

  基于上述方法,评测中心为许多用户提供了验机测试服务,集中解答两个方面的问题:系统是否完好,机器配置与合同是否匹配。在此基础上,清华大学还针对少数几台机器进行了“全过程评测”,即从机器开始设计时介入,全程参与,类似于房地产业里的“监理”角色。比如,有一套系统,原有方案提出内存需要8GB、CPU需要很高主频,但评测中心分析后认为,根据应用需求内存应该提高到16GB,CPU主频则不必太高,系统上线后发现这一调整是很正确的决定。

  评测与研究是相互促进的,一方面评测需要研究来做支撑,另一方面,大量的评测也会促进研究。陈文光告诉记者,“评测并不是简单的操作层面的事,需要做大量的研究,根据国际高性能计算学术会议上的反馈来看,目前我们这套评测技术在全球范围也是最领先的。”


  HPC选型:应用导向是首要原则

  基于清华大学在HPC领域的多种角色定位,陈文光接触过大量来自不同厂家的高性能计算机。谈到高性能计算机选型,他认为与评测类似,以应用为导向仍然是最为重要的原则。

  我们知道,无论是全球的TOP500高性能计算机排行榜,还是国内的TOP100,都是以Linpack测试值来评定机器性能高低的,这些排行榜也为许多用户在HPC选型时提供了一些参考。陈文光对此提出了不同的看法:高性能计算机性能不能简单地用一个数字来表达!

  在陈文光看来,性能是一个程序或一组程序在这套计算机上运行所表现出来的特性,因此,谈到性能,必须说明两个前提条件,即机器是什么,应用是什么。用户如果要购买高性能计算机,不能只看峰值速度或Linpack测试速度,最重要的是看实际应用程序在这台机器上的运行性能。

  他告诉记者,在实际情况中,有很多用户,特别是超算中心、高校高性能计算中心的应用程序会有很多,可能有几十、几百个,对此,可以按2:8原则选出使用机时最多的重要应用,然后从中挑选出容易做成小规模测试程序的代表性应用,进而对这些测试程序给出代表性输入,在一两个节点或小规模集群上测试,最后通过预测模型来分析在更大规模系统上的性能表现,以提供选型时的性能与配置依据。

  陈文光特别强调,对于HPC系统计算模块的选型,业界已经有相对比较成熟的定量分析方法,而对于HPC存储、I/O方面,国内和国际上都比较忽视。对此,清华大学也一直在进行这方面的研究,对程序的I/O行为进行建模和分析,以找到最佳的配置。

  HPC云:还有很长一段路要走

  谈到如何在虚拟机和云计算平台上提供高性能计算服务这一趋势,陈文光认为,还有很长一段路要走。日前清华大学也在针对Amazon EC2上的CCI集群版虚拟机进行测试,最大的一个发现是,与本地的机器相比,其使用的万兆以太网延迟太大,一般本地用的Infiniband延迟只有一点几微秒,而基于万兆以太网上的云平台的延迟达到了40-50微秒,“这对于那些对I/O延迟很敏感的应用来说体验是会很差的。”

  针对目前一些超算中心也在向云平台转变的现象,陈文光持谨慎态度,他认为,目前在HPC云这块,Amazon做得相对比较好,其他厂商还没有很成熟的方案出来。因为与传统超算中心运营模式相比,HPC云需要准备好一整套的机制,包括计费、流程、管理等,底层I/O的问题也会更加复杂,因此,超算中心不能简单地买一套软件来装上就能实现向云平台的转变。

阅读(1921) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~