天河二号:“微异构架构”加速高性能计算应用

神舟飞船轨道的计算,需要高性能计算提供高速可靠的计算能力;

人类疾病的研究和治疗,需要高性能计算提供海量数据的分析处理能力;

汽车制造领域,需要借助高性能计算来降低研发成本,提升产品质量降低,研发周期……

高性能计算发展到今天,已经渗透到科技发展、人类生活、商业竞争的各个方面,然而,制约其发展的已经不只是计算性能的问题了。如何控制能耗?如何提升核与核之间的高度并行协作能力?如何在软件层面把庞大的计算资源充分利用起来?如何提升应用程序从传统单一架构到异构架构的可移植性等等,这一系列问题成为高性能计算发展和应用的几大“拦路虎”。


【图1】“天河二号(Milky Way2)”

近日,第41届国际超级计算机TOP500榜单在国际超级计算大会(ISC13)上公布(详情请见http://www.top500.org/),中国超级计算机“天河二号(Milky Way2)”以33.86 PFlops的实测峰值荣登榜首。

“微异构架构”提升系统可编程性

尽管“天河二号”肩负着夺冠的重大使命,但与往常一些只为了夺冠的超级计算机有所不同,“天河二号”更重要的任务是应用——支持整个长三角地区的科学研究、企业计算,甚至一些大数据的应用。因此,它对于可编程性要求非常高。

从系统架构上来看,“天河二号”整个系统采用了32000颗英特尔E5 2600 V2系列,加上48000英特尔至强融核协处理器。这样的架构,英特尔将其称之为“微异构架构”。什么是“微异构架构”?英特尔(中国)服务器平台产品经理张振宇给出了这样的解释,“所谓‘微异构架构’就是采用单一编程模式的异构”。


【图2】英特尔(中国)服务器平台产品经理张振宇

这听起来似乎很有诱惑力,因为对于许多高性能计算的客户而言,无论是“CPU+GPU”的架构还是“CPU+MIC”的架构,异构编程毕竟是一个老大难。微异构架构并不是说CPU上的程序可以直接在CPU+MIC的架构上使用,张振宇进一步谈道,“客户需要先将应用程序在CPU上做并行优化,之后才可以直接移植到至强融核上,这里面的优化技巧和方法需要学习和熟悉”。

英特尔高性能计算产品线全面开花

英特尔每年都会在国际超级计算机大会上发布相应的新品,去年发布了5100P,今年又发布了五款新的至强融核产品,包括 7100系列的7120P,7120X,31系列的3120P和3120A,还有5100系列的5120D。其中,7100最高的性能可以达到1.2T双精度浮点计算。3100是最佳的性价比,5100是最通用的产品形态,5120D是小型封装,可以在OEM刀片系统里使用。

除了芯片之外,英特尔在HPC的各个领域也都陆续推出了相应的产品,目前已经形成了一个非常强大的产品线,包括Xeon Phi协处理器,英特尔Truescale和以太网的设备,同时还有正在研发的下一代互联产品。此外,软件方面,除了一些消息库、并行软件之外,英特尔今年还发布了一款新的并行文件系统——英特尔企业版Lustre。

Lustre最初来源于卡耐基梅隆大学的的研究员Peter Braam在NASD项目研究工作,其优势在于其可扩展性和可靠性,同时可满足大规模并行集群存储系统上的I/O需求。Intel去年收购了超级计算机集群解决方案文件系统Lustre的母公司Whamcloud。

“之前,在商业计算领域很少采用Lustre,因为它是一个开源软件,在技术支持和体系架构方面都不是很好,英特尔推出的企业版Lustre针对英特尔平台进行优化和打包,同时为客户提供定制化的服务,从而保证商业计算的可靠性和性能要求”,张振宇这样谈道。

Knights Landing针对应用特征设计的两种“造型”

据介绍,下一代英特尔至强融核处理器Knights Landing将采用14纳米制程技术,非常值得一提的是,Knights Landing有两种设计选择,既可以插在CPU插槽上,也可以放在PCIe插槽上。这样设计的初衷就是充分考虑应用特征,张振宇表示,“有一小部分应用是百分之百高度并行的,这类应用可以很好地在众核上运行,不需CPU做串行计算再把计算结果交过来,不需要协调的工作,针对这一类应用,可以把Knights Landing直接做成处理器,把Knights Landing当Cluster来跑这类应用,性能会非常好”。