第1 章 高效能计算机的系统架构
1.1 高效能计算机发展与系统分类
1.1.1 HPC 的定义
高效能计算机也称为高性能计算机(High-PerformAnce Computer,HPC),指信息处理能
力尤其是计算速度超过普通计算机的机器,广义上是指解决大型复杂任务的计算工具。现代
高性能计算机由成千上万个处理器组成,包括定制的高性能处理器和加速部件等,共同完成
普通单台个人计算机(PC)和服务器不能完成的大型复杂运算任务。高性能计算机的概念来源
于超级计算机(super computer)。
超级计算机诞生的初衷是解决大规模计算求解问题。计算科学与传统的两大科学——理
论科学和实验科学,被并列认为是人类认识自然的三大支柱。在许多情况下,当理论模型复
杂甚至理论尚未建立,或者实验费用昂贵甚至无法进行时,计算就成为求解问题的唯一或主
要手段。超级计算机具备超强的处理能力,因此人们可以通过超级计算机进行数值模拟来预
测和解释无法通过实验检验的原理和现象,如天气预报、核爆模拟和基因比对等。
以天气预报为例,在超级计算机没有诞生之前,要想知道天气变化,需要专人去布置卫
星和探测器等,捕捉大气变化,再根据自身经验来判断。而使用超级计算机后,结合其他监
测仪器发回的数据就可以模拟大气变化,自动分析出天气变化情况,既能提高气象预报的准
确性,又能提升时效性。这样,人们经常听到的“局部地区有雨”等字眼在超级计算机的帮
助下也会逐步消失,因为超级计算机能精准地计算出哪个地区什么时间会下雨。
例如,要研发飞机,飞机发动机的涡轮叶片是一种耐高温的材料,这种材料一般都是由
四五种金属材料还有一些其他材料合成的。从已知的100 多种材料里选出这5 种材料的组合,
至少有9×109 种可能;这还不够,每种元素还有不同的比例组合,这就是个无穷尽的问题;
再加上不同温度和压强的外界条件,如果没有超级计算机,而是通过实验来尝试,那么周期
和成本将是不可想象的。怎样实验才是高效的呢?只有虚拟实验,即在计算机上建立能够反
映该材料状态的准确模型,通过计算机软件模拟,这里的硬件载体就是超级计算机。
之所以选择超级计算机作为这些复杂运算的载体,是因为超级计算机的计算速度是相当
惊人的。例如,我国研发的亿亿次超级计算机天河2 号的峰值运算速度为每秒33.86 千万亿
次浮点运算(PFLOPS)。天河2 号运算1 小时相当于13 亿人同时用计算器计算1000 年,其
存储总容量为12.4 PB,相当于存储600 亿册每册10 万字的图书。
当今,超级计算机的效能比越来越被重视,于是高效能计算机的概念随之兴起。
1.1.2 HPC 的诞生
超级计算机的历史可追溯到20 世纪60 年代,当时一系列由西摩·克雷(Seymour CrAy)
设计和实现的具有卓越计算峰值性能的计算机在控制数据公司(CDC)诞生。CDC 6600 诞生
于1964 年,通常被认为是第一台超级计算机。1972 年,西摩·克雷离开CDC,创办了克雷
公司(CrAy);1976 年,他设计了80 MHz 的CrAy-1超级计算机,如图1-1 所示,这是当时最
成功的一台超级计算机。
1985 年CrAy-2诞生,如图1-2 所示,当时包含了8 个处理器,执行速度达到1.9 GFLOPS,
直到1990 年它都是世界上运行速度最快的计算机。
图1-1 CrAy-1 超级计算机 图1-2 CrAy-2 超级计算机
20 世纪80 年代的超级计算机只包含几个处理器,而20 世纪90 年代在美国和日本就出
现了包含上千个处理器的计算机,创下当时计算机处理能力的新世界纪录。
1.1.3 HPC 发展与应用
超级计算机的发展经历了从向量机、对称多处理机、大规模并行处理机到集群的体系架
构的变化;在超级计算机互连网络方面,早期向量机和大规模并行处理机都是定制的专用互
连网络,采用商品化部件的集群超级计算机系统出现后,集群互连网络从快速以太网发展到
千兆位以太网,再到目前流行的InfiniBAnd 网络等。
1.向量机
向量机(PVP)主要集中在20 世纪70 年代,主要代表产品是克雷公司CDC 系列和CrAy
系列,如CDC 6000、CDC 7000、CrAy-1 和CrAy-2 等。当时最快的计算机都是向量机。向量
机是由专门设计定制的向量处理器(VP)经专门设计的高带宽交叉开关网络和共享存储模块
互连组成的计算机系统。
2.对称多处理机
对称多处理机(SMP)系统使用商用的微处理器经高速总线连接共享存储器组成。该系统
是对称的,每个处理器都可以等同地访问共享存储器、I/O 设备和操作系统服务,典型代表
机型有IBM R50、SGI POWER ChAllenge 等。
3.大规模并行处理机
大规模并行处理机(MPP)和对称多处理机一样,也采用商用的微处理器,不同之处是系
统有物理上的分布式存储器,程序由多个进程组成,每个进程都有其私有的地址空间,进程
间通过消息传递进行交互。
20 世纪80 年代末90 年代初,许多公司对MPP 进行了实践,比较著名的有思维机器公
司(Thinking MAchines CorporAtion)、nCUBE、KSR(KendAll SquAre ReseArch)、英特尔和IBM。
思维机器公司成立于1982 年,其生产的CM(Connection MAchine)系列高性能计算机为
MPP 的互连进行了一系列的探索。1986 年思维机器公司发布的CM-1 采用SIMD 方式,包含
了65536 个1 位的处理器,每个处理器有4 Kbit 的存储器,连接成超立方体(hypercube)结构。
在CM-1 推出一年后,该公司又推出了CM-1 的升级版本——CM-2,CM-2 被认为是第一台
成功的大规模并行处理计算机。
英特尔公司在1971 年推出世界上第一款微处理器4004,如图1-3 所示,在微处理器市
场上获得了成功。1984 又创建了Intel Scientific Computers(后改名为Intel Supercomputer
Systems Division),研究基于超立方体结构的大规模并行处理计算机。1985 年推出了iPSC/1,
由以太网控制器连接的80286 微处理器组成。两年后推出了iPSC/2,微处理器升级为80386/7,
如图1-4 所示。1990 年,英特尔公司推出了第二代基于超立方体结构的高性能计算机
iPSC/860,它采用了128 个i860 微处理器,以及电路交换(circuit-switched)的连接方式。由
于其具有出色的性价比(800 MFLOPS 每百万美元),获得了戈登·贝尔性价比奖(Gordon Bell
prize in price/performAnce cAtegory)。
图1-3 Intel 4004 微处理器 图1-4 Intel 386 & 486 微处理器
针对大规模并行处理系统的发展趋势,IBM也于1991 年启动了SP(ScAlAble Power pArAllel)
项目,并于1993 年公布了第一个产品9076 SP1。SP1 使用RS/6000 处理器,通过一个8×8
的交换芯片进行连接,因此系统最大包含64 个处理器。由于连接方式限制了系统的规模,
SP1 系统的浮点计算能力小于10 GFLOPS。在设计下一代产品时,IBM 综合考虑了性价比、
通用性、可用性等各方面因素,于1994 年推出了采用集群(cluster)体系结构构建的大规模并
行处理计算机9076 SP2。
4.集群计算机
集群计算机是指利用商品化高速通信网络将一组高档工作站或服务器甚至个人计算机
按某种结构连接起来,在并行程序设计与可视化人机交互集成开发环境的支持下,统一调度,
协调处理,实现高效并行工作的系统。
20 世纪90 年代中期,随着微处理器和动态随机存储器(DynAmic RAndom Access Memory,
DRAM)速度的提升以及PCI(PeripherAl Component Interconnect)总线的出现,个人计算机市
场日趋成熟。随着互联网的拓展,局域网(LocAl AreA Network,LAN)技术飞快发展,1982 年
出现的10 Mbit/s 以太网(Ethernet)已经渐渐被100 Mbit/s 快速以太网(fAst Ethernet)所代替,同时一些专用系统网络(System AreA Network,SAN)如Myrinet 也发展迅速,在带宽和延迟
上与传统高性能计算机所采用的专有网络的差距日渐减小。
在软件方面,1991 年出现的Linux 操作系统借助互联网获得成千上万开发者的支持,到
1994 年已经相当稳定。1989 年,PVM(PArAllel VirtuAl MAchine)发布,这是第一个通用的基于
消息传递方式的并行环境,PVM 可以使用互连的计算机构造一个虚拟的并行机。但由于PVM
是免费的,只有少数厂家进行维护,而1993 年发布的MPI(MessAge PAssing InterfAce)功能与
PVM 相似,但MPI 是由国际组织维护的国际标准,许多厂商都为其提供具体的实现版本。
因此,最终PVM 停止开发,MPI 成为名副其实的消息传递接口标准。
处理器、网络、操作系统和软件的高速发展推动了集群技术的发展,第一台集群系统源
自美国航空航天局(NAtionAl AeronAutics And SpAce AdministrAtion,NASA)GoddArd 航天中心
的Beowulf 项目。GoddArd 航天中心的地球与空间科学(EArth And SpAce Science,ESS)项目需
要一台能够处理大数据的高性能计算机,要求其具备1 GFLOPS 的峰值和10 GB 的存储能力,
而价格却不能高于用于高端科学计算的工作站的价格。无奈之下,NASA 的唐纳德·贝克
(DonAld Becker)和托马斯·斯特林(ThomAs Sterling)只能选择市场上可以买到的商用现货
(Commodity Off The Shelf,COTS)的微型计算机和网络硬件来组建满足要求的高性能计算
机,于是Beowulf 项目产生了。1994 年名为WiglAf 的第一台Beowulf 集群在GoddArd 航天中
心诞生,它由16 台100 MHz 的486DX4 微机通过10 Mbit/s 以太网集线器连接而成,在实际
的应用中每个节点(一般指集群中具有独立I/O 资源的计算硬件单位)的计算速度达到4.6
MFLOPS,整体达到74 MFLOPS。
集群计算机是处理器技术和网络技术不断提高的产物。商业处理器运算速度飞速提高而
且越来越便宜,网络技术的进步使得商业网络的带宽已经很高。目前,很多商业网络的带宽
已达Gbit/s 量级。高速的网络硬件再加上特殊设计的网络协议,其传输速度已能达到甚至超
过某些MPP 专门定制的网络,这就为并行计算的通信提供了有力的保障。集群系统在被提
出之后发展十分迅猛,已成为目前研究的热点。在2013 年6 月发布的Top500 排行榜中,以
集群方式构建的机器为417 台,占总数的83.4%,MPP 架构为83 台,占总数的16.6%。
由于集群计算机具有投资风险小、可扩展性好、可继承现有软硬件资源、开发周期短、
容易编程等突出特点,目前已成为并行处理的热点和主流。集群中的节点数越多,系统的整
体处理能力就越强,但节点数的增多受限于消息传递的通信速度和带宽。对于集群系统,可
用的节点有工作站、个人计算机、SMP 服务器甚至超级计算机。节点的操作系统是多用户多
任务多线程系统,如Linux 等。节点可以是同构的,也可以是异构的。
集群计算机系统作为当前世界上并行处理的热点和主流,具有许多其他系统不可替代的
优势:性价比高、可扩展性好、可用性高和能用性高。尤其是个人计算机并行集群系统有系
统开发周期短、用户投资风险小、节约系统资源、用户编程方便等优点,它将给各行各业提
供性价比较高的高性能并行计算资源。
随着集群技术的出现,高性能计算机从20 世纪90 年代开始得到迅猛发展,计算能力在
1998 年首次突破万亿次,到2008 年达到千万亿次,10 年间提高3 个数量级。在2013 年6
月Top500 排名中,中国的天河2 号以33862 TFLOPS 的运算速度夺冠,而Top500 排行榜中
前26 位均已进入千万亿次时代。业界预计2018—2020 年高性能计算机将会进入百亿亿次
(ExAScAle)时代。
第1 章 高效能计算机的系统架构
·5·
5.高性能计算机的应用
随着高性能计算机的发展,其应用也越来越广泛,目前主要运用在许多工业领域,如汽
车和航空航天器的设计制造、石油勘探、地震资料处理与核爆炸模拟等。在教育、科研领域,
高性能计算机有着更广泛的应用空间,在生命科学、基因比对、材料设计、气象气候研究、
宇宙演变、量子物理学、计算化学、分子模型和天体物理模拟等学科中已成为科学研究的必
备工具。
例如,在天气预报和台风预报等大量预报工作中,超级计算机将大大提高预报的准确率
和及时性。目前,国家超级计算济南中心正和气象部门共同研发新的气象预报系统,原来的
计算系统只能预测2h 内的气象变化,应用超级计算后,半小时甚至十几分钟就能预报一次。
此外,超级计算可将气象预报的范围精确到2 km 以内,这意味着可为爬泰山的人提供山上
和山下不同区域的温度预报。
6.高性能计算机的评估组织
随着高性能计算机的发展,越来越多的国家和组织参与到高性能计算领域,并且出现像
Top500、Green500 和GrAph 500 等专门针对高性能计算机进行评估的组织。一年一度的国际
超级计算机大会(ISC)和超级计算机大会(SC)则为HPC 研究人员、技术领导者、科学家和信
息技术决策者提供了一起研究HPC 解决方案的平台,同时在大会期间举办的国际大学生超级
计算竞赛有助于超级计算人才的国际交流与互动,激发年轻一代大学生对超级计算的热情,
加速超级计算应用人才储备,推动超级计算更快更好地发展。
全球Top500 超级计算机排行榜诞生于1993 年,其主要目的是以此为基础来对高性
能计算领域的发展趋势进行跟踪和监测。该排行榜对全球范围内性能最强劲的500 套计
算机系统进行排名,每年更新和发布两次,6 月在德国的ISC 上发布,11 月在美国的SC
上发布。
Green500 排行榜由美国弗吉尼亚科技大学(VirginiA Tech)的Wu Chunfeng 在2007 年创
立,主要关注超级计算机不断增长的能耗,对当前的Top500 世界超级计算机以能效标准进
行重新排名,该榜单半年更新一次。它与Top500 一样,会在每年6 月和12 月各发布一次。
GrAph 500 是美国桑迪亚国家实验室与英特尔、IBM、AMD、NVIDIA 和OrAcle 合作定
义并发布的一个新的基准测试排名,它是利用图论分析超级计算机在模拟生物、安全、社会
以及类似复杂问题时的吞吐量,并进行排名。GrAph 500 排行榜旨在测试关于这些应用类型的
系统能力,而不是只看其计算能力。希望通过这个测试促使计算机厂商构建可处理复杂问题
的架构。
7.中国高性能计算机现状
高性能计算机技术日渐成为衡量一个国家科技水平与综合国力的重要标志之一,目前世
界上一些发达国家都在争相投入巨额资金对它进行开发和研究。我国从“天河1 号”超级计
算机系统问鼎全球超级计算机Top500 榜首,到全国产化的千万亿次“神威蓝光”问世,直
到2013 年6 月17 日天河2 号再次问鼎Top500 榜首,中国在超级计算机研制方面不断取得
突破,超级计算机峰值能力已经处于国际领先水平。2010 年11 月,天河1 号凭借2.57 PFLOPS的运算速度荣登Top500 排名第一的时候,这一消息当时震惊了世界,美国总统奥巴马在讲
话中把它当成中国重要的科技成就之一,并用它来激励美国人奋发向上。我国国家超级计算
济南中心装配的神威蓝光系统是国内首台全部采用国产自主中央处理器和系统软件构建的千
万亿次计算机系统,标志着我国成为继美国、日本之后能够采用自主中央处理器构建千万亿
次计算机的国家。
1.1.4 HPC 架构分类
1.SMP 小型机
小型机是指运行原理类似于个人计算机和服务器,但性能和用途又与它们截然不同的
一种高性能计算机,它是20 世纪70 年代由数字设备公司(DEC)首先开发的一种高性能计
算产品。
SMP 小型机的主要特点是所有的CPU 共享全部资源,如总线、内存和I/O 系统等,但
只有一个操作系统,如图1-5 所示。SMP 小型机具有高运算处理能力(high performAnce)、高
可靠性(reliAbility)、高服务性(serviceAbility)、高可用性(AvAilAbility),以商务计算为主,易
编程,可扩展性差。
典型的SMP 小型机有IBM System p5 510Q、HP 9000 rp3440-4(PA-8900)、曙光天演
EP850-G20、浪潮SMP2000。
图1-5 SMP 小型机结构图
2.大规模并行处理机
大规模并行处理机(MPP)的计算节点采用商用的微处理器,具有物理上的分布式存储
器,程序由多个进程组成,每个进程都有其私有的地址空间,进程间通过消息传递进行交
互,如图1-6 所示。MPP 的主要特点是:较SMP 小型机更易扩展到较大规模,但编程不易,
性价比、通用性、可用性相对较低,曾停止发展,每个节点只访问本地内存和存储器,节
点之间的信息交互与节点本身的处理是并行进行的,是一种完全不共享的方式。
MPP 的典型机器有CrAy T3E、神威蓝光、曙光-1000、泰坦(2012 年11 月Top500 排名
第一)、红杉(2012 年6 月Top500 排名第一)等。
展开