高效能计算机系统设计与应用

高效能计算机系统设计与应用

王恩东, 等著

出版社:科学出版社

年代:2014

定价:60.0

书籍简介:

本书主要介绍了高效能计算机的发展历史及系统分类,当前世界上最先进的千万亿次级别的高效能计算系统,构建高效能计算系统的一般规则,并以十万亿次,二十万亿次系统举例,以清华大学百万亿次系统作为实力详细分析如何进行整体设计与建设。并介绍了高效能计算系统的应用和软件运行环境。在专著中,深入地讲解了并行计算应用软件的开发,包括当前最先进的异构并行计算的原理和开发,针对高效能计算的应用进行了总结,概括了应用的特征和方法论等。最后,对未来高效能计算机的发展做了展望,分析了百亿亿次级高效能计算机的实现前景。

作者介绍:

王恩东,长期从事服务器与存储技术研究,提出了多项体系结构设计方法,主持研制出国内首台32路主机系统和PB级海量存储等系列产品,实现重大创新和应用。发表论文14篇,专著1部,授权发明专利13项,以第一完成人获国家科技进步二等奖2项,省部科技进步一等奖3项,2009年获何梁何利基金科学与技术创新奖,2010年获山东省科学技术最高奖。担任高效能服务器和存储技术国家重点实验室主任、浪潮集团首席科学家,兼任863计划先进计算主题专家、973项目首席科学家,被授予国务院特殊津贴专家、百千万人才工程国家级人选、万人计划科技创新领军人才等荣誉称号。

书籍目录:

目 录

第1 章 高效能计算机的系统架构 · 1

1.1 高效能计算机发展与系统分类 1

1.1.1 HPC 的定义 · 1

1.1.2 HPC 的诞生 · 1

1.1.3 HPC 发展与应用 · 2

1.1.4 HPC 架构分类 · 6

1.1.5 HPC 发展遭遇的瓶颈 8

1.2 异构并行技术的兴起 9

1.3 新型众核芯片的发展 · 13

第2 章 千万亿次计算时代的高效能计算机 · 16

2.1 国际上领先的千万亿次高效能计算机· 16

2.2 中国走入千万亿次时代 18

2.2.1 天河1 号与天河2 号 19

2.2.2 神威蓝光 22

第3 章 高效能计算系统构建的一般规则 24

3.1 高效能集群计算系统的组成 · 25

3.2 构建性能均衡的高效能计算系统 28

3.3 高效能计算系统的管理 29

3.3.1 监控管理 30

3.3.2 作业调度 31

第4 章 十万亿次级别高效能计算系统设计 · 33

4.1 构建十万亿次的高效能计算系统 33

4.1.1 以同构方式构建十万亿次集群 35

4.1.2 以异构方式构建十万亿次集群 37

4.2 构建二十万亿次的高效能计算系统 · 37

第5 章 百万亿次级别高效能计算系统设计 · 41

5.1 集群架构设计 41

5.1.1 方案概述 41

5.1.2 集群总体描述 42

5.1.3 系统拓扑图 42

5.1.4 计算节点 43

5.1.5 管理/登录/调度节点 44

高效能计算机系统设计与应用

·vi·

5.1.6 GPU 节点 44

5.1.7 并行文件存储系统 44

5.1.8 计算网络 45

5.1.9 管理网络 45

5.1.10 IPMI 专用网络 46

5.2 机房建设与改造 47

5.2.1 机房设计总体原则 47

5.2.2 机房总体设计依据 48

5.2.3 机房环境要求 49

5.2.4 机房改造整体规划 49

5.3 绿色低功耗设计 51

5.4 全方位实时监控 52

5.4.1 监控说明 52

5.4.2 监控系统结构描述 53

5.4.3 监控子系统的实现和功能 · 54

5.4.4 监控系统功能描述 57

第6 章 高效能计算机应用环境的构建 58

6.1 CPU 并行系统应用环境构建 58

6.1.1 硬件环境构建 58

6.1.2 软件环境构建 59

6.1.3 开发环境构建 60

6.2 异构并行系统应用环境构建 · 62

6.2.1 硬件环境构建 63

6.2.2 软件环境构建 64

6.2.3 开发环境构建 66

第7 章 高效能并行应用软件开发 70

7.1 CPU 并行系统的应用开发 · 70

7.1.1 CPU 并行系统的应用计算模式 70

7.1.2 CPU 并行系统的应用软件开发 71

7.2 异构并行系统的应用开发 77

7.2.1 异构并行应用软件概述 · 77

7.2.2 CPU+GPU 异构并行应用软件开发 78

7.2.3 CPU+MIC 异构并行应用软件开发 · 96

第8 章 高效能计算综合评测体系 ·113

8.1 高效能计算应用的发展现状 113

8.1.1 高效能计算技术对应用的影响 113

8.1.2 高效能计算应用的现状和挑战 114

目 录

·vii·

8.2 传统高效能计算系统评测 ·115

8.3 浪潮高效能计算应用评测 ·118

8.3.1 高效能计算应用评测方法 118

8.3.2 高效能计算理论原理性能预测 · 122

8.4 浪潮高效能计算应用需求的划分 124

8.5 高效能计算应用特征剖析示例 · 126

8.5.1 计算密集型应用 126

8.5.2 内存约束型应用 132

8.5.3 存储密集型应用 140

8.5.4 网络密集型应用 147

8.6 高效能计算学科方向研究进展和展望 152

8.6.1 材料科学与量子化学 152

8.6.2 生命科学与分子动力学 154

8.6.3 大气科学 · 155

8.6.4 石油地质勘探· 156

8.6.5 计算流体力学与CAE 仿真 158

第9 章 百亿亿次超级计算机展望 160

9.1 百亿亿次超级计算机面临的挑战 161

9.1.1 百亿亿次对系统的影响 161

9.1.2 百亿亿次对应用的影响 163

9.2 百亿亿次超级计算机设计构想 · 170

参考文献 · 176

第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 诞生

高效能计算机系统设计与应用

·2·

于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 进行了实践,比较著名的有思维机器公

第1 章 高效能计算机的系统架构

·3·

司(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)所代替,

高效能计算机系统设计与应用

·4·

同时一些专用系统网络(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

高效能计算机系统设计与应用

·6·

的运算速度荣登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 排名第一)等。

第1 章 高效能计算机的系统架构

·7·

图1-6 MPP 结构图

3.向量机

向量机使用超大规模集成电路技术、高密度组装和光电子技术、可扩展技术,共享虚拟

存储空间。并行向量机依靠单纯地提高向量处理器的数量来扩展规模,一方面交叉开关网络

实现非常庞大,另一方面由于定制的向量处理器价格昂贵,维护费用也比较高,所以并行向

量机的性价比迅速下降。然而,超级计算机一味依赖于政府和军方的支持、不计成本、只求

性能的时代已经过去,因此向量机走向没落成为必然,目前已不再单独发展。

典型的向量机有克雷公司的CrAy 系列(CrAy-1、CrAy-2)等。

4.ccNUMA

ccNUMA(缓存一致的非一致性存储访问架构)多处理机模型是将一些SMP 机器作为一

个单节点而彼此连接所形成的一个较大的系统。不同节点内的CPU 可以访问到其他节点中的

内存,利用NUMA 技术可以很容易地使服务器扩展到16 路、32 路,甚至64 路,据悉目前

理论上最多可扩展到512 路。ccNUMA 兼顾可扩展性和可编程性,基本特征是具有多个CPU

模块,每个CPU 模块由多个(如4 个)CPU 组成,并且具有独立的本地内存、I/O 接口等,如

图1-7 所示。访问内存不同的区域具有不一致的延迟。

图1-7 ccNUMA 结构图

高效能计算机系统设计与应用

·8·

ccNUMA 的典型机器包括HP 的Superdome、SGI 的Altix 3000、IBM 的x440、NEC 的

TX7。

现在普遍使用的ccNUMA 的CPU 模块之间一直保持着通信,所以CPU1 访问CPU2 的

内存就好像访问CPU1 的内存一样,只是时长会比直接访问CPU1 内存的时间稍微长一点。

5.专用机

专用超级计算机(专用机)都是针对单一问题而开发的,以提升计算速度,解决计算速

度与体积、功耗的矛盾。专用超级计算机一般使用专门编程的FPGA 芯片(见图1-8)或超大

型密集芯片,牺牲普遍性来换取效能的提高,被用于解决天文物理学或者宇宙模型等超大

规模问题。

典型的专用机有Belle、Deep Blue、HydrA(运行国际象棋软件)、GrAvity Pipe(天体物理

学)、MDGRAPE-3(蛋白质结构计算分子动力学)、Deep CrAck(DES 密码破解)等。

图1-8 FPGA 芯片内部结构图

1.1.5 HPC 发展遭遇的瓶颈

随着高性能计算技术的发展,高性能计算机(HPC)的应用领域越来越广,需求量也越来

越大,对高性能计算机的性能也提出了更高的要求。高性能计算机的迅猛发展与不断普及也

遭遇到一些瓶颈,主要表现在技术和使用两方面。

1.技术瓶颈

技术瓶颈主要表现在内存墙、编程墙和复杂性墙三方面。

(1) 内存墙。内存墙主要指系统结构的失衡问题,CPU 速度大约每18 个月增长一倍,

而内存速度增长一倍则需要10 年,由此形成了阻碍性能提升的内存墙。

(2) 编程墙。在编程方面,用户为完成一个具体的并行应用,在建模、编码、调试、优

化、运行、维护和故障处理上所遇到的各种困难交错形成了编程墙。

第1 章 高效能计算机的系统架构

·9·

(3) 复杂性墙。在管理方面,高性能计算机软硬件系统交织,管理的复杂性随计算机规

模成倍增长,形成了新的复杂性墙。

内存墙、编程墙和复杂性墙的存在为高性能计算机的应用设置了重重障碍,目前的高性

能计算系统在解决这些挑战性问题上与应用的需求差距较远。通过不同的方式来提高系统可

靠性(如多核处理器的可靠性设计等),也就提高了系统的性能。在当前T 级(万亿次)高性能

计算机的研制中,如何综合采取各种硬件可靠性设计方法,结合软件的容错技术构建高可靠

性的超大规模系统始终是高性能计算机研制中面临的一个重要问题。

2.使用瓶颈

(1) 能耗瓶颈。由于计算集群的大规模化,高性能计算机的耗电问题成了一个非常严重

的问题。高性能计算机能耗的增加主要体现在CPU 功耗的增加、芯片组和外围设备的能耗,

以及机房制冷和供电设备的能耗。

(2) 应用瓶颈。高性能计算机主要分布在科研院所、大学以及石油勘探、气象预报、军

事科学等应用部门,地域分布不均匀。资源分布的不均匀和资源访问的困难,使得不少高性

能计算机潜在用户放弃了应用的打算。这种资源分布的不均匀性一方面使需要资源的用户难

以获得资源,另一方面也造成了宝贵资源的闲置和浪费。

(3) 软件瓶颈。任何一台计算机都离不开硬件和软件。在国内,高性能计算领域出现了

“轻软偏硬”的局面,硬件越来越先进,软件却迟迟未能跟进。这在某种程度上限制了高性能

计算机在更广范围的普及和应用。因为以前所有适用于单CPU 的串行计算软件不能用在高性

能计算机上,所以软件的开发方式需要从根本上改变,基础算法不一样,软件需要重新编写。

因此,与适用于单CPU 的大量软件相比,可用在高性能计算机上的软件很少。另外,现有软

件的兼容性、可维护性也存在一定程度的缺陷。

总之,新一代高性能计算系统不应该再单纯地追求理论上的峰值速度,而应该关心如何

为应用设计平衡的计算系统。例如,如何提供方便好用、易于维护、稳定可靠的应用平台,

如何提高系统的可管理性,如何拓宽高性能计算机的应用范围。

1.2 异构并行技术的兴起

传统高性能计算机存在能耗和性能方面的两大瓶颈,从而促使异构并行技术兴起。

采用多台同类型的计算节点组成的高性能计算机一般用于运算大量分布式的应用程序,

计算节点中的CPU 一般采用同厂家的同架构处理器,根据处理器数目按需求配置内存,计算

节点间采用InfiniBAnd 等高带宽、低延迟的互连设备安全高效地进行网络互连。从具体产品

特性上来看,英特尔、AMD、IBM、Sun 等厂商的传统处理器都是典型的多核多线程同构并

行结构。

有别于由相同的CPU 组成一个同构的计算环境的多路服务器,异构并行服务器是指采用

不同类型的高性能计算节点组成计算集群,如采用CPU+GPU 模式,或者使用CPU 和硬件电

路(如FPGA)合作完成硬件功能等来实现异构并行,以提高系统的计算能力。

CPU 为冯·诺依曼结构,计算时串行地执行一系列指令,经过几十年的发展,CPU 性能

提升的空间越来越小。对于越来越注重浮点运算能力的服务器或高性能计算机,要想获得更

高效能计算机系统设计与应用

·10·

高的浮点运算性能,完全靠提升CPU 性能已难以实现。因此,异构并行技术是高性能计算机

发展的主要途径和必然趋势。

目前主流的异构并行模式主要分为CPU+GPU、CPU+FPGA 和CPU+MIC 三大类。

1.CPU+GPU 异构并行环境

随着人们对视觉化的要求逐渐提高,用户对于图像处理的要求不断超出处理器的计算能

力,尤其是进入3D 时代后,庞大的3D 图像处理数据计算使得CPU 越来越不堪重负,并且

远远超出其计算能力。一方面,图形计算需求日益增多,另一方面,随着计算机显示芯片的

飞速发展,图形和图像的计算功能被剥离出来,单独由一块芯片完成,即图形处理器(GrAphics

Processing Unit,GPU),也就是显卡。

2008 年显卡的计算能力开始被用在实际的计算中。通用图形处理器(GenerAl-Purpose

computing on GrAphics Processing Unit,GPGPU)利用图形处理器来计算原本由中央处理器处

理的通用计算任务,而这些通用计算常常与图形处理没有任何关系。现代图形处理器具有强

大的并行处理能力和可编程流水线,这使得流处理器可以处理非图形数据。特别是在面对单

指令流多数据流(SIMD),且数据处理的运算量远大于数据调度和传输的需要时,通用图

形处理器在性能上大大超越了传统的中央处理器,并且其处理速度也远远超越了传统的

x86 处理器。

GPGPU 表现出了惊人的计算能力,但在显卡进行计算的同时,CPU 处于闲置状态。因

此,处理器厂商也想参与到计算中来,他们希望CPU 和GPU 能够协同运算,完成那些对计

算量有苛刻要求的应用,同时也希望将计算机的处理能力再推上一个新的高峰,于是产生了

CPU+GPU 的并行架构。

GPU 用大量线程实现大规模数据并行计算,具有极高的吞吐量,适合进行计算密集度高、

逻辑分支简单的大规模数据计算。其主要承担并行计算任务,用于计算密集型程序的计算。

当前的高端GPU 一般有多达上千个单元在同时运行,一个GPU 集群内则可有超过1 万个单

元,尽管GPU 的运行频率低于CPU,但更多的执行单元数量使GPU 在浮点运算能力上远强

于CPU,主流GPU 的浮点运算能力可以达到同时期主流CPU 性能的10 倍甚至100 倍以上。

图1-9 所示为CPU 与GPU 异构体系结构图。从图中可以看出,GPU 的体系结构中有大

量的并行计算核心,在图形应用领域,程序大多是在规整的数据上进行大量密集的并行计算,

并且访存的延迟可以通过线程切换来隐藏,从而成就了GPU 的高性能。

图1-9 CPU 与GPU 异构体系结构图

5.1.6 GPU 节点 44

5.1.7 并行文件存储系统 44

5.1.8 计算网络 45

5.1.9 管理网络 45

5.1.10 IPMI 专用网络 46

5.2 机房建设与改造 47

5.2.1 机房设计总体原则 47

5.2.2 机房总体设计依据 48

5.2.3 机房环境要求 49

5.2.4 机房改造整体规划 49

5.3 绿色低功耗设计 51

5.4 全方位实时监控 52

5.4.1 监控说明 52

5.4.2 监控系统结构描述 53

5.4.3 监控子系统的实现和功能 · 54

5.4.4 监控系统功能描述 57

第6 章 高效能计算机应用环境的构建 58

6.1 CPU 并行系统应用环境构建 58

6.1.1 硬件环境构建 58

6.1.2 软件环境构建 59

6.1.3 开发环境构建 60

6.2 异构并行系统应用环境构建 · 62

6.2.1 硬件环境构建 63

6.2.2 软件环境构建 64

6.2.3 开发环境构建 66

第7 章 高效能并行应用软件开发 70

7.1 CPU 并行系统的应用开发 · 70

7.1.1 CPU 并行系统的应用计算模式 70

7.1.2 CPU 并行系统的应用软件开发 71

7.2 异构并行系统的应用开发 77

7.2.1 异构并行应用软件概述 · 77

7.2.2 CPU+GPU 异构并行应用软件开发 78

7.2.3 CPU+MIC 异构并行应用软件开发 · 96

第8 章 高效能计算综合评测体系 ·113

8.1 高效能计算应用的发展现状 113

8.1.1 高效能计算技术对应用的影响 113

8.1.2 高效能计算应用的现状和挑战 114

8.2 传统高效能计算系统评测 ·115

8.3 浪潮高效能计算应用评测 ·118

8.3.1 高效能计算应用评测方法 118

8.3.2 高效能计算理论原理性能预测 · 122

8.4 浪潮高效能计算应用需求的划分 124

8.5 高效能计算应用特征剖析示例 · 126

8.5.1 计算密集型应用 126

8.5.2 内存约束型应用 132

8.5.3 存储密集型应用 140

8.5.4 网络密集型应用 147

8.6 高效能计算学科方向研究进展和展望 152

8.6.1 材料科学与量子化学 152

8.6.2 生命科学与分子动力学 154

8.6.3 大气科学 · 155

8.6.4 石油地质勘探· 156

8.6.5 计算流体力学与CAE 仿真 158

第9 章 百亿亿次超级计算机展望 160

9.1 百亿亿次超级计算机面临的挑战 161

9.1.1 百亿亿次对系统的影响 161

9.1.2 百亿亿次对应用的影响 163

9.2 百亿亿次超级计算机设计构想 · 170

参考文献 · 176

内容摘要:

高效能计算机是解决大规模复杂计算任务的重要科研工具。高效能计算机系统设计与应用系统地介绍高效能计算机系统的设计原理与应用案例。高效能计算机系统设计与应用共9 章。第1、2 章分别介绍高效能计算机的基本概念和发展现状;第3 章阐述高效能计算系统构建的一般原则;第4、5 章结合实例详细论述十万亿次级别和百万亿次级别高效能计算系统的设计方法;第6 章介绍高效能计算应用运行环境的构建与配置;第7 章介绍高效能计算系统并行应用软件的开发策略、方法和优化等;第8 章介绍高效能计算的综合评测体系;第9 章展望高效能计算机的发展未来,分析了百亿亿次级别高效能计算机的实现前景。

书籍规格:

书籍详细信息
书名高效能计算机系统设计与应用站内查询相似图书
9787030402813
如需购买下载《高效能计算机系统设计与应用》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位科学出版社
版次1版印次1
定价(元)60.0语种简体中文
尺寸24 × 17装帧平装
页数 240 印数

书籍信息归属:

高效能计算机系统设计与应用是科学出版社于2014.4出版的中图分类号为 TP302.1 的主题关于 计算机系统-系统设计 的书籍。