从应用入手 推动高性能计算普及化进程
来源:中国电子报 更新时间:2012-04-15

  

主持人 李佳师


特邀嘉宾


何万青英特尔(中国)有限公司高性能计算/数据中心技术经理


孙毓忠中国科学院计算机技术研究所 国家智能计算机研究开发中心研究员


陈文光清华大学计算机与技术系副主任,高性能计算的研究专家


张建新富士通(中国)信息系统有限公司平台事业本部 市场统括部产品市场部技术产品经理


曹学佳浪潮(北京)电子信息产业有限公司高性能服务器产品部产品经理


张昱中国惠普有限公司高性能计算销售经理


叶相宇微软中国技术中心高级顾问


曾宇国家高性能计算机工程技术研究中心副主任


李松Novell产品经理


朱明IBM系统与科技事业部大中华区基础架构解决方案总经理


编者按:高性能计算(HPC)正在走出象牙塔,呈现越来越普及的趋势;在TOP 500的榜单上越来越多的HPC采用了刀片服务器;也是在TOP500榜单里首次出现了能效的排行指标,而在HPC的操作系统的选择上,随着微软的大举进入,也使得竞争变得越来越白热化。未来的HPC将向哪个方向演变?HPC产业链的上下游又如何携手共同推进产业的发展?为了推动高性能计算在中国更快普及,构建更为和谐的高性能计算产业生态链。7月4日,《中国电子报》IT板块举办高性能计算沙龙,邀请到来自中国科学院计算机技术研究所国家智能计算机研究开发中心、清华大学、IBM公司、惠普公司、微软公司、富士通公司、Novell公司、曙光公司、浪潮公司等等高性能计算领域的专家学者和企业相关负责人,就HPC领域的相关话题,进行了一场观点对话。


高性能计算的普及化


最近几年,HPC出现了越来越普及的趋势。在TOP500榜单中有一半以上是商业的企业用户,HPC越来越快的走出科学计算的象牙塔。未来HPC会不会很快走到中小企业端?HPC普及面临什么障碍?众多厂商在HPC普及上如何布局?商业用户与以往的科学计算对高性能系统的需求有何不同?


朱 明 高性能计算将延伸到各个行业,其高性能计算的专业性非常强因此不能实现大众化。只能是越来越普及,会有越来越多的产业、行业来采用。从国家的角度来看,高性能计算要往前发展,要想拥有更多的用户,需要让各个行业的应用利用起来而不只是硬件机器的销售。当下国外相当重视一些算法和应用的投入,例如云计算。云计算与网络计算不同,网络计算是一个概念,但实际上却没有一个明确的标准,而云计算有很清楚的框架。所以高性能计算要实现普及化,每一个从事高性能计算的人或者厂商,都有一份责任和力量来引导市场的方向,我认为高性能计算可以被普及。


李 松 从HPC在国内最近几年的发展情况看,发展速度之快超出厂商的想象甚至超过厂商的设计速度。普及化的程度之高显现出用户层面的两个趋势:一是传统意义上的高性能计算,如地震局这样的传统意义上的高性能计算客户,他们大概需要三四年就可以把计算能力增加一个数量级;另外一个趋势就是中小企业,或者低端客户群体对高性能的需求增加,而且这个群体正快速崛起。像针对这种用户群的小型HPC项目,都是Linux的机会,这种项目最少的有十几个节点,大的有两三百个节点。客户群体基本是小型的研究单位,比如学校、科研单位,甚至中小规模的IT公司。


所以高性能计算已经兼有两种作用:一是传统意义上继续承担国家的重点项目,二是商用、民用。


何万青 在国内,一般都是传统的高性能计算,比如石油行业、制造业、金融业等。中国是制造业大国,但是碰撞分析、模拟等在国内不是很普及,只有气象、地震等几个大行业在应用。要想普及,最重要的是应用,所谓理论终须与实践相结合。应用软件在多核技术没有研发出来之前,仅通过处理器本身的微架构来实现比较低级的并行,现在多核技术已经普及,但是很多的应用软件还是没有把多核应用起来。从普及来说,重要的是半导体厂商、处理器厂商、OEM厂商、软件开发商应如何让更多的中国用户的应用能够快速迁移到多核的平台上。使用费用亦是一大关键,虽然科技的不断发展使生产成本降低,但是开发并行软件的成本会有提高,因此也阻碍了高性能计算的普及。


Intel关注云计算,实际上高性能计算到目前为止仍然是计算集中的应用与存储资源的集中应用来完成一个特定的任务。Intel认为软件需要培育,但是由于技术的发展,这个门槛会越来越高,所以培养软件开发人员,还要培养用户的二次开发能力。要普及化,一定需要新的架构、新的平台,新的OEM产品,只有Cluster架构方面需求增加,才能做到普及。


曾 宇 五年前HPC领域就在谈普及化时代的到来,即高性能计算平民化应用时代的到来。评价一个产品是否普及,我们的评价标准是什么?首先看产品的可获得性。企业能够非常简捷方便地使用商品化部件来构建HPC,可以用低廉的价格得到商品化的部件来构建高性能计算机,这是第一个标准。其次是低廉性,用户可以以非常低廉的价格买到高性能计算机产品。再次就是应用需求的普适性,HPC应能满足科学计算、还应满足包括商业计算、信息化应用等不同领域的应用需求。


当前我们从可获得性、低廉性和应用需求的普适性三个层面来看,HPC已经具备了平民化、大众化的基础。多核技术、刀片技术、节能、虚拟化、网络等技术的发展,让企业构建万亿次、乃至百万亿次高性能计算机已经得心应手,HPC在制造层面的门槛将越来越低。其次从价格来看,曙光目前销售大量的集群系统价格非常低,万亿次计算机现在能卖到10万元以下。曙光每年销售的16节点以上机群超过千套,而且应用在教育、金融、制造、科学计算等各行各业。可以说,HPC的用户是大众化的,而不是局限于传统科学计算领域。从上述这些方面来说我们正面临一个HPC普及化、平民化的时代,而且准确地说,我们正在面临一个行业应用十万亿次、个人应用万亿次的普及时代。


张 昱 普及化是高性能计算发展到现在的必然趋势,但是不应该把高性能做得像卖手机、电视机一样,普及化跟所谓的廉价化存在着根本性的差异,实际上高性能计算普及化是应用和需求的表现。另外我们要重点考虑如何把高性能计算做出真正的效益,关于HPC还有一种说法Hardly Profitable Computing,因为研发高性能计算厂商获得的利润很低。


叶向宇 高性能计算机技术趋向普及化,是因为多核、刀片这些技术的出现。高性能计算普及化面临用户、产业链上下游协作的问题,要共同打造中国的HPC产业联盟。


张建新 要真正实现高性能计算的普及化,需要努力的方向并不是高性能计算和应用紧密结合。而是要把高性能计算当做一个资源来看待,不管是电信的应用,还是移动的应用都是可以利用的。如果达不到这种程度,由于高性能计算的特性局限,很可能做不到真正的商用。还是会局限在石油、高科技等大行业计算的领域。


孙毓忠 有人曾提出一个尖锐的问题,都知道谷歌有十几万台服务器,但是有多少是所谓的高性能计算机,是不是我们所做的高性能计算机不适合谷歌?谷歌到底需要一个什么样的服务器?我们现在做的高性能服务器在谷歌上能否应用?我们把高性能服务器的节点连接起来,是否可以满足他们的应用模式?


高性能计算机的普及化,最重要的问题是不能仅从纯科学计算的领域来思考,而必须实现对非科学应用计算满足性的跨越。所以,HPC始终不能发展成为一个大的产业。谷歌与IBM等公司大力倡导的云计算的出现为HPC的普及化提供了一个难得的历史机遇,它实际上就是一个使用模式的变革,这个变革非常重要,代表了社会化绿色IT下的普适计算的潮流。


从这个角度来说,HPC能够占领面向社会和公共计算的市场,然后实现云计算的使用模式。有两个实现模式可以探讨,第一个使用模式就是Browser(浏览器格式),它可以降低使用的门槛。还有,你可以将计算能力与虚拟机的形式租赁给中小企业,实现社会化的集中计算与存储,这才是云计算真正的本质。如果这种模式可以实现,才能在真正实现高性能计算的高贵的同时,又能实现普适化。


第二点很重要的是为什么谷歌的云计算这样火爆,其实还是提出一个很简单的并行的编程算法。仔细研究一下,Mapreduce就是一个简单的数据并发型(SIMD)的东西,比如搜索,将搜索空间分成四块,然后每个给一个计算机。这样的应用如果很广泛,云计算在这个模型下面会有一个很简单的实现。提到用户最简单的方式,就是只要声明一个全局的变量,任何人可以访问它,只有这样的模式,才最接近自然和人对并行计算/处理的理解。正是这样的模式,Intel等厂商开发了线程级并行(TLP)的CPU加速,就是从传统指令集并行化技术发展而来,也为更人性化的并行编程提供了可能。


第三还要追随Web Servers(Web服务)的模式,一旦真正深入人心,以云计算为代表的使用模式就是集中的后端计算、存储、服务,如果这是市场的主流,那么HPC可以拥有一个巨大的市场。


曹学佳 无论从传统的科学计算领域,还是部分商用领域,比如国内正在高速发展的动漫影视渲染行业,他们对于高性能计算的需求逐渐升温,因此HPC走向普及符合时代的潮流。而在高性能计算普及的道路上,以下几个问题是我们必须面对的:


首先,针对越来越广泛的需求,硬件厂商如何为不同行业的用户量体裁衣,打造合身的解决方案。对于此,浪潮所做的不仅是降低系统硬件成本,通过“绿色信息化”计划提升系统利用率降低系统功耗,而且更多的是研究不同的需求,提供针对性的高性能计算系统。


其次,高性能计算专业软件绝大部分来自国外,其高昂的费用成为HPC中小规模应用用户的心病。因此,要解决这个问题,需要国内的软件厂商与我们一同努力,生产出适合中国用户的高性能计算软件。


最后,人才的储备。高性能计算应用对于使用者有很高的要求,而国内的现状却导致HPC资源不能被很好地利用,而且很有一部分人甚至不清楚通过高性能计算能够帮他们解决问题。因此,学校、研究院所以及厂商,普及高性能计算知识,为社会培养高性能计算人才势在必行。所以,高性能计算的普及需要我们整个HPC生态圈中各个角色的通力合作与努力。


陈文光 高性能计算的普及,其实就是并行计算的普及,随着多核技术的发展,并行计算将应用于更多用户。但是并行程序的编程模型、运行环境等要比串行程序复杂,就需要更多并行程序库的开发来减轻并行化编程的困难。从目前状况看,用户最关心软件应用,如何让设备运行效率最高,如何深化高性能计算在行业中的应用,这是普及化最关键的问题。


高性能计算的用户有三类。一类是传统的科学计算、高性能计算用户,比如气象、生物、科研等,这些用户在并行编程上已经很熟悉,会用MPI或OpenMP来写程序;第二类是服务器用户,服务器有天然的并行性,大多采用并线程的方法;第三类是桌面系统用户和嵌入式系统用户,这是HPC未来最大的用户群。他们当中除了少数应用,比如图像处理或3D制作,大部分程序都是串行的。对于第三类来讲,并行计算是一个新技术,会带来很大挑战。流行的OpenMP编程模式,对于大多数桌面系统编程员来说过于复杂,对新的高效并行程序设计语言需求迫切,所以这个部分会成为突破的难点。

高性能计算的刀片化

根据IDC的数据,2008年,高性能计算市场销售收入超过去年的120亿美元,集群服务器将占据高性能计算整体份额的70%之多。集群服务器的销售也将逐渐向刀片服务器领域偏移。在TOP500的榜单上,IBM、HP等等很多上榜的HPC都是采用的刀片服务器,如何看待这样的趋势?未来HPC刀片有多大的发展空间?刀片能否成为HPC的主流?

朱 明 高性能计算的刀片化会在高性能计算中、低端领域发生,在高端的高性能计算应该不会发生。比如IBM与美国国防部签署一个新项目,并使用Power7的芯片做计算机,所用Power7的芯片是一个机架式的,而不是刀片。所以在高端的领域,不只是刀片化,应该是多样化,或者是加速器化,这是高性能计算在硬件方面发展的趋势。

曾 宇 刀片服务器技术的发展从2000年第一代以“超高的计算密集性”为特征到第二代强调刀片服务器的均衡性,这个时期刀片服务器的主要特点是不再过分强调计算密集性,而是在计算密集性和单个刀片性能两者之中选择了一个合适的平衡点。在合理提升计算密度的前提下,提高单个刀片服务器的性能,使单个刀片服务器具有通用机架式服务器的性能。当前各企业正在研制及推出以强调效能为主要特征的第三代刀片服务器,在这一阶段,刀片服务器的计算性能、I/O性能、可扩展性、节能、绿色等诸多高效能特征均得到重视和加强。

刀片服务器可简化管理的复杂性、增加资源的聚合性、提升应用的效能,并且沿袭用户基于机群的管理及维护使用习惯,所以在服务器的发展历史中留下了重要印迹。普遍观点认为,伴随众多四核、八核等多核芯片的登场亮相和刀片服务器的普及,更多的百万亿次量级乃至千万亿次量级的高性能计算机将以刀片服务器为载体来构建。IBM代号为“Roadrunner(走鹃)”的千万亿次超级计算机基于AMD刀片与基于Cell BE的刀片来构造,以实现1.6PFLOPS以上的峰值性能。Sun Constellation System采用Sun Blade 6000服务器来构建。可以说,在中高端基于刀片服务器来构建机群,在中低端以个人HPC来满足商业计算及信息化应用的需求将在未来几年成为一个趋势。

刀片服务器的发展将是未来服务器发展的一个里程碑,在这个里程碑之后,围绕模块化、效能这些核心要素,还会有新的服务器形态出现。当前影响刀片服务器发展的主要问题就是标准问题,中国的高性能计算机标准工作委员会(HPCSC)、英特尔的SSI、IBM的刀片联盟都在推相关的刀片标准,可以说,要实现刀片的进一步普及,我们首先必须解决刀片的标准化问题。

何万青 普及化应用非常重要。现在做的一个项目,对不同的应用分析它对平台特性的主导需求。比如说气象应用,它的吞吐量非常大,每一个核需要的数据来回的访问量非常大。比如说石油应用就不会有太多的缓存访问。针对不同的需求在系统架构方面,比如说刀片、机架、塔式,这些需要有相应的设备形态去适合,所以从高密度计算看,刀片是一个趋势,但是我们仍然强调多样性,应该服从应用的特征。

此外,考虑到占地和散热,刀片是很好的趋势。由于单个刀片的资源和限制,能否满足应用本身的特性就要看在刀片之间的通信,如把应用代码改一下,这个问题导致的多样性将成为一个趋势。

曹学佳 刀片式服务器,凭借其高密度、低功耗、易管理的特点越来越多地走进了用户的机房。而现阶段,机架式服务器与刀片式服务器并存,对于不同的应用,刀片服务器的多样性和针对性成为一个重要因素。硬件厂商做自己的产品,虽然各家的产品各有特色,但是最终的目的都是满足用户的需求。

浪潮目前并不是在把刀片产品做大面积的推广,而是面对不同的应用需求,打造更有针对性的刀片系统。例如我们针对要求海量存储的应用、对通信带宽具有高要求的I/O密集型应用,以及要求综合性能和性价比的应用分别构建了不同的刀片系统。

张 昱 高性能计算的刀片化,其实与应用非常相关,不同的领域,会置换到不同的刀片系统。多样化肯定会存在,刀片的性能在增加,刀片化是一个必然的趋势。刀片带来的不只是在性能上的提高,在高性能计算方面也有作用。最初可能只是完成任务,今后可能更关心的是环保、能耗。

孙毓忠 刀片化只是高性能计算发展的一个阶段而已。为什么要刀片化,从计算机体系结构的角度来说,首先要解决延迟的问题,为什么要把这些东西放在一起,就是因为可以得到一个用户所能控制的最小资源前提下的最佳的一个延迟,才能够形成一个最有效的计算单元,从而构建一个系统的整体,用户因可扩展性的原因从而选择刀片。

刀片的流行在于其体系结构,第一,并发性强,从应用的类别来说,能够满足独立的单元,第二,结构的异化与灵活的可扩展性。在这样一个背景下,刀片目前还是最佳的选择。

英特尔指令架构,多年演进过程当中都是遵循尽量的向下兼容原则。为保证用户的最大价值,一方面我们商用的CPU(中央处理器)还支持很多的加速系统接口,另外一个方面在做Larrabee的项目,就是更多的核,异构的核,先不管里面的技术细节,作为用户来说,厂商编的代码,还是IA架构的代码,整个代码仍然是X86的,但是其中一段编译器会把这一段编译成在异构的核上运行,从软件上来说不需做大的改变,以保持长期投资,但是要有更多的时间来开发出这种异构的多核的产品。

高性能计算操作系统之选择

HPC的操作系统最近几年发生了很多变化,包括微软最近要推出Windows HPC Sevre 2008,包括Sun把SOLARIS开源,包括我们看到最近TOP 500(全球高性能计算500强)里面依然是LINUX占据了主要的份额,如何看待HPC操作系统的未来格局变化?作为系统厂商如何选择HPC的操作系统?

朱 明 高性能计算后台的加速设备,会使用很多Linux操作系统。因为Linux操作系统比较简单,是为方便用户使用而开发的。很复杂的操作系统,必须要为用户提供更多服务,比如打印服务,而这些服务是高性能计算不需要的,所以高性能计算选择操作系统时会选择一个比较简单的操作系统。

 

叶向宇 在高性能操作系统领域还是Unix(包括Linux)、Windows两大类不同的平台。在说起高性能计算解决方案的时候,一方实际上是很难回避另外一方存在的。例如在一个传统的Unix-based的HPC解决方案中,客户的结果管理和数据可视化往往还是需要在Windows平台上做。从这个意义上来说,在选择HPC操作系统的时候,我们不能简单地将现有的一些解决方案或者产品套用到不同的项目中去,而是需要在应用实现的角度上具体地考虑问题后,再进行判断。

目前HPC市场上应用的现实是怎样的呢?从客户的规模分布上来说,一些传统的HPC大客户如地震局、气象局,还有大的石油公司,虽然采购了大量的硬件,拥有非常大的计算规模和应用水平,但是从数量上来说并不是科学计算中的主流客户,而有将近80%的客户都是在16~64个节点的这样一个硬件规模,占了客户数量正态分布曲线的绝大部分。这80%的客户,往往计算和知识水平都参差不齐,他们当中的许多应用,往往是从PC上开发的,对Unix并没有太多的了解,应用的迁移成本比较高昂,客观上阻碍了HPC的普及和拓展。

相比较之下,这类客户更需要一个能够迅速解决问题的方案,这也是微软HPC策略重点关注的方向之一。

微软的Windows HPC Server(视窗高性能服务器操作系统)就很好地实现了这个理念,用户在简单地指导下就能在很短的时间内(例如2个小时内)完成整个HPC平台的搭建,Windows的易用性是众所周知的,所以这个平台的IT管理也十分简单,这就大大降低了进入HPC的门槛,用户的问题也能得到解决。

微软在功能上的实现非常简单,从装操作系统到搭建整个集群等等功能的整合,180个节点的机器,两个小时就可以做完,这对于IT管理非常“痛苦”的客户来说,是一个很大的福音。

但是应该承认,光有HPC的平台软件实际上还是不够的,用户不能依靠操作系统就解决所有难题,还有应用本身的问题需要解决。

说到这里我们不能不说说HPC整个价值链的情况。

大家都知道通信行业中有“最后1公里”这么一个概念,在HPC的市场中,我个人觉得也是存在这样一种情况的。例如我们的硬件厂商,从上游到下游提供了非常好的硬件解决方案,在性能不断增加的情况下,还能够不断地降低成本,这个很了不起。

但是用户拿到硬件,并不是直接就用这些机柜里的东西,而是还需要安装一些系统软件和应用程序,然后还需要学习如何使用这些系统软件和应用程序,甚至在稍微复杂的一些情况下还需要基于这些软件做一些二次开发。硬件和软件厂商,由于成本和业务范围的考虑,实际上很难对客户全程负责,国内能够弥补这些价值链缺口的第三方服务独立供应商不是没有,但是数量和规模上还不足以满足目前市场规模下的客户需求,而传统的HPC较高的门槛在一定程度上限制了更多的第三方服务独立供应商进入市场。所以微软非常重要的一个市场策略就是降低市场进入门槛,让更多的能够加入到这个市场中来,把蛋糕做大。

目前工业和信息化部下属的国家软件与集成电路公共服务平台与微软公司共同建立了一个普适计算(pervasive computing)实验室,这个实验室主要关注的就是在HPC市场上的“最后一公里”这部分问题,以更多地从客户的角度上来考虑技术问题,弥补价值链缺陷。

最后,再说说Microsoft平台同Unix平台之间的互操作性问题。

在某个单位或者企业的IT架构中,不谈微软的Windows,只谈Unix这并不现实,反之亦然。这种现状应该说是应用历史沿革造成的,存在的虽然一定是合理的,但不一定是最优的,多种不同的平台同时存在于一个IT架构中,实际上造成在管理维护、系统扩展和网络安全方面很大的麻烦。微软在2008年的2月发布了新的互操作策略,其中就包括以下几点:确保开放的连接,提高数据可移植性,增强对行业标准的支持,促进与包括所有开源社区在内的客户和行业进行更开放的接触。

 

在微软的HPC策略中,同样也体现了以上的说法。我这里有一个很好的例子:我们在瑞典的Umea大学有一个5000核心的计算机群的项目,这套机群同时安装了Windows和Linux系统,整机的Linpack(线性系统软件包)效率达到了85.6%,在最新一期的TOP500中名列第39位。这是一个两种平台共生的一个非常好的例子,用户很容易在两种不同的操作系统之间切换,整个平台对于应用的适应性很好。

归根结底,操作系统的选择更多地取决于用户自身的需求、应用发展的情况,在专用操作系统和通用操作系统之间取得一个最优的平衡将是今后HPC产业中一个持久的话题。

互操作涉及许多不同层面的概念,比如共享的文件系统,在Unix平台下大量的是用NFS(网络文件系统),Windows用的CIFS(通用互联网文件系统),早期在这两个不同的平台之间共享数据是存在一定障碍的,例如涉及某些数据的权限配置和用户映射时会出现一些问题。在新版本的Windows Server平台上,Windows就可以直接安装Linux下的NFS的文件系统,并且还能继承相应的权限,反过来也能这么操作。涉及系统底层的安全认证的机制,比如一个数据中心中可能有两种以上不同的操作系统,那么用户的安全认证怎么办,一种平台一套用户名和密码肯定是不行的,这涉及安全管理和使用的方便性,那么现在在互操作的场景下就能实现多种平台单点认证授权,将多种平台有效地耦合到一起,大大降低了管理的复杂程度和提高了普适性。

李 松 在TOP500采用的Linux中,SUSE在数量上占到将近50%。剩下的大多数都是非商业版本的Linux,都是大学、院校开发出来的。SUSE源于德国,有一套机制,可以做到所有的库文件、还有包之间的关联性,可以保持一致性。如果用户需要的话,可以为用户做一个完整的操作系统,可以保证所有库之间的关联性是一致的。在绝大多数用户的使用环境当中,有Windows,有Linux等,这是用户真实的使用环境,那么软件厂商应该面对这种现实环境,给用户解决问题,解决困难。

首先我们对核心重新进行优化,升级核心版本;其次针对高性能计算这种刀片机箱的结构,我们专门对这种技术进行划分。实际上刀片是把CPU、内存和总线的通信能力,最大限度集中在一起,提高CPU和内存的密度,利用背板可以提高数据交换的总线的带宽。所以针对这一点,SUSE对进程调度做了一个划分,内部有一个项目叫做C Linux。

此外,针对HPC,在价格和产品上,都做了重新的规划。SUSE Linux今年秋季将有一个新产品发布,是针对IDC数据中心的刀片式集群,会有更新的举措出来。Linux只是一个操作系统,还是要生存在的各位的硬件厂商之上,所以Novell公司非常愿意与科研院所、大学、包括对各种研究单位,又有硬件厂商,包括对我们既是朋友又是对手的微软公司,一起把这个产业环境建立起来,我认为这样做,无论从整个商业环境考虑、用户角度考虑、技术发展的角度考虑,都是最佳选择。

孙毓忠 操作系统发展到今天,不仅仅是在个人的PC层次,在服务方面,微软也面临巨大的挑战。操作系统可以说已经到了一个裂变或者层次化的时代。操作系统分成底层的系统层,还有上面的应用层。上面的应用层的操作系统以谷歌为代表——构建了分布式的执行环境。所以操作系统其实从传统的定义来说,就是两个功能:第一向上面的进程提供执行环节,是谷歌自己就可以做的,谷歌发展自己的文件系统,自己的分布式的机制,还有分布式的编程模型,谷歌自己都在做。非传统的,不是做OS(操作系统)的大型的IT公司,包括甲骨文,都冲到OS的核心里面来。这已经不是属于Novell,或者微软,这是发展到裂变和层次化的第一问题。第二是向下的资源管理,这部分向以VMware为代表的VMM技术提出了一个更专业化与更高效率的解决方案。这些趋势说明操作系统领域出现了很多新的机遇,软件的效率提升了,而且分工更加细致。

大的IT公司在计算机体系结构带来新的变化之后,操作系统和底层、硬件的异构化非常明显,操作系统要做很好的变化,才能适应这样的趋势。所以整个操作系统出现一个细致的分工,这是必然的发展。像HPC一样,所有操作系统之争,这个选择还是取决于厂商,因为像谷歌发展自己的东西,它的技术就是为了以搜索为核心发展起来的,所以操作系统还是取决于需求和财力。

高性能计算效能问题

能效最近成为HPC领域关注的焦点,一方面,有调查显示目前HPC的计算资源利用率不到20%-30%,所以如何提升HPC的效能成为重点,也出现了很多如虚拟化,软件调优等等技术。另一方面,我们看到HPC面临环境挑战,比如耗电、占地面积、冷却等等,包括在今年的TOP 500榜单中首次出现了能效指标的排行等等。如何推动HPC的节能降耗?如何推动HPC提升效能?各个厂商都是如何来布局的?

朱 明 一个通用芯片,必须要考虑很多非高性能计算的功能。放在高性能计算的应用上,产生了其他能耗,所以高性能计算会出现能耗大的问题。专用型的芯片是做加速器的,目的只为了高性能计算,所以他不会产生多余能耗。

曾 宇 实际上能效和效能都是目前HPC领域比较关键的问题。HPC的能耗大家都非常关注,曙光4000A在上海超算中心每年运行的电费就高达四五百万元,曙光刚刚发布的百万亿次超级计算机曙光5000A总功耗也达到了600千瓦。目前HPC领域主流的降低能效的技术包括三个层面:一是芯片层面的降低能耗,如降低CPU主频、CPU功耗限制等;二是系统层面的节能技术,如基于作业能耗的调度、节点休眠、基于能耗的进程级迁移等;三是基础架构层面的节能技术,如电源效率的调整,低能耗部件(如SSD硬盘、DDR3内存等)、水冷技术等,可以说业界在这个方面做了大量的工作。

当前大部分最快性能Top 500超级计算机每瓦Gflops(10亿次浮点指令/秒)效能都在0.1以下。未来理想的高效能千万亿次超级计算机系统,其每瓦Gflops效能应在1.0GFlops/瓦以上,我们可能需要综合运用包括上述从芯片级、系统级到基础架构级节能技术,同时一些像应用加速器、混合异构计算技术也有望缓解我们在HPC能效方面的压力。

曙光在节能方面做了大量工作,一方面,曙光在去年推出了面向高性能计算的应用加速器产品,可在有限功耗的前提下,大幅提升应用的加速比。另一方面,曙光也推出了曙光自适应功耗管理框架结构(Dawning Adaptive Power Management Architecture,简称DAPMA),该框架结构包括诸多节能技术和产品,如基于负载情况动态调整系统状态、实施部分节点或部件的休眠;根据各进程能耗的不同对CPU任务队列进行调整,如将一些产生较多热量的任务从温度较高的CPU上迁移到温度较低的CPU上,从而实现能耗的均衡。

现在曙光自适应节能软件已经在涿州石油集团东方地球物理勘探有限责任公司(BGP)运行,获得近30%的节能效果,该产品也被信息产业部列为2007年重点首推的63项节能减排产品之一。

何万青 在高性能计算领域里面,基本上考虑能耗就是要考虑控制系统,冷却系统,高性能计算领域有一个很重要的指标,即可持续的计算能力。在TOP500里面,基于IA架构上榜的80%系统都经过我们调优,倒如原来胜利油田20%的效率,通过软件调优的手段,可以达到50%-60%。将可持续使用的效率提上来,这是降耗的一个方法。

此外是在计算的速度和时间上要求不是很高的情况下,可以设定一个系统的能效曲线,来控制整个机房的运行。现在在百度做到可以降低50%的功耗,但是性能只用到20%-30%。所以要增加一个节能的指标,也就是说一个软件或者系统要支持这个功能,能够在规定的时间范围内降低能耗。

曹学佳 浪潮在系统的能效控制上,从两个方面做出了努力:

一个方面,从点出发。浪潮与上下游厂商通力合作,通过采用高效能的处理器、内存、主板、电源等配件,辅以各种节能技术,努力降低节点服务器的能耗。这一点被业界广泛认可,前段时间我们的服务器更是打破了相关测试的节能纪录。

另一方面,从面出发。我们努力开辟一些新的应用模式。业界对于IT资源应用有这样一个经验之谈:在90%的系统,90%的时间中,其资源利用率仅为10%。针对如此的情况,我们构建了虚拟化集群解决方案,并成功地为南京师范大学建成了一套刀片式虚拟化集群系统,帮助他们解决了多项应用开发无法在同一集群系统下完成的难题。因此,面对众多不同要求的应用,一套虚拟化集群系统便可胜任。经后期统计,采用此种方式比传统的方式节省硬件成本50%,节省能耗44%。

孙毓忠 能效问题包括两个方面,第一个方面,高性能计算机不管多大或者多小,总是由若干部件构成,不管CPU,还是I/O,我们所谓的能效应该是系统正在工作为前提,才能达到所谓的能效。不应该仅仅关注电源,这将是一个巨大的挑战。

谈到层面,不论是芯片一级,板级,系统,还是用户,核心的问题实际上是效能,为什么不能是百分之百,由于它的算法的并发度不充分,在这个系统运行当中有一定的约束。

高性能计算未来趋势

在这个瞬息万变的产业,很多变化超出了人们的想象,但是,我们仍然希望从今天的现实需求变化中更多地捕捉未来的信息,多位专家与厂商对未来的HPC有什么样的预测?又有哪些布局?

何万青 高性能计算要想更快更好的发展,需要大家不断地努力,面对高端技术,需要将其扩展、优化,这样才能产生更多高性能计算的需求进而推动高性能计算技术的发展。在传统的行业里面,在全球的行业高性能计算软件里面还没有中国软件名字,所以现在要做的是要把软件从小规模串行,然后做到并行,再做到大规模。因为未来是由用户决定的。有一些高端应用,比如气象、蛋白质生命科学,如果有足够的科研实力一定要专心研发。但是还有很多的应用,包括一些重工业,节能减排方面,我们的模型还很粗糙,软件、程序本身技术含量也落后很多。科学技术是第一生产力,因此我们要提高自己的科研水平,支持创业软件园的成长。

孙毓忠 高性能计算的未来,还是取决于用户实际的认识和其技术发展的水平。如何加大力度让大家认识并不断地推广,这是一个很重要的问题。要把并行化培训、推广、普及当作工作的重点,这是我们高性能计算可以真正发展起来的关键所在。另一个方面就是云计算代表的HPC的新的历史机遇——解决在不同计算力度层次下众多独立计算的计算平台融合问题与使用模式问题。

曾 宇 未来HPC的发展,从大众化层面来说,个人HPC是个主流趋势。基于节能、虚拟化、应用加速、混合异构、高速交换网络、I/O扩展及全交换、高效并行及编译环境、自主监控管理等诸多技术构造桌面万亿次计算能力,并能以低廉的价格(不超过10万元人民币)提供用户低噪、绿色、节能、适合移动办公环境的高性能计算机产品将影响到未来五年高性能计算机技术的进一步发展和普及。