高性能计算范例6篇

高性能计算

高性能计算范文1

这是一次自我超越。国防科大对安装在国家超级计算天津中心的“天河一号”一期工程进行优化升级,以实测性能提高了4.45倍和峰值性能提高3.89倍的成绩,蝉联了我国高性能计算机百强第一名。

这也是群体性跨越。国产高性能计算机在全国高性能计算机百强前10名的数量从5年前的两个,增加到去年的4个,再到今年的7个;最好成绩从5年前的第2名,提高到去年包揽前3名,再到今年包揽了前7名。从性能统计上看,国产系统在百强中所占的份额从去年的59.31%大幅提高到了81.08%。

这还是一次历史性跨越。Cray公司为美国橡树岭国家实验室研制的“美洲虎”系统,以每秒1759万亿次的实测性能和每秒2331万亿次的峰值性能,位居今年6月公布的最新的“全球高性能计算500强”排名榜榜首。而“天河一号”的实测与峰值性能分别是“美洲虎”系统的1.43倍和2.02倍。参加全国高性能计算年会的国际权威人士表示,“天河一号”的性能在今年年底的“全球高性能计算500强”中位居榜首已经没有问题。

在对“天河一号”一期系统的升级优化中,国防科大将计算节点之间担负高速通信任务的互联芯片全部替换为国防科大自主研发的芯片,其性能是目前国际市场上商用芯片的两倍,从而为“天河一号”数倍性能的提升奠定了基础。在优化中,国防科大还在芯片、节点机、网络、编译系统、操作系统等多项关键技术上进行了升级,并且正瞄准国际前沿研制下一代处理器。这是做乘法的思路。

没有鲜花和美酒,甚至连国防科大相关领导或科研人员也没有在主席台上露面。笔者上周在本报撰写的《“两弹一星”精神更具现实意义》评论中谈到,国防科研领域强调结果导向和实力导向,有着埋头苦干、淡泊名利的光荣传统。“天河一号”最终荣登中国乃至全球高性能计算榜首,凭借的唯有实力。

高性能计算范文2

走产业化道路

曙光创业初期,有哪些事情令你印象深刻?

当年我们去美国“洋插队”、学习超算技术时,条件很艰苦,就是租了当地老百姓的一间普通住房,利用客厅当工作间摆机器,大家每天工作十五六个小时。因为我们都没有做过机器,只是会使用计算机,却没有制造过计算机,很多东西都需要靠自己摸索。我们曾把机器上Unix操作系统的数百万行的语言程序分给每人解读,一人大概分几十万行,要把算法和结构图都画出来,搞清楚超级计算机到底是怎么运作的。这种从无到有的学习过程是非常大的挑战,还好我们不辱使命,完成了任务。

高性能计算机在今天的应用情况如何?

和10年前相比,超算应用已经发生了天翻地覆的变化。10年前,只有专业人士才会用到高性能计算,但在今天,各行各业都会用到。比如飞机制造中要通过空气动力学测算来制作飞机外形,这就需要超算的帮助;电影《阿凡达》的制作,就是借助超级计算机来做虚拟与现实设计;在医药领域和生物、基因研究方面,高性能计算也都起到十分重要的作用。据我了解,最近北京气象局就新买了一套曙光机,目的是去做PM2.5的预测,这就说明高性能计算其实和大众生活息息相关。

在行业应用方面,曙光超算做得很出色的领域是石油勘探。如果在勘探范围内找不到油田,就可以用曙光高性能计算做一遍测算,把油田“算”出来。现在我们国家在非洲、南美洲等很多地方去打油田,很多时候都用曙光的机器帮忙。虽然曙光机器在国外市场销售得并不多,但被我们自己的企业带出去了很多,这从一个侧面反映出了曙光超算的实力。

曙光的超算之路有怎样的特点?

曙光是以产品化为目标,追求让更多的人用上高性能计算机,让它真正在经济活动、社会发展中发挥作用。所以,产业化是曙光选择的道路。

逐步增加发言权

互联网公司现在是高性能计算的重要客户,曙光如何把握这个行业?

现在淘宝网在光棍节促销那天要处理1.5亿笔交易、350亿元的交易额,达到了世界第一的水平,它的后台则是按600亿元的交易额在做准备,这就需要强大的超算能力的支持。而我们这些国产厂商的高性能计算机在其中起到了重要的运营支撑作用,所以说我们自己的超算能力已经达到了国际领先水平。在节能、能耗方面也跟国外品牌没有太多的差别,我们会继续把技术和服务做好,为互联网以及其他行业服务。

网络大提速、移动智能终端的普及,带来海量数据、多样化的信息服务,以及复杂的数据聚合与交互等未来信息服务的巨大压力,势必会落在以高性能计算为基础的互联网、云数据中心和大数据上,这为高性能计算机发展带来了新契机。但同时我想呼吁一下,互联网公司要改变他们的一些思路和行为方式。现在国内的几个大互联网公司其实不缺钱,因为他们每天的广告费都会达到上亿元,他们也有责任和义务来带动中国信息产业的发展,促进信息消费。然而我觉得他们这方面做得不太够。在与互联网公司客户谈生意时,他们往往习惯性地拿出压价做法,让所有厂商展开价格竞争,导致销售价格比成本还要低10%、20%。这种做法如果成为普遍现象,将导致厂商没有任何积极性去做创新,对产业的发展很有伤害,最终也将不利于互联网公司本身的发展。

“棱镜门”事件对曙光这样的中国本土高科技企业而言是否是个好消息?

这是一个利好消息,但是要想赢得市场,不能指望行政命令来要求用户都使用国产机器,而是依靠市场竞争来争取自己的空间。比如在金融行业,如果银行说,出于国家信息安全的考虑不用外国的机器,这就很难办到。因为很多银行用国外著名品牌的机器已经用了很多年,上面那些软件跑了几十年,当时写的语言改都没法改,想把它们一下子全部换成国产设备显然是不现实的,肯定需要一个过程。所以,当我们说自主可控,说技术不能掌握在别人手里,是一个需要时间去实现的长远目标,需要我们自己长期的努力去不断积累自己的知识产权和自身实力,来逐步增加自己的发言权和竞争能力,而不是一蹴而就的事情。曙光就是靠一步步地往前走,逐步地去替代国外品牌,而只要我们不断前行,目标终有一天会实现。

高性能计算范文3

新兴计算方式促进硬件支持能力提升

机房空间的限制,使得数据中心管理者为了应对业务的发展,不断寻求高密度的产品;设备利用率不足、业务连续性存在风险和技术人员工作负荷过大,使得虚拟化大行其道;科学计算和图形渲染等并行计算需求的不断增多,则使得高性能计算日益普及。以上三种计算方式均可以用不同的方式解决当前数据中心建设上存在的各种难题,但无一例外地都对硬件设备的综合支撑能力提出了前所未有的高要求。

“我们要求计算速度要快,计算密度要高,同时要求能耗要低。因为只有这样,我们才能在有限的IDC机房内部署更多的设备,支持更多的应用。”这是国信证券有限责任公司面对快速增长的业务升级其交易系统时,对设备供应商戴尔提出的要求。

国信证券的要求,基本上就代表着三种新兴计算方式对硬件设备的要求。而在此类需求面前,传统的塔式服务器无疑是力不从心,根本无法挤身设备采购名单之中;主流的机架式服务器则可谓中规中矩,虽无明显不足,但也没有太多亮点;而问世不过七八年时间的刀片服务器凭借独特的HAHD(High Availability High Density,高可用高密度),却可让用户眼前一亮,只要其能够在能耗和易用性等方面进一步完善自己,则完全可以被更多的用户所接受,从而走进更多企业的数据中心。

PowerEdge M1000e树立能耗控制新标准

能耗和易用性问题制约着刀片服务器的发展,不过值得欣喜的是,这两大问题已经得到了IT厂商的高度重视。最近,戴尔在其最新推出的刀片新品PowerEdge M1000e上,深度应用了智能节能和模块化I/O等先进技术,使得这款产品在能耗控制和易用性上都名列前茅。

在能耗方面,PowerEdge M1000e采用了包括动态电源管理、“低气流”风扇和动态电源启用(Dynamic Power Supply Engagement)等多种创新技术。这些技术很好地控制了M1000e的能耗。

在易用性方面,戴尔则在M1000e上应用了先进的FlexIO技术,并提供了业内先进的连接选项,这些选项包括Dell PowerConnect M6220以太网交换机、三种思科以太网交换机、两种Brocade 4Gb光纤通道连接选项、QLogic和Emulex公司的FC4主机总线适配器,以及Mellanox公司的Infiniband夹层卡等。这些模块化的连接设备,可让用户快速地部署各种高密度计算、虚拟化和高性能计算系统,并能让用户轻松地运行和升级这些系统。

高性能计算范文4

关键词: 计算教学 有效性 计算能力

《小学数学教学大纲》指出:小学数学教学的一项重要任务是培养学生的计算能力。应该要求学生算得正确、迅速,同时还要注意计算方法的合理灵活。“计算能力”是学生学习数学所必备的基本能力,是学习数学的基础,培养和提高学生的计算能力,是小学数学的主要任务之一。在多年的教学实践过程中,对“如何有效提高学生的计算能力”有了一些认识。

一、创设情境,激发兴趣

现在的学生对于学习的动力不足,对计算更是觉得枯燥,这也是导致计算错误的重要原因之一。“兴趣是最好的老师”,在计算教学中,教师应激发学生计算的兴趣,让学生乐学、乐算。

首先,采用丰富多彩的教学手段,激发学生兴趣。为了激发学生的兴趣,我们可以寓教于乐,结合每节课的内容,在学生学习新知识之前,要针对新知识中的一些与旧知识密切联系的知识点进行指导训练,给学生出示一些口算题。在这同时,教师可采用多种教学方式出示。如用游戏、竞赛等形式,还可以用小黑板、卡片、幻灯片进行视算、口诉听算、限时口算、自编计算题等多种方式。这样不但能提高学生的计算兴趣,而且可以培养学生口算的良好习惯。

其次,利用新奇、形象化的与课堂教学内容相关的寓言故事或中外数学名家的典型事例激发学生的计算兴趣。在教学中,适时地穿插一些中外数学名家的典型事例或者是学生生活中的小事例来为课堂润色,吸引学生注意力,可激发学生对数学学习的爱好和兴趣,从而集中精力进行计算,增强课堂上的训练效果。

最后,要平时多指导,多纠正错误,多与学生沟通,让学生从心理上克服困难,从心理上准备好学习的基石,因为在小学阶段,计算贯穿于整个学习过程,不管是学生做什么题都离不开计算。所以,教师要从心理上多发现问题,解决心理障碍,并重塑信心,提高计算的正确率。“知之者不如好之者,好之者不如乐之者”。

二、透彻理解算理是提高计算能力的关键

《数学课程标准》明确指出:“教学时,应通过解决实际问题进一步培养学生的数感,增进对运算意义的理解。”

1.利用教具演示和学生动手操作的直观手段,帮助学生理解算理。

直观演示和动手操作是帮助学生感知和理解抽象的数学知识的重要手段。它不仅可以激发学生的兴趣和注意力,而且可以把抽象的算理具体化,化难为易,缩短掌握计算法则的过程,特别是课上人人动手操作,可以启发学生积极思考,主动地投入到推导计算法则的过程中去,增强计算的自觉性。

如:在数学“分数乘以分数”的算理时,只用书上的示意图,学生很难理解。于是在数学中,让学生动手折线来理解算理的方法:用一张长方形纸表示一公顷,怎么说明公顷的是多少公顷呢?并出示思考题(两个分数各表示什么意义?用“?”表示所求的部分。列式后,观察图上的结果是多少公顷?)让学生结合思考题动手操作。学生在活动中,一边动手,一边思考,不但知道了两个分数相乘后的结果,而且对分数乘以分数的算理也很清楚,即:把公顷平均分成4份,取其中1份,也就是把1公顷平均分成(2×4)份,1份是公顷。当1份的数会求后,2份、3份……的数自然也会求了。与此同时,“分母相乘的积作分母”也深深地印在学生的头脑中,达到了理法相融,理为法服务的目的。

2.运用迁移规律,加强计算教学,使学生在学习过程中,理解算理和掌握法则。

小学数学教学的根本目的,不仅是让学生能理解知识,掌握技能,而且是培养学生的迁移能力。学生一旦形成了迁移能力,就能把所学知识灵活运用,计算课也是如此,恰当地运用迁移规律,会促进学习的正迁移,使学生能更准确地理解算理,掌握法则。

如:在教学“除数是小数的计算法则”时,我是这样进行的,首先复习了商不变的性质、小数点位置移动规律、整数除法等知识,然后,从学生的实际生活出发引入新课“小明去商店买文具,每支笔0.3元,他用1.2元可以买几只笔?”学生因为有生活经验,所以很快就得到答案:可以买4支笔。可当我请他们用竖式解答时,学生们就产生了疑惑,1.2除以0.3,商4应该写在哪呢?这时,有的学生就说,如果都是整数就好了。我及时抓住学生的这个迁移点,因势利导地提出:如果把除数变成整数,要是商不变,有什么办法?学生思考,检索有关知识,不一会回答道:除数扩大10倍,要使商不变,被除数也得扩大10倍。学生边说老师边板书。学生恍然大悟。这里的教学就是抓住了“把除数是小数转化为整数而商不变”这个小数除法法则算理的关键。帮助学生在新旧知识之间“铺路”,使学生已有知识与新知识发生联系。接着,我又设计了把除数变成整数时,要使商不变被除数的几种情况(小数位数比除数多,比除数少)的练习。从易到难,引导学生拾级而上。然后,出示例4:“2.434÷0.17=”让学生根据已有的经验独立解决,并边计算边叙述解题思路,从而归纳出计算法则。这样,就使新的法则在学生原有的认知结构中获得了实际意义,让学生通过自己的探索,真正地理解了算理。

三、熟记常用数据是提高计算能力的手段

一些常见的运算在现实生活中也经常遇到,这些运算有的无特定的口算规律,必须通过强化记忆训练来解决。主要内容有:

1.和、积为整百、整千的特殊数据。

2.10以内的平方数、立方数。

3.1π-9π。

4.常见的分数、小数、百分数的互化。

5.有关“0”、“1”的计算特征。

四、良好的计算习惯是提高计算能力的保证

要提高学生的计算能力,必须重视良好计算习惯的培养,使学生养成严格、认真、一丝不苟的学习态度和坚韧不拔 、勇于克服困难的精神,千万不要用“一时粗心”来原谅学生计算中出现的差错。那么要培养哪些习惯呢?

1.校对的习惯。计算都要抄题,要求学生凡是抄下来的都校对,做到不错不漏。

2.审题的习惯。这是计算正确、迅速的前提。一要审数字和符号,并观察它们之间有什么特点,有什么内在联系。二要审运算顺序,明确先算什么,后算什么。三要审计算方法的合理、简便,分析运算和数据的特点,联系运算性质和定律,能否简算,不能直接简算的可否通过分、合、转换、省略等方法使运算简便,然后动手解题。

3.养成仔细计算、规范书写的习惯。要求按格式书写,字迹端正、不潦草,不涂改、不粘贴,保持作业的整齐美观。

4.养成估算和验算的习惯。

高性能计算范文5

不过,时至今日还是有很多人认为,高性能计算和超级计算机只是停留在实验室里的产物。殊不知,其目前已经应用于包括金融、能源、地质勘探、互联网等多种领域之中。“高性能计算正在逐渐深入到我们的实际应用之中。”在2013年10月29日~31日举办的全国高性能计算学术年会(HPC China 2013)上,业内多位专家均抛出了这样的观点。

大数据大发现

高能物理、高性能可视化与可视化分析、生物学、气象,甚至社交网络,这些都成为了HPC China 2013会议的演讲主题。与以往不同的是,本届全国高性能计算学术年会不仅将重点放在了对高性能计算技术的论证和研讨上,同时还将多场演讲的主题与大数据应用挂钩。

这也就无外乎,为什么大数据分论坛成为本次大会最为火热的一个场次了。“从大数据到大发现”,这是中国科学院高能物理研究所研究员孙功星在HPC China 2013上的演讲题目。这一题目其实可以很好地概括高性能计算与大数据之间的联系。

孙功星介绍说,在高能物理领域的大数据处理过程主要包括三个方面:首先是Data Recording,也就是从探测器中获取Raw Event,以二进制格式记录探测器信号,再由计算机产生模拟实验的蒙特卡罗模拟数据,将物理信号数字化;然后是Data Processing,即读出Raw/MC Raw,处理产生相关物理信息,如动量、对撞顶点等;最后就是Data Mining,这一步是物理学家对由上千个属性所组成的DST Event文件进行分析,并最后产生物理结果。

“现在我们已经在开始尝试采用Hadoop本地系统进行研究。采用Hadoop方案之后,对于网络、磁盘阵列的需求减少很多。”孙功星表示,“未来高能物理领域将会产生出更多数据,这会为计算带来更大的挑战。因此,高能物理未来的发展趋势是与新型的计算机体系结构,以及高性能计算机结合起来。”

孙功星的观点也可以说是代表了目前业界的一种普遍观点。曙光公司副总裁邵宗有在本届学术年会上就向记者表示:“高性能计算完美契合了大数据在运算能力、高性能存储等方面需求,而大数据则给高性能计算提供了新型商业市场,有助于推动高性能计算拓展新的市场蓝海,两者在产业生态链上的紧密衔接可以很好地推进信息资源组织模式的深入变革与发展。在应对大数据挑战的过程中,高性能计算可以起到重要作用。从数据的存储与处理的角度来说,采用高性能计算系统不仅可以大幅降低大容量存储的成本,而且其处理数据、传输数据、恢复数据的速度会远远超过普通的计算系统。在过去完整恢复一块硬盘的速度可能需要48个小时,但融合了曙光高性能计算技术的存储产品,能将时间控制在十几分钟,显著降低了大规模集群存储系统中用户运维的压力,提高了系统效率。”

构建完整生态体系

从全球领域来看,伴随着技术的不断进步,高性能计算的应用范围不断扩大,其正在迸发出前所未有的活力。而在这一过程中,相关厂商的作用不容忽视。一方面,他们将科研成果加以实践和应用;另一方面,他们还在积极地营造出一个高性能计算的生态系统,培养更多技术人员。

孕育技术、培植市场、发现商机,再由厂商对科研进行资助,这种循环模式在高性能计算的领域已经形成了一种良性商业循环。HPC China 2013现场所举办的“2013全国教育科研并行应用程序优化大赛”,就是这种循环的体现。在这场主题为“寻找优秀并行应用,提高并行程序性能”的比赛中,汇集了来自中科院计算所、中科院软件所、中科院超算中心、国防科技大学计算机学院、中国科学技术大学、西安邮电大学、清华大学计算机系,以及山东大学等研究机构和高校的8支团队。

中国计算机学会高性能计算专业委员会(CCF TCHPC)与英特尔(中国)有限公司共同主办了这次比赛,并由北京并行科技有限公司所承办。最终,国防科技大学计算机学院以优异的并行程序性能夺得桂冠,获得5万元奖金和“微异构优化奖”奖杯及证书。中国科学技术大学和清华大学计算机系共同获得第二名,分别获得1万元奖金,以及“微架构优化奖”和“多线程及MPI优化奖”奖杯及证书。另外五支参赛团队分别获得5000元奖金及“并行应用优化奖”奖杯。

在本次比赛中,应用到了并行科技所开发的大数据可视化软件 Paramon应用运行特征收集器和Paratune应用运行特征分析器。并行科技总经理陈健表示:“对很多人而言,高性能计算有如阳春白雪,过于高端。而实际上高性能行业的发展趋势即是让更多的人较为直观地看到一些应用运行特征。”他认为,用户需要的不仅仅是英特尔所提供的方便的工具和良好的开发环境,还需要更直观的应用环境。

英伟达(Nvidia)也在HPC China 2013上阐述了他们对于高性能计算生态系统的看法。众所周知,英伟达在很早以前就已经在高性能计算领域推出了GPGPU(通用GPU)的概念,并积累下大量的应用实例。在这个从无到有的过程中,英伟达构建起了一套完整的体系。英伟达公司高性能计算开发技术经理王鹏表示,高性能计算系统的开发是非常耗费成本和精力的,英伟达在其中的做法是,以GeForce产品系列的开发为基础,将算法移植到高性能计算方面。王鹏介绍说,在英伟达,由于算法部分拥有很高的相似度,因此科学计算与游戏编程已经很好地结合在了一起,“模拟分子运动也可以等同于模拟游戏”。同时,无论是密集型科学计算还是带宽密集型科学计算,都可以应用到游戏方面的经验,从而使高性能计算真正为应用服务。

王鹏表示,英伟达正在致力于继续开拓高性能计算应用开发的市场,降低进入门槛。“未来所有采用英伟达显卡的个人电脑和工作站,即使是消费领域的GeForce产品,都可以进行高性能计算应用的开发。”王鹏说,“这将为高校学生接触高性能计算打开一扇窗。”

链接1

TOP100,重磅级

每一年的HPC China大会,很重要的内容都是HPC TOP100排行榜的。北京应用物理与计算数学研究所研究员袁国兴在本次大会上了2013年最新一期的TOP100超算排行榜单。在榜单中,天河二号当之无愧而且毫无悬念地成为了第一名,第二名则是去年的冠军天河一号A,这两台超级计算机均来自国防科大,神威蓝光位列季军。据悉,本次TOP100榜单共有59台超级计算机系统全新上榜,榜单内容相比去年进行了大幅度的更新。值得一提的是,来自国家气象局、广东省气象局的3台IBM超级计算机分别获得了榜单排名的并列第11名和22名。

本次TOP100榜单中的亮点不止于此。近日刚刚的上海交通大学高性能计算机在榜单中排名第37位,也是目前为止第一次采用CPU+GPU+MIC三重架构的产品。而从榜单的整体来看,采用异构计算的超级计算机数量相比去年有了明显的提升,包括了排名第75位的厦门超算中心的神威4000H和排名第100位的中科院理论物理所的曙光GHPC1000。

为什么每年TOP100都会收到很大的关注度?实际上,这个榜单就是中国高性能计算领域的一个缩影。总结这几年的TOP100,我们会发现,不仅高性能计算的性能在逐渐提高,其市场也在逐渐扩大,新技术层出不穷。结合大数据和云计算应用的普及,我们可以毫不犹豫地判断出,这个世界已经进入了一个“高性能计算时代”。

链接2

英特尔展示微异构Embree照片级光线追踪解决方案

在HPC China 2013现场,英特尔展示了基于至强 E5处理器和至强融核协处理器平台的Embree照片级光线追踪解决方案。

英特尔数据中心及互联系统事业部技术计算和平台应用支持团队平台架构师何万青介绍说,所谓光线追踪(ray tracing)就是一个在二维(2D)屏幕上呈现三维(3D)图像的方法。这个技术的原理就是通过一个光线跟踪程序利用数学方式确定和复制一幅图像的光线的路线。在计算机图形领域中,这种技术被普遍应用于生成高质量的照片级图像,大大简化了构建渲染模型,并且最大化地还原物体的细节。目前,该技术被广泛应用于游戏、动画、电视和DVD制作、电影等专业图形应用领域。但是在实际使用中,光线追踪技术应用运行的速度成为了最大挑战之一。

Embree 是一组由英特尔研究院开发的高性能光线追踪内核。这些内核经过专门的优化,并且支持 SSE 和 AVX 指令集,可在最新的英特尔处理器上进行照片级的渲染。除了光线追踪内核,Embree 还提供了一个照片级渲染引擎的示例。Embree 专为 Monte Carlo 光线追踪算法而设计,其中大部分光线都不连贯。在这种情形下,Embree 定的单条光线穿越内核可以提供最佳性能,而且它们极易集成到现有应用当中。

在本次的展示中,Embree系统被运行于基于英特尔至强处理器与至强融核协处理器的微异构平台之上。 何万青表示:“之所以采用微异构,是因为光线追踪技术对计算、尤其是并行计算的能力需求很高,以实现高质量的实时渲染,这也是至强融核协处理器最擅长的。与传统架构平台对比,采用至强处理器与至强融核协处理器的平台将渲染速度提升至4倍之多。”

链接3

国际高性能计算咨询委员会中国研讨会召开

作为历届高性能计算学术年会的重要组成部分,由国际高性能计算咨询委员会主办的中国研讨会也在桂林召开。来自中外的高性能计算研究人员、程序开发人员、系统管理员,以及众多大学相关领域老师学生汇集一堂,共同探讨高性能领域的最新动态及未来发展。

科学计算和大数据给高性能计算带来了更多的应用需求,进一步促进高性能计算向百亿亿次计算的目标进军。在这个过程中,包括体系架构、应用编程、运维管理等多方面的问题,都在拷问高性能计算的方方面面。

高性能计算范文6

美国宇航局(NASA)是超级计算机最大的用户之一

从起源来看,计算机系统的原始需求来自军事,如第一台计算机ENIAC是美国军队为了计算弹道而投资研制的。在随后的30年中,计算机主要应用于与国家安全相关的领域,如核武器设计、密码破译等。到20世纪70年代末,高性能计算机开始应用于石油工业、汽车工业等资本密集型工业。随后,高性能计算机开始广泛进入各个行业,协助进行产品设计、用户分析等等。如医药公司使用高性能计算机辅助进行药物设计,可以大大节省新药的研发开支; 超市使用高性能计算机分析用户消费模式,以推出恰当促销措施等等。在这些领域,更高的计算性能就意味着在产品和服务方面的竞争优势。在科学研究领域,数值模拟方法成为现代科学方法的重要组成部分,这里更高的计算性能就意味着更快的科学发现速度。目前,高性能计算技术已成为促进科技创新和经济发展的重要手段,是一个国家综合国力的重要组成部分。本文将就高性能的几个最重要的应用领域进行介绍。

用高性能计算机解决科学挑战

许多重要的科学问题非常复杂,需要功能非常强大的计算机来进行数值模拟,这些问题被视作科学上的重大挑战,可以分为如下几类:

1. 量子化学、统计力学和相对论物理学;

2. 宇宙学和天体物理学;

3. 计算流体力学和湍流;

4. 材料设计和超导;

5. 生物学、制药研究、基因组序列分析、基因工程、蛋白质折叠、酶活动和细胞建模;

6. 药物、人类骨骼和器官建模;

7. 全球天气和环境建模。

这些重大挑战问题大多可以看作传统的高性能计算应用的延伸,其特点是: 大部分是浮点密集型应用程序,并行算法要求多个并行进程之间进行较为频繁的通信和同步,而非简单的多个计算用例之间的并行,因此无法使用多台规模较小的系统来替代一台大规模系统。

这些重大挑战问题对计算能力的需求远远超出了现有的高性能计算机的性能。以量子化学计算为例,需要20T~100Tflops的持续计算能力才能够对目前进行的实际实验结果进行预测。在核聚变研究领域,需要20Tflops的持续计算能力才能够进行全规模的系统模拟。蛋白质折叠的计算需要1Tflops的持续计算速度。另一方面,重大挑战问题对数据的存储也提出了更高的要求,以计算生物学为例,进行蛋白质分析时需要使用的一台质谱仪每天就可以产生100GB的数据,50台质谱仪1天就可以产生5TB的数据。

目前,世界上最快IBM BlueGene/L的处理器个数为131072个,Linpack速度为280.6TFlops,达到了其峰值速度的76.5%(2005年11月数据)。但一般并行算法要比Linpack的通信更加频繁,访存局部性也没有Linpack好,这使得其并行效率相当低,通常仅能达到系统峰值速度的10%,甚至更低。为了能够有效地解决上述重大挑战性的问题,需要研制千万亿次高性能计算机系统,这就需要攻克系统结构、软件工具和并行算法等多方面的难关:

1. 能耗控制

随着现代处理器频率的增加,其功率也大幅度增加,最新处理器的功耗已经超过100W。这使得高性能计算系统本身的耗电问题已经十分严重。同时由于系统散发的大量热量,必须在机房中采用大功率的空调系统才能保持系统机房的正常温度。这两方面的因素造成系统的整体电能消耗非常巨大,维护成本很高。分析结果表明,未来系统主要的维护成本将来自系统的电能消耗。在研制千万亿次高性能计算机系统时,必须重视系统的能耗问题。

目前有几种方法来处理系统能耗问题,一是给处理器设定较低的工作电压,通过并行性来获得高性能,例如BlueGene/L处理器的工作频率仅有700Mhz,因此单个内核的处理能力远远低于其他高频率的处理器。但BlueGene/L通过大量的处理器来弥补单个处理器能力的不足,达到了较高的整体系统性能,并获得了优化的性能/能耗比。另一种方法是通过软件和硬件传感器确定和预测需要使用的部件和不需要使用的部件,然后将不需要立即使用的部分通过某种措施,如降低频率或完全关闭来减少其耗电量,从而达到降低整个系统功耗的目的。这方面的工作根据控制的粒度不同可分为芯片级、主板/BIOS级以及结点级。

2. 高性能计算软件与算法

大规模并行处理硬件系统仅仅为高性能计算提供了一个平台,真正的功能还要通过高性能计算软件来完成。高性能计算软件与算法的主要工作可以分为3类:

(1) 提出具有较低理论复杂度或较好实际性能的串行算法

尽管可以通过并行计算来加快运算的速度,但并行处理往往需要较大的软件开发成本和硬件成本,因此在进行并行算法的开发之前,必须考察是否存在可以解决问题的更好串行算法。以整数排序问题为例,使用并行的冒泡排序算法,其效果还不如使用串行的快速排序算法。因此,高效的串行算法研究是高性能算法研究的重要课题。著名的算法包括线性规划问题的单纯型法、FFT、快速排序、矩阵特征值的QR算法、快速多极算法等。近年来在算法方面的突破使印度学者在素数判定问题上提出了多项式复杂度算法。

(2) 优化现有算法

算法只提供了理论上的性能,要在实际系统上获得高性能,必须对算法的实现进行优化。现代处理器大多使用多级Cache来隐藏访存延迟,因此必须根据目标系统的Cache参数来优化算法的访存行为。此外,许多处理器还提供了SIMD指令,合理使用这些指令可以达到较高的性能。许多优化的数学库,如ATLAS、Intel公司的MKL等已经为不同的体系结构,特别是Cache配置进行了特别优化,可以达到较高的执行效率,为优化算法实现提供了很好的帮助。

(3) 并行算法与并行应用的开发

并行算法的研究与串行算法有联系也有区别。优秀的串行算法并不一定适合并行化,某些时候在串行算法中并非最优的算法在并行实现时却能体现出较大的优势。对于千万亿次计算机而言,其处理器(核)个数在10万以上,并行应用的并行度需要达到数万个并行进程才能有效地利用千万亿次计算机。并行算法的三个主要优化目标是: 通信优化、负载平衡以及最大化并行区。通信优化的目标是尽量减少通信次数和通信量,减少由于处理器之间通信带宽限制引起的性能下降。在大规模并行程序中,负载平衡问题也非常突出,少数负载不平衡的任务会使得整体性能急剧下降。同样的,根据Amdahl定律,应用加速比的上限是串行区所占比例的倒数,即应用中1%的串行区域就会使得整个应用程序的加速比不可能超过100。因此,要在数万个并行进程的情况下取得理想的加速比给并行算法的开发提出了很大的挑战。

3. 系统可靠性与可管理性

随着系统内结点个数的增加,系统失效的可能性也随着增大。并行程序的特点是只要有一个并行进程失败,整个并行程序都执行不成功。对可靠性问题的处理方法之一是设法提高系统的稳定性,这包括硬件系统可靠性和软件系统的可靠性。但目前公认的结论是: 大规模系统的故障是在设计时必须考虑的前提条件,而并非可以通过技术手段加以解决的问题。因此,必须考虑如何在系统结点出现故障的情况下仍然能够保证系统服务质量不发生显著下降。

故障监测技术和动态系统重构技术可以用来减少或消除系统失效对应用的影响,即尽快隔离出现问题的结点,使得用户可以使用状态正常的结点进行计算。与系统动态重构技术类似的技术还有系统动态划分技术,主要用于向不同的用户提供相互独立的结点集,使得整个系统的管理和使用更加有效和安全。

但是上述技术仅能解决系统对新的应用的服务质量问题,无法保证已经执行的应用在某个计算结点出现问题后的处理。某些并行应用,如石油数据处理需要连续运行几十天的时间,一旦某个结点出现错误,会使得前面的计算前功尽弃,需要从头开始计算。并行检查点技术主要提供应用级的容错,即能够自动地定期记录并行程序的状态(称作检查点),在计算过程中某个结点发生失效后,可以从所记录的并行程序检查点恢复执行,避免了重新执行整个程序。

高性能计算与海量信息处理

人类所产生的信息量以指数速度增长,如何存储、检索和利用这些信息为信息技术提出了重要挑战。从20世纪90年代开始,互联网的飞速发展给信息的传播与服务提供了新的机遇。传统的信息服务系统以数据库为中心,典型应用是OLTP(事务联机处理)。而以Google为代表的海量信息检索与处理服务是另一类重要应用,以Google集群系统为代表的系统体现了高性能计算系统的另一个发展方向。

信息检索与处理服务系统的特点与科学计算非常不同,对处理系统也提出了不同的要求:

1. 信息处理与服务应用需要频繁访问动态的数据结构,包含很多不可预测的分支,使得现有超标量处理器中的许多技术,如分支预测、数据预取、乱序和推测执行等功能无法很好地发挥作用,应用的指令级并行性较差。

2. 大部分信息处理与服务应用具有较好的数据并行性,可以很容易地在分布式系统上执行。以信息检索为例,一个信息检索请求可以被分配到多个服务器上进行并行检索,最后再将搜索结果统一处理返回给用户。这个过程中大多数的访问是只读的数据,并行任务之间的通信非常少,并行效率比较高。

3. 系统的性能指标一般不以单个服务请求的响应时间为量度,而更关注系统整体的吞吐率。以搜索引擎为例,信息服务系统更重视在1分钟内能够完成的用户搜索次数,而对单次搜索在0.5秒内完成还是1秒内完成并不特别敏感。

4. 系统需要很高的可靠性和可维护性。可靠性是对服务而言的,即组成的系统必须能够近乎不间断地为用户提供服务。可维护性是指系统的更换与维修可以简单快捷地完成,新更换的结点可以快捷地加入到系统中。

5. 低成本。这包括系统构建成本和总拥有成本两部分。海量信息处理和服务所需的系统规模极为庞大,Google Cluster在2003年就达到了15000台计算机的规模。如此巨大规模的系统,需要尽可能地降低成本。

为了能够有效满足上述信息处理与服务系统的要求,人们对于如何高效地构建相应的服务系统也展开了研究与实践:

1. 使用副本技术通过软件提供可靠性

在大规模系统中,单个系统结点的失效是不可避免的。现有的通过冗余底层硬件提高系统可靠性的方式,比如冗余电源、RAID技术等,成本较高,性价比较差。相反,在信息服务系统中可以广泛使用软件提供服务级别的可靠性。主要的方法是采用副本,即将服务和数据复制到多个系统结点上,即使单个系统结点的可靠性不是很高,多个副本提供了服务所需的可靠性。另一个使用副本技术的优点在于其提高系统可靠性的同时也提高了系统的性能,即保存副本的多个系统结点可以同时向用户提供服务。

2. 注重系统的性能/价格比

由于信息服务系统应用容易并行的特点,采用大量低端系统组合的方法比使用少量高端系统在性能价格比方面更具有优势(此处所指的低端系统是指1~2个CPU的PC机或入门服务器,高端系统是指大规模处理器服务器,如HP 的Superdom服务器、IBM的P690服务器等)。此外,信息服务系统与用于科学计算的高性能系统面临同样的挑战: 能耗问题。在大规模信息处理与服务系统中,电费成本(包括系统本身耗电和空调系统耗电)将占有总拥有成本的很大一部分。因此,在选用系统时,应选择性能/能耗比较高的系统也是一个重要的原则。

(3) 使用多内核处理器

由于信息服务程序的特点,它更适合使用多个简单内核构成的处理器,这些简单内核仅需要按序执行,并使用较短的流水线。由于信息服务应用的指令级并行度较差,按序执行不会造成太多的性能下降,但可以节省复杂的乱序执行单元电路,从而可以降低功耗。另一方面,较短的流水线可以降低分支预测失效的开销。

并行计算与个人计算机

随着半导体工艺的发展,单个芯片上能够集成的元件个数还将在5~10年内遵循摩尔定律继续以指数级增长。但是当前的芯片散热技术已无法支持芯片频率的进一步提高,而通过提高发射宽度、提高分支预测效率以及数据预取等进一步在体系结构上提高单线程执行速度的方法也逐渐失去了有效性。多内核芯片通过在一个芯片内集成多个处理器内核,采用线程级并行提高处理器性能,已成为微处理器的主要发展趋势。IBM公司在几年前就推出了双内核Power芯片,Intel公司和AMD在2005年推出的双内核芯片更是标志着多内核技术进入了普及阶段。支持更多核心的处理器芯片也正在快速涌现,如Sun公司已经推出了8核的Nigeria芯片,用于面向提高吞吐率的服务器应用; IBM则联合索尼和东芝推出了面向娱乐应用的9内核Cell芯片。Intel公司甚至已经在计划100内核以上的处理器。

多核处理器的出现给计算机的使用带来了新的挑战。随着多内核处理器的普及,成千上万的桌面电脑将成为并行计算机。目前在桌面机上执行的应用程序大多数是单线程程序,无法有效利用多内核处理器提供的能力。如何有效地在个人电脑上利用多个处理器内核成为高性能计算领域一个重要的研究课题,从目前的趋势来看主要有以下几个方向:

1.使用多任务带来的并发性

Intel的 双核ViiV家用电脑是这方面的典型例子。ViiV电脑的典型使用模式是一个人在客厅使用ViiV电脑看电影,另一个在自己的房间里使用同一台电脑玩游戏,两个人使用同一台电脑中的不同处理器内核,从而达到了有效发挥双核能力的目的。但这种依靠多个用户同时使用一台电脑的模式具有很大局限性,因为家庭成员的个数是有限的,对于4内核以上的多内核处理器,这种模式无法提供有效的支持。

2.聚合多内核的能力,加速串行程序的执行速度

计算机科学家们正在研究一种称作推测多线程(TLS: Thread-Level Speculation)的技术,该技术可以自动分析串行程序,推测其中能够并行执行的部分,在多个内核上并行执行。但一旦发现并行执行的部分有冲突,就撤销其中一个冲突线程的执行,执行补偿操作并重新执行该线程。推测多线程技术的优点在于无需用户干预就可以在多内核系统上加速现有单线程程序,其缺点在于对于性能提高的幅度有限,大约在4内核系统上仅能比在单个内核上提高性能30%,而且再增加内核数,其加速比也不会显著增加。因此,这种方式也无法支持更多内核的处理器。

另一种有前途的技术是自动并行化技术。自动并行化技术可以在编译时识别程序中的并行性,并将其转化为多线程并行程序。过去的自动并行化技术主要是面向SMP系统的,但不是很成功,原因是对真实应用程序,自动并行化无法得到满意的加速比。一个程序通过自动并行化在4 CPU的SMP系统上得到20%的加速比是不能令人满意的,因为4 CPU的系统通常价格是单CPU价格的10倍以上,自动并行化无法提供性能价格比上的优势。但是对于多内核系统,如果能够在四内核系统上通过自动并行化得到20%的加速比,应该是比较令人满意的结果,因为这些内核是“免费”提供给用户的,即用户无法用四内核处理器1/4的价格购买一个单内核处理器。因此,多内核处理器在家用电脑上的普及,将大大降低人们对自动并行化效果的期望,使得自动并行化技术重新被接受和应用。

3. 并行化现有的桌面应用

既然采用多内核处理器加速串行应用无法充分利用多内核处理器的能力,那么并行化现有的桌面应用就成为了一个重要选择。这方面的研究主要是分析现有的桌面应用,对有代表性的应用进行手工并行化,这些研究试图回答下面的问题: 哪些桌面应用能够被有效并行化,哪些不能?并行化本身的难度有多大?应如何改进现有的编程模型、编程工具以及系统软件来更好地支持应用的并行化?

研究表明,桌面系统上的大部分应用,如图像处理、3D图形运算、多媒体数据编码与解码、数据与文本挖掘、文本与媒体搜索、游戏与博弈等都可以有效地被并行化,并在多内核系统上得到有效的执行。但是,手工程序并行化的开销仍然很大,并行程序员需要了解并行计算的有关知识,并对计算机体系结构、操作系统、编译原理等有一定了解才能写出有效率的并行程序。并行编程模型与并行编程工具还需要提供更好的支持,以帮助并行程序员开发、调试并行程序。

今天,高性能计算技术已成为整个计算机领域的引领技术。多内核处理器的出现,使得并行计算技术将很快普及到我们的每台计算机,渗入到我们生活的方方面面,这是计算机产业发展史上的一个重大变革,对我国而言是一次难得的机会。在“十一五”期间,我国将进一步加强对高性能计算技术研究的支持,注重引导企业应用高性能计算技术促进产业升级和科技创新,同时更加特别重视高性能计算技术的教育培训工作,在高校的理工专业广泛开设并行程序设计课程,培养更多了解和使用高性能计算技术的人才,在此次变革中实现跨越性的发展。

作者简介

陈文光

清华大学计算机博士,清华大学计算机系副教授,863高性能计算机评测中心副主任。曾任Opportunity International Inc.总工程师。主要研究领域为并行计算的编程模型、并行化编译和并行应用分析。

链接:高性能计算发展趋势

随着应用的需求与计算机技术本身的发展,近年来高性能计算的发展体现出一些新的特点,可以用“大,宽,小”来代表这三个特点:

“大”是指高性能计算系统向更大规模发展,处理器个数可达10万个以上,主要用于解决超大规模的数值模拟问题。