高速计算,可说是国家科研能力的重要指标。一个国家,无论经济情势的好坏或竞争能力的强弱,都可经由高速计算能量的起落来反应。也由于高速计算本身具备的浓烈科技战略意涵,因此在国际间,常被视为创新与竞争能力的重要资产,而予以特别的投资与对待。

在今年六月,向来与高速计算连动的五百大超级计算机排行榜 (TOP500),再度由中国取得了榜首。虽说仅以追求算主机的排名来诠释高速计算的价值,基本上是「以其昏昏,使人昭昭」,但这次中国的夺冠,仍然震撼了欧美日的计算强国,并开始省思计算能量的意义及高速计算的定位。

高速计算的质变

什么是「高速计算(high performance computing)」?或许无法从教科书中得到确切的定义,但不论是描述平行处理后之效能提升的「阿姆达尔定律(Amdahl's law)」,或是说明将负载分散与效能关系的「古斯塔夫森定律 (Gustafson's law)」,都指出「高效能」所诉求的,在于如何缩短单一应用程序的执行时间。也因此可以想象,高速计算宛如在建构一个赛车场,透过分散化、矢量化、区块化等平行加速手段,让各类应用的车辆,其效能可以和资源的投入,成等比例的增长。

另一个常与高速计算混淆的,是挟着经济优势浩浩荡荡而来的「高产能计算 (high productivity computing)」。相对于高速计算,高产能计算诉求的是,投入的最少资源来获取最大的产能。其常用的手法是,透过标准的共享资源、一致的沟通协定、动态的资源调配、快速的重新部署,来极大化资源投入的效益。因此高产能计算,比较像在修筑一条共享的高速公路,透过特定的限制条件及沟通协定,让所有应用的车辆得以充分的利用资源,并在最短的时间内被执行完毕。

然而在实务上,高速应用的计算需求,并无法窄化透过单一的计算技术来满足,特别是在应用需求多样化,且新兴信息技术充斥的二十一世纪。由于计算尺度、资料规模、及复杂度的倍增,资源的取得及服务的模式也较过往来的方便容易,使得许多的应用整合不同计算及服务方式,甚至融合了资料处理及云端运算技术,来解决单一的应用问题。这趋使历经半甲子的传统高速计算,发展出资料密集 (data-intensive)、存储器密集 (memory-intensive) 等本质迥异于过往计算密集 (compute-intensive) 的计算模式。

应用才是王道

不论是那一类的计算服务,应用都是里面的主角。倘若没有应用,那么一切的投资都是枉然。为了了解各个应用在不同设施与环境的效能差异,于是衍生出各种用以彰显应用核心效能特性的测试程序 (benchmark) 排行榜。在高速算领域中,较知名的有:

TOP500:成立于 1993 年的五百大超级计算机排名及趋势追踪计划,是历史悠久,也是最富盛名的计算能量排行榜。其所用来量测效能的软件,是一个名为 LINPACK 的计算密集测试程序。但在未来,会再配合另一个「高效能共轭梯度 (high performance conjugate gradient, HPCG)」的测试程序,来更精确的反应实际应用软件的效能。

GRAPH500:这是一个成立于 2010 年,专注于资料密集计算应用的排名计划。其所采用的是一个在图论 (graph theory)上,用来产生、分析、搜寻大尺度加权无向图 (weighted, undirected graph) 的测试程序。

Green500:除了计算与资料的计算,另一个影响现今的高速计算发展的要素,就是电力的消耗。成立于 2007 年的 Green500 计划,即是一个用来量度 LINPACK 测试程序,每瓦的电能消耗所产出计算能量的排行榜。

不过要注意的是,测试程序并不代表应用程序实际的效能表现,也无法反应程序撰写的难易度,只能透过它来对应用效能产生一种新的想象。而这种想象,或许会偏移应用效能的轴心,而造成实际应用效能的误差。但不可讳言的,这种想象或可提供一种从过去了解未来的视野。以下,将藉由 TOP500 历年应用领域的分析与观察,来了解应用领域的分布,并描绘可能的消长。

从 1993 年累积至今的 TOP500 应用领域资料,可以归纳出以下几点:

以计算能量的角度来看,有将近一半的计算能量,使用在非特定领域之应用,尤其到了 2013 年之后,这个比例更高达四分之三。这显示当计算规模扩张至超大尺度 (extreme-scale) 之后,高速计算的资源将更加的集中化且泛用化。

除了非特定领域之应用外,依历年来所建置之总计算能量来看,其它重要的应用领域,还分别包括了:研究应用、另类应用、天候气象、国防科技、能源开发、地球物理、航空航天、资料处理等。

再从各个应用领域建置的主机数量来看,金融服务、电信服务、汔车设计、半导体业、及数据库服务,虽然建置的计算容量不大,但是建置的数量相对的多。显见这些应用领域,将有潜力成为未来高速计算的主要应用。

▲ TOP500 历年的应用领域建置的计算能量

▲ TOP500 历年的应用领域建置的主机套数

高速计算之展望

在过去的高速计算,或许单纯到只需改善计算系统效能,即可满足所有应用的需求,也因此系统的计算能量,可以如摩尔定律(Moore's law) 所预测的,呈指数性的增长。但在摩尔定律趋近极限的今日,传统计算架构已遭遇可能无法再呈指数性成长的瓶颈,我们不仅要面临计算规模进入超大尺度及应用需求多样化,所造成的设备容错、耗电过多、冷却散热等硬件问题,也还有传输效能、储存效能、定址空间不足等容量问题,再加上编程的难度、问题尺度及复杂度等所造成的软件问题,使得人们不得不思考另类的高速计算解决方案。

在硬件方面,在上个世纪末的可重组计算(reconfigurable computing)、这些年在流行的图形加速器 (Graphics Processing Unit, GPU)、今年异军突起的 Intel Xeon Phi 协同处理器,乃至于可能在未来席卷市场的量子计算机 (quantum computer),都将是目前及未来可能的解决方案。但那一个方案会是未来的主流,目前还没有个定论,也可能不会有定论。

至于容量方面,效能更强大的网络系统与平行的档案系统,存储器容量更大的主机及虚拟的对称多处理器(Symmetric MultiProcessing, SMP) 计算环境等,都可以解决目前的燃眉之急。同时也可以确定的是,未来软件的技术将取代过往的硬件,成为容量解决方案的主角。

但遗憾的是,目前主流的 OpenMP或是 Message Passing Interface (MPI),在平台多样化及计算规模进入超大尺度后,它们的表现就相对的产生了侷限及不可靠。因此,提供一个高效能的平行的编程及执行环境,以简化平行编程的难度、提升应用执行的效能,并扩大计算应用的层面,便成了当务之急。只可惜截至目前为止,还没有莫衷一是的解决方案。

在结束之前,再来谈谈计算能量及 TOP500。

TOP500 的最大贡献,在于其所收集的丰富超级计算机样本,让我们得以透过它来观察并分析过往的景观,从而体会出高速计算的限制与突破,并藉由高速计算发展脉络的探索,进而产出自我发展的策略。但也由于 TOP500,在争夺计算能量的排名中,被误导去建置出一套套只有计算能量的计算系统,而忘了计算系统的应用价值。高速计算的发展,确实需要有名列 TOP500 的超级计算机做为载具,因为这代表主机的计算能量,可以满足大型高速计算技术与应用程序研发之所需,来解决各类资源需求密集的问题。至于排名,充其量只是高速计算发展过程中的花絮罢了。

参考资料

1 TOP500 Supercomputer Sites, http://www.top500.org/

2 The Graph500 List, http://www.graph500.org/

3 The Green500 List, http://www.green500.org/

4 Jack Dongarra and Michael A. Heroux, “Toward a New Metric for Ranking High Performance Computing Systems”, June 2013
http://www.sandia.gov/~maherou/docs/HPCG-Benchmark.pdf