超级计算机

功能極其強大的計算機類型

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

克雷-2(Cray 2)——1985年至1989年时全球最快计算机

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

历史

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

用途

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

 
商用PC零件组装的超级计算机CLIC,于德国开姆尼茨工业大学
 
1963年使用打孔机的第一代 Atlas超级计算机

设计

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

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

技术挑战及其解决方案

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

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

处理器技术

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

操作系统

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

轻量级核心包括Cray XT3的Catamount[7],Cray XT4的CNL (Compute Node Linux)[8], 以及IBM蓝色基因的CNK(Compute Node Kernel)。[9]

编程环境

讯息传递介面及较旧的并列虚拟机器(PVM)常用于非共享内存系统(Distributed Memory System),而OpenMP常用于共享内存并行系统。[10][11]

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

优化编译器

超级计算机需要编译器优化技术以产生优佳的目的码,现今的优化编译器都对向量化(Vectorization)、程式回圈记忆体阶层及数据局部性进行优化。[12][13][14]

此外,优化编译器都以高层次的中间表示(Intermediate Representation)优化程式 - 包括Open64编译器的WHIRL、[15]IBM XL编译器的Wcode。[16]

数学函数库

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

平行档案系统

平行档案系统属于分散式档案系统的一类,支援多客户端节点、多档案系统伺服器,以及支援平行I/O(如MPI-IO、HDF5);现今流行的平行档案系统包括Lustre和PVFS。[20]

网路技术

超级计算机节点之间的通信一般都需要使用高性能的网路介面,现今大多TOP500的超级计算机使用乙太网路(44.8%)及InfiniBand(41.8%)。[21]

传统上InfiniBand比乙太网路有更高的频宽,同时因作业系统呼叫省略(Operating System Bypass)而提供更低的延迟时间(latency);然而2011年思科系统开发VFIO技术于超级计算机和丛集应用,使一般的乙太网路介面也能提供低延迟时间,从而提升乙太网路在超级计算机的应用层面。[22]

通用超级计算机的类型

大致上可以分为三种:

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

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

最快的超级计算机

 
2015年11月的不同国家/地区之间的超级计算机500强的分布

TOP500列表排名世界上最快的500台超级计算机[23]

GREEN500 列表排名世界上最节能的超级计算机[24]

速度单位

超级计算机速度以每秒浮点运算次数"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指令的数目。[25]

目前最快的超级计算机

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

目前最节能的超级计算机

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

过往的超级计算机

 
IBM蓝色基因
  • 2009年10月,中国研制的第一台千万亿次超级计算机在湖南长沙亮相,全系统峰值性能为每秒1.206PFlops。这台名为天河一号的计算机位居同日公布的中国超级计算机前100强之首,也是当时世界上最快的超级计算机。天河一号的研制成功使中国成为继美国之后世界上第二个能够研制千万亿次超级计算机的国家。
  • 2008年11月,IBMRoadrunner成为当时最快的超级计算机,运算能力为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年。

类超级运算

 
日本富士通理化学研究所开发的超级计算机,已于2019年8月30日退役
  • 某些分布式运算把丛集超级运算推至极限。例如SETI@home计划现在平均有667.716 TeraFLOPS运算能力。[27].
  • 2009年4月,Folding@home声称拥有超过8PFLOPS运算能力。[28]
  • GIMPS运算能力也高达18TFLOPS。
  • Google的搜寻引擎系统Google数据中心总处理能力界乎于126及316TFLOPS之间。Tristan Louis估计这个系统等于32000至79000台双2 GHzXeon计算机[29]。由于散热问题,Google的搜寻引擎系统应该属于网格运算

超级电脑时间线

年份 国家 超级电脑名称 每秒浮点运算次数 地点
1942年   美国 阿塔纳索夫-贝瑞计算机 30 OPS 美国爱荷华州立大学
  英国 电信研究机构英语Telecommunications Research Establishment希思·罗宾逊英语Heath Robinson (codebreaking machine) 200 OPS 英国布莱切利园
1944年   英国 汤米·佛劳斯巨人计算机 5 kOPS 英国Dollis Hill Post Office Research Station
1946年   美国 宾夕法尼亚大学电子数值积分计算机 100 kOPS 美国马里兰州战争部阿伯丁试基地
1954年   美国 国际商业机器公司NORC英语IBM Naval Ordnance Research Calculator 67 kOPS 美国维珍妮亚州海军试验基地
1956年   美国 麻省理工学院TX-0英语TX-0 83 kOPS 美国麻省理工学院
1958年   美国 国际商业机器公司AN/FSQ-7作战指挥中央系统英语AN/FSQ-7 Combat Direction Central 400 kOPS 美国空军23号基地
1960年   美国 通用自动计算机UNIVAC LARC英语UNIVAC LARC 250 kFLOPS 美国加州劳伦斯利佛摩国家实验室
1961年   美国 IBM 7030 Stretch英语IBM 7030 Stretch 1.2 MFLOPS 美国新墨西哥州洛斯阿拉莫斯国家实验室
1964年   美国 CDC 6600 3 MFLOPS 美国加州劳伦斯利佛摩国家实验室
1969年   美国 CDC 7600 36 MFLOPS
1974年   美国 CDC STAR-100英语CDC STAR-100 100 MFLOPS
1975年   美国 巴勒斯英语Burroughs CorporationILLIAC IV英语ILLIAC IV 150 MFLOPS 美国加州艾姆斯研究中心
1976年   美国 克雷1号英语Cray-1 250 MFLOPS 美国新墨西哥州洛斯阿拉莫斯国家实验室
1981年 CDC Cyber 205 400 MFLOPS (世界很多地方)
1983年   美国 克雷X-MP英语Cray X-MP/4 941 MFLOPS 美国新墨西哥州洛斯阿拉莫斯国家实验室波音公司
1984年   苏联 M-13计算机俄语М-13 (электронно-вычислительная машина) 2.4 GFLOPS 苏联莫斯科计算机科学研究学院俄语Научно-исследовательский институт вычислительных комплексов
1985年   美国 Cray-2/8 3.9 GFLOPS 美国加州劳伦斯利佛摩国家实验室
1989年   美国 ETA10英语ETA10-G/8 10.3 GFLOPS 美国佛罗里达大学
1990年   日本 日本电气NEC SX英语NEC SX-3/44R 23.2 GFLOPS 日本府中市NEC府中厂
1993年   美国 思维机器公司Connection Machine英语Connection Machine-5/1024 65.5 GFLOPS 美国新墨西哥州洛斯阿拉莫斯国家实验室美国国家安全局
  日本 富士通Numerical Wind Tunnel英语Numerical Wind Tunnel 124.50 GFLOPS 航空宇宙技术研究所
  美国 英特尔Intel Paragon英语Intel Paragon XP/S 140 143.40 GFLOPS 美国桑迪亚国家实验室
1994年   日本 富士通Numerical Wind Tunnel英语Numerical Wind Tunnel 170.40 GFLOPS 航空宇宙技术研究所
1996年   日本 日立制作所Hitachi SR2201英语Hitachi SR2201/1024 220.4 GFLOPS 日本东京大学
  日本 日立制作所/筑波大学 CP-PACS/2048 368.2 GFLOPS 日本筑波市筑波大学电算物理中心日语筑波大学計算科学研究センター
1997年   美国 英特尔ASCI Red英语ASCI Red/9152 1.338 TFLOPS 美国桑迪亚国家实验室
1999年   美国 英特尔ASCI Red英语ASCI Red/9632 2.3796 TFLOPS
2000年   美国 国际商业机器公司ASCI White英语ASCI White 7.226 TFLOPS 美国加州劳伦斯利佛摩国家实验室
2002年   日本 日本电气地球模拟器 35.86 TFLOPS 海洋研究开发机构
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.51PFLOPS 日本国立理化学研究所
2012年   美国 国际商业机器公司蓝色基因/Q 16.32475PFLOPS 美国劳伦斯利福摩尔国家实验室
2012年11月13日   美国 橡树岭国家实验室泰坦 17.59PFLOPS 美国橡树岭国家实验室
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晶片及超大型密集晶片,纵然牺牲普遍性也要提高成本效能比率。它们被用于天文物理学及密码破解之上。

例子:

科幻中的超级计算机

  • 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’才得以重建。
  • 树状图设计者,来自日本动漫《魔法禁书目录》和《科学超电磁炮》中以分析气象资料为借口,搭载于织女星一号卫星上的超级计算机;每月会运算一次地球上所有空气粒子运动,可一次运算一个月的天气;其他日子就用来对学园都市的许多研究进行科研运算。在《魔法禁书目录》中被茵蒂克丝的魔法在太空中击毁,而其核心被回收之后被一方通行彻底摧毁。

注释

  1. ^ 英语原文为HVAC,即“heating, ventilation, and air conditioning”的首字母缩略字,中文直译为“加热、通风、空调”,是建筑技术领域的一个子领域,这里依照实际情形,略作“通风空调”,因为超级计算机运作时对加热的要求显然不高。

参考文献

  1. ^ 中国超级计算机重返世界之巅 互联网档案馆存档,存档日期2013-06-22.,亚太日报,2013年6月17日
  2. ^ (繁体中文)引入全球及區域譜模式作季度預報 (PDF). 香港天文台. 2007年1月. (原始内容存档 (PDF)于2011-11-03). 
  3. ^ (简体中文)行星流体动力学大规模计算的性能测试与分析页面存档备份,存于互联网档案馆
  4. ^ (中文)GPU加速計算功能應用 (MP4). 上海汽车工业(集团)总公司. 2011年12月. (原始内容存档于2012-01-18). 
  5. ^ (简体中文)基于延迟隐藏因子的GPU计算模型 (A GPU Computational Model Based on Latency Hidden Factor)页面存档备份,存于互联网档案馆
  6. ^ (简体中文)周龙,殷红武,朱建涛. 輕量級核心在HPC中的應用現狀研究: p. 4. 2009-09-10. 
  7. ^ (英文)Software Architecture of the Light Weight Kernel, Catamount页面存档备份,存于互联网档案馆
  8. ^ (英文)Compute Node Linux: New Frontiers in Compute Node Operating System 互联网档案馆存档,存档日期2012-02-12.
  9. ^ (英文)IBM System Blue Gene Solution: Application Development页面存档备份,存于互联网档案馆
  10. ^ (英文)Message Passing Interface (MPI)页面存档备份,存于互联网档案馆
  11. ^ (英文)OpenMP页面存档备份,存于互联网档案馆
  12. ^ (英文)Kaufmann, Morgan. Optimizing Compilers for Modern Architectures: A Dependence-based Approach. 2001. ISBN 978-1558602861. 
  13. ^ (英文)A Study of loop nest structures and locality in scientific programs页面存档备份,存于互联网档案馆
  14. ^ (英文)Code and data transformations for cache locality and parallelism页面存档备份,存于互联网档案馆
  15. ^ (英文)Open64 Compiler Whirl Intermediate Representation页面存档备份,存于互联网档案馆
  16. ^ (英文)An Incomplete Survey of Compiler Technology at the IBM Toronto Laboratory页面存档备份,存于互联网档案馆
  17. ^ (简体中文)BLAS库在多核处理器上的性能测试与分析页面存档备份,存于互联网档案馆
  18. ^ (英文)Anatomy of High-Performance Matrix Multiplication 互联网档案馆存档,存档日期2010-06-14.
  19. ^ (英文)Innovation Impact: The IBM MASS Libraries: High-Performance Processor-Tuned Mathematical Functions页面存档备份,存于互联网档案馆
  20. ^ (英文)Lustre Publications页面存档备份,存于互联网档案馆
  21. ^ (英文)TOP500 Statistics 互联网档案馆存档,存档日期2012-11-02.
  22. ^ (英文)SC'11 Cisco booth demo: Open MPI over Linux VFIO页面存档备份,存于互联网档案馆
  23. ^ (英文)TOP500 Supercomputing Sites页面存档备份,存于互联网档案馆
  24. ^ 24.0 24.1 November 2017 | TOP500 Supercomputer Sites. www.top500.org. [2017-11-24]. (原始内容存档于2020-06-17) (英语). 
  25. ^ Eijkhout, Victor. Introduction to High Performance Scientific Computing (PDF). 2011: Page 9 [2012-01-02]. ISBN 978-1-257-99254-6. (原始内容 (PDF)存档于2019-09-19). 
  26. ^ AMD 與美國能源局橡樹嶺實驗室打造的「Frontier」超級電腦 擊敗日本 Arm 架構超級電腦「富岳」 奪最快頭銜. [2022-06-01]. (原始内容存档于2022-05-31). 
  27. ^ SETI@Home积分一览. [2010-08-28]. (原始内容存档于2011-07-03). 
  28. ^ Folding@Home. [2010-08-28]. (原始内容存档于2012-09-21). 
  29. ^ How many Google machines. TNL.net. [2010-08-28]. (原始内容存档于2008-07-24). 

外部链接

超级计算资源
超级计算中心及组织

参见

超级计算的历史和相关概念
其他计算机类型
超级计算机公司及产品