超级计算机

超级计算机（Supercomputer），指能够执行一般个人电脑无法处理的高速运算的计算机，规格与性能比个人计算机强大许多。现有的超级计算机运算速度大都可以达到每秒一万次以上。“超级计算”（supercomputing）这名词第一次出现，是在1929年《纽约世界报》关于IBM为哥伦比亚大学建造大型制表机（tabulator）的报导。

1960年代，超级计算机由西摩·克雷在控制数据公司里设计出来并领先市场直到1970年代克雷创立自己的公司──克雷研究。凭着他的新设计，他控制了整个超级计算机市场，并占据颠峰位置长达五年（1985年－1990年）。到了1980年代，正值小型计算机市场萌芽阶段，大量小型对手加入竞争。在1990年代中期，很多对手受不了市场的冲击而消声匿迹。今天，超级计算机成了一种由像IBM及惠普等大型计算机公司所特意设计的计算机。虽然这些公司通过不断并购其他公司而增强了自己的经验，克雷研究依然是超级计算机领域的巨头之一。

## 历史

“超级计算机”一词并无明确定义，其含义随计算机业界的发展而发生变化。早期的控制数据公司机器可达十倍速于竞争对手，但仍然是比较原始的标量处理器。到了1970年代，大部分超级计算机就已经是向量处理器了，很多是新进者自行开发的廉价处理器来攻占市场。1980年代初期，业界开始转向大规模并行计算系统，这时的超级计算机由成千上万的普通处理器所组成。1980年代中叶，将适量的向量处理器（一般由8个到16个不等）联合起来进行并行计算成为通用的方法。1990年代以后到21世纪初，超级计算机则主要互联基于精简指令集的张量处理器（譬如PowerPC、PA-RISC或DEC Alpha）来进行并行计算。

## 用途

超级计算机常用于需要大量运算的工作，譬如数值天气预报、运算化学、分子模型、天体物理模拟、汽车设计模拟、密码分析等。

<image>

<image>

## 设计

超级计算机的创新设计在于把复杂的工作细分为可以同时处理的工作并分配于不同的处理器。他们在进行特定的运算方面表现突出，但在处理一般工作时却不那么优秀。他们的数据结构是经过精心设计来确保数据及指令及时送达——传递速度的细微差别可以导致运算能力的巨大差别。其输入／输出系统也有特殊设计来提供高带宽，但是这里的数据传输延迟却并不重要——超级计算机并非数据交换机。

根据阿姆达尔定律，超级计算机的设计都集中在减少软件上的序列化、用硬件在瓶颈上加速。

### 技术挑战及其解决方案

- 超级计算机通常产生大量的高热，冷却超级计算机是一个很大的问题。
- 因为资料传送的速度不能比光快，几米的距离导致了几十奈秒的延迟，而克雷著名的环型设计保持了最短距离。
- 超级计算机在短时间内消耗及生产大量的数据，需要投入很多资源确保资讯妥善传送及存取。

因超级计算机而开发的技术：

- 矢量处理器和张量处理器
- 水冷技术
- 非均匀访存模型

### 处理器技术

矢量处理因超级计算机而建立并用于高性能运算。矢量处理技术后来被用于普通计算机内的信号处理架构及单指令流多数据流，例如：家用游戏机及通用图形处理器等。

### 操作系统

一般的超级计算机都使用Unix或类Unix操作系统，但在讲求绝对高效能的操作环境时，超级计算机开发人员会动用特别的轻量级核心（Light Weight Kernel－LWK），减少中断请求、行程间通讯等开销以提高效能。

轻量级核心包括Cray XT3的Catamount，Cray XT4的CNL (Compute Node Linux)，以及IBM蓝色基因的CNK（Compute Node Kernel）。

### 编程环境

讯息传递界面及较旧的并列虚拟机器（PVM）常用于非共享内存系统（Distributed Memory System），而OpenMP常用于共享内存并行系统。

传统上Fortran的编译器可以产生比C或C++更高效能目的码，所以Fortran仍然被使用作科学编程。

### 优化编译器

超级计算机需要编译器优化技术以产生优佳的目的码，现今的优化编译器都对向量化（Vectorization）、程式循环、内存阶层及数据局部性进行优化。

此外，优化编译器都以高层次的中间表示（Intermediate Representation）优化程式 － 包括Open64编译器的WHIRL、IBM XL编译器的Wcode。

### 数学函数库

超级计算机主要执行科学运算等拥有大量向量及矩阵浮点计算的程式，因此优化常用的数学函数会提高运算效能。BLAS函数库使向量及矩阵浮点计算效能大大提高，而优佳化数学函数库则提高三角函数及平方根等数学运算。

### 平行档案系统

平行档案系统属于分散式档案系统的一类，支援多客户端节点、多档案系统服务器，以及支援平行I/O（如MPI-IO、HDF5）；现今流行的平行档案系统包括Lustre和PVFS。

### 网络技术

超级计算机节点之间的通信一般都需要使用高性能的网络界面，现今大多TOP500的超级计算机使用以太网路（44.8%）及InfiniBand（41.8%）。

传统上InfiniBand比以太网路有更高的带宽，同时因操作系统呼叫省略（Operating System Bypass）而提供更低的延迟时间（latency）；然而2011年思科系统开发VFIO技术于超级计算机和丛集应用，使一般的以太网路界面也能提供低延迟时间，从而提升以太网路在超级计算机的应用层面。

## 通用超级计算机的类型

大致上可以分为三种：

- 矢量处理机器能为大量数据同时进行同样的运算。
- 丛集式处理器特别建立连接处理器及记忆体的通信网络，非均匀访存模型就是最常见的。最快的超级计算机就是使用这个科技。
- 商品计算机丛集使用高带宽低延误的网络来连接大量普通商品计算机，建设成一个计算机丛集。

根据摩尔定律及经济规模，一个现代的桌面计算机比15年前的超级计算机有更高性能，皆因某些超级计算机的设计已经放在桌面计算机内。再者，简单芯片的开发及生产成本比特意设计给超级计算机的更便宜。

超级计算机所处理的问题都适合并行化，当中减少处理单元之间的资料传送量。因此，传统的超级计算机可以被计算机丛集所代替。

## 最快的超级计算机

<image>

TOP500列表排名世界上最快的500台超级计算机GREEN500 列表排名世界上最节能的超级计算机

### 速度单位

超级计算机速度以每秒浮点运算次数"FLOPS"（floating-point operations per second）来作量度单位，常见的表示计算机中的峰值或速度用的单位英汉对照如下：

- 一个MFLOPS（megaFLOPS）等于每秒100万（=106）次的浮点运算
- 一个GFLOPS（gigaFLOPS）等于每秒10亿（=109）次的浮点运算
- 一个TFLOPS（teraFLOPS）等于每秒1万（=1012）次的浮点运算
- 一个PFLOPS（petaFLOPS）等于每秒1千万（=1015）次的浮点运算
- 一个EFLOPS（exaFLOPS）等于每秒100京（=1018）次的浮点运算

此外，由于浮点积和熔加运算或乘积累加是两次的浮点运算（每条FMA指令包括加/减及乘），因此当处理器支援FMA指令时，峰值是两倍每秒所能执行FMA指令的数目。

### 目前最快的超级计算机

截至2022年6月1日，目前全球最快的超级电脑是AMD与美国能源局橡树岭实验室合作打造的超级电脑“Frontier”，运算能力是1.102 ExaFLOPS，和二名的日本理化学研究所（Riken）与富士通（Fujitsu）共同研发的“富岳”（Fugaku）运算能力415.53 PFLPOS约2.6倍。“Frontier”采用AMD代号“Milan”的第三代EPYC服务器处理器，搭配OCP加速器模组设计的Instinct MI250X加速绘图卡构成，这也是超级电脑再次由x86架构夺下第一名。

### 目前最节能的超级计算机

截至2017年11月14号，世界上最节能的超级计算机是日本国立理化学研究所的菖蒲超级计算机B型。

### 过往的超级计算机

<image>

- 2009年10月，中国研制的第一台千万亿次超级计算机在湖南长沙亮相，全系统峰值性能为每秒1.206PFlops。这台名为天河一号的计算机位居同日公布的中国超级计算机前100强之首，也是当时世界上最快的超级计算机。天河一号的研制成功使中国成为继美国之后世界上第二个能够研制千万亿次超级计算机的国家。
- 2008年11月，IBM的Roadrunner成为当时最快的超级计算机，运算能力为1.105PFlops。
- 2008年11月16日，克雷公司推出美洲虎系列，运算能力为1.059PFlops，采用45376颗四核心的Opteron处理器，362太字节的内存，传输总带宽284GB/Sec，硬盘容量超过10拍字节，内部的资料总线带宽532太字节/秒。这台计算机将放置在美国的国家高速计算机中心，并开放给各界有需要的团体申请使用。
- 2007年11月，IBM的Blue Gene/L，运算能力为478.2 TFlops，安装了32768个处理器。它是PowerPC架构的修改版本，正式运作版本被推出到很多地点，包括罗兰士利物摩亚国家实验室。
- 在Blue Gene/L之前，最快的超级计算机是日本电气株式会社在横滨地球科学学院的地球模拟器。它由640个特别设计的8阶矢量处理器根据NEC SX-6架构所组成的丛集，使用Unix的修改版本。
- 在地球模拟器之前，最快的超级计算机是美国加州罗兰士利物摩亚国家实验室的ASCI White，它的冠军位置维持了2.5年。

### 类超级运算

<image>

- 某些分布式运算把丛集超级运算推至极限。例如SETI@home计划现在平均有667.716 TeraFLOPS运算能力。
- 2009年4月，Folding@home声称拥有超过8PFLOPS运算能力。
- GIMPS运算能力也高达18TFLOPS。
- Google的搜寻引擎系统Google数据中心总处理能力界乎于126及316TFLOPS之间。Tristan Louis估计这个系统等于32000至79000台双2 GHzXeon计算机。由于散热问题，Google的搜寻引擎系统应该属于网格运算。

## 超级电脑时间线

年份｜国家｜超级电脑名称｜每秒浮点运算次数｜地点

1942年｜Q522906｜30 OPS｜美国爱荷华州立大学

英国｜Q376223Q5693526｜200 OPS｜英国布莱切利园

1944年｜英国｜Q954437巨人计算机｜5 kOPS｜英国Dollis Hill Post Office Research Station

1946年｜宾夕法尼亚大学电子数值积分计算机｜100 kOPS｜美国马里兰州战争部阿伯丁试基地

1954年｜国际商业机器公司NORC｜67 kOPS｜美国维珍妮亚州海军试验基地

1956年｜麻省理工学院Q521408｜83 kOPS｜美国麻省理工学院

1958年｜国际商业机器公司Q963418｜400 kOPS｜美国空军23号基地

1960年｜通用自动计算机Q694960｜250 kFLOPS｜美国加州Q519826

1961年｜Q984038｜1.2 MFLOPS｜美国新墨西哥州洛斯阿拉莫斯国家实验室

1964年｜CDC 6600｜3 MFLOPS｜美国加州Q519826

1969年｜CDC 7600｜36 MFLOPS

1974年｜Q3648629｜100 MFLOPS

1975年｜Q256593Q935306｜150 MFLOPS｜美国加州Q181052

1976年｜Q1093705｜250 MFLOPS｜美国新墨西哥州洛斯阿拉莫斯国家实验室

1981年｜CDC Cyber 205｜400 MFLOPS｜（世界很多地方）

1983年｜Q266882/4｜941 MFLOPS｜美国新墨西哥州洛斯阿拉莫斯国家实验室，波音公司

1984年｜2.4 GFLOPS｜苏联Q4314493

1985年｜Cray-2/8｜3.9 GFLOPS｜美国加州Q519826

1988年｜大韩民国｜Cray-2S｜2 GFLOPS｜韩国科学技术情报硏究院

1989年｜Q3717486-G/8｜10.3 GFLOPS｜美国佛罗里达大学

1990年｜日本｜日本电气-3/44R｜23.2 GFLOPS｜日本府中市NEC府中厂

1993年｜Q1060611Q1126252-5/1024｜65.5 GFLOPS｜美国新墨西哥州洛斯阿拉莫斯国家实验室；美国国家安全局

大韩民国｜Cray-C90｜韩国科学技术情报硏究院

日本｜富士通Q1985354｜124.50 GFLOPS｜Q4988947

1993年｜英特尔Q652367 XP/S 140｜143.40 GFLOPS｜美国Q1736748

1994年｜日本｜富士通Q1985354｜170.40 GFLOPS｜Q4988947

1996年｜日本｜日立制作所Q5871675/1024｜220.4 GFLOPS｜日本东京大学

日本｜日立制作所/筑波大学 CP-PACS/2048｜368.2 GFLOPS｜日本筑波市Q11602855

1997年｜英特尔Q297317/9152｜1.338 TFLOPS｜美国Q1736748

1999年｜英特尔Q297317/9632｜2.3796 TFLOPS

2000年｜国际商业机器公司Q635527｜7.226 TFLOPS｜美国加州Q519826

2002年｜日本｜日本电气地球模拟器｜35.86 TFLOPS｜Q1683113

2004年｜国际商业机器公司蓝色基因/L｜70.72 TFLOPS｜美国能源部；国际商业机器公司

2005年｜136.8 TFLOPS｜美国能源部/NNSA/LLNL

280.6 TFLOPS

2007年｜478.2 TFLOPS

2008年｜国际商业机器公司走鹃｜1.026 PFLOPS｜美国新墨西哥州洛斯阿拉莫斯国家实验室

1.105 PFLOPS

2009年｜橡树岭国家实验室美洲虎｜1.759 PFLOPS｜美国橡树岭国家实验室

2010年｜中国｜天河一号｜2.566 PFLOPS｜中国天津国家超级计算天津中心

2011年｜日本｜RIKEN 京（K-Computer）｜10.51 PFLOPS｜日本国立理化学研究所

2012年｜国际商业机器公司蓝色基因/Q｜16.32475 PFLOPS｜美国劳伦斯利福摩尔国家实验室

2012年｜大韩民国｜雷 (超级计算机)｜107 TFLOPS｜韩国首尔大学计算机工程学系

2012年11月13日｜橡树岭国家实验室泰坦｜17.59 PFLOPS｜美国橡树岭国家实验室

2013年｜中国｜天河二号｜33.86 PFLOPS｜中国广州国家超级计算广州中心

2016年｜中国｜神威·太湖之光｜93.01 PFLOPS｜中国无锡国家超级计算无锡中心

2018年｜高峰｜122.3 PFLPOS｜美国能源部所属实验室

2020年｜日本｜富岳｜415.53 PFLPOS｜日本神户市中央区理化学研究所RIKEN电脑科学中心（R-CCS）

2022年｜Frontier｜1.102 EFLOPS｜美国能源部所属实验室

## 专用超级计算机

专用超级计算机都是针对单一问题而开发的计算机。这些计算机都使用专门编程的FPGA芯片及超大型密集芯片，纵然牺牲普遍性也要提高成本效能比率。它们被用于天文物理学及密码破解之上。

例子：

- 深蓝，专门用于分析国际象棋
- GRAPE，天文物理
- Deep Crack，DES解码器

## 科幻中的超级计算机

- Matrix-“母体”是电影《骇客任务》中，由机器所创造出的一个模拟环境，用以控制人类，并从人类身上吸取能源。
- SkyNet-“天网”是电影《魔鬼终结者》中美国军方所开发具有人工智能的超级计算机，但后来它具有自我意识而以全人类为敌。
- ARIIA-“爱莉亚”是电影《鹰眼》中美国军方所开发具有人工智能的超级计算机，但后来它以自我威胁判断而决心消灭美国既有领导阶层。
- V.I.K.I.-“薇琪”是电影《机械公敌》中由美国USR公司所开发具有人工智能的超级计算机，但后来它以自我学习认定人类有自毁倾向，必须消灭所有威胁改由机器人监护才会有未来。
- MAGI-“麦棋”是动漫《新世纪福音战士》中，设立于NERV总部由三台主机组成的超级计算机。MAGI是古代三贤人的称呼，他们是耶稣诞生的时候赠送耶稣礼物的东方三贤人。与使徒的对战中，用以判断使徒的降落点与分析使徒弱点，提供攻击方针以及成功几率做参考数值。特别的是将三个不同的人格加入了三个主机当中，分别是科学家、母亲、女性，在理性的计算之外也拟人的加入性格作为判断的依据。当判断有冲突时，三贤人系统会以投票机制做最后定夺。
- HAL 9000-《2001年太空漫游》中主角鲍曼所乘搭的太空船发现号的主机，被安装了可以在必要时杀死乘员的功能。
- TRANSLTR是丹·布朗（Dan Brown）的小说-《数位密码》中美国国家安全局所暗中开发的超级计算机，主要用来监听互联网封包，破解一切可能对国家安全造成威胁的加密讯息，包括加密的电子邮件，但是它的存在不被政府所承认。
- Veda-“吠陀”是日本动漫《机动战士GUNDAM 00》中由雪儿·亚克斯迪卡（Chall Acustica）所整合的量子型计算机，由天人组织（Celestial Being）所使用，连接上地球所有网络，瞬间获得任何资讯，计算出预算方案。能与所谓“变革者”（Innovator）及原始变革者以脑量子波为媒介进行同步连接。有两台，一台在第二季终战后交由地球联邦掌管，第二台由冯恩史帕克取得，但内部资料已经被删除。
- X.A.N.A，来自动漫Code Lyoko一台有人工智能的超级计算机，原用于计算，后用与摧毁军事机密，有倒转时空的能力。他的发明者后来发现此功能后不断使用，导致X.A.N.A不断自我升级。最后X.A.N.A通过计算得出结论：主宰地球。于是不断发动X.A.N.A的环境平台‘Lyoko’里的圆塔（开启后可用于计算使用并能实现虚拟事物现实化）通过电缆对人类进行破坏。后来它能够实体化，把‘lyoko’删除了，但是被潜伏在世界上其他超级计算机里的发明者发回了‘Lyoko’原资料，‘Lyoko’才得以重建。
- 树状图设计者，来自日本动漫《魔法禁书目录》和《科学超电磁炮》中以分析气象资料为借口，搭载于织女星一号卫星上的超级计算机；每月会运算一次地球上所有空气粒子运动，可一次运算一个月的天气；其他日子就用来对学园都市的许多研究进行科研运算。在《魔法禁书目录》中被茵蒂克丝的魔法在太空中击毁，而其核心被回收之后被一方通行彻底摧毁。
- MOSS（原名：550W），是电影《流浪地球》系列中的智能量子计算机，有自我意识、自我迭代、自我更新的特点。550W开发于量子计算机550A、550C之后，MOSS是它给自己起的名字，负责管理空间站事务，是流浪地球计划与火种计划的监督者和执行者。
- 帝皇权杖-是游戏《崩坏：星穹铁道》中以博识尊的废弃神经元δ-me13为蓝本，所制出来名为帝皇权杖的超级电脑，用来进行世界的模拟。

## 外部链接

超级计算资源

- TOP500 超级计算机列表
- 中国超级计算机行业

超级计算中心及组织

- 上海超级计算中心
- 国家高速网路与计算中心 ——位于台湾新竹市，是中华民国国家实验研究院的附属机构。
- 劳伦斯利福摩尔国家实验室 (LLNL)高性能计算主页 ——位于美国的劳伦斯利福摩尔国家实验室
- HPCx ——英国超级计算机服务，由EPCC及Daresbury实验室营运
- 国家超级计算无锡中心（神威·太湖之光）