超级计算机
超级计算机(英语:Supercomputer),指能够执行一般个人电脑无法处理的高速运算的计算机,规格与性能比个人计算机强大许多。现有的超级计算机运算速度大都可以达到每秒一兆(万亿,非百万)次以上。“超级计算”(supercomputing)这名词第一次出现,是在1929年《纽约世界报》关于IBM为哥伦比亚大学建造大型制表机(tabulator)的报导。[1]
1960年代,超级计算机由西摩·克雷在控制数据公司里设计出来并领先市场直到1970年代克雷创立自己的公司──克雷研究。凭着他的新设计,他控制了整个超级计算机市场,并占据颠峰位置长达五年(1985年-1990年)。到了1980年代,正值小型计算机市场萌芽阶段,大量小型对手加入竞争。在1990年代中期,很多对手受不了市场的冲击而消声匿迹。今天,超级计算机成了一种由像IBM及惠普等大型计算机公司所特意设计的计算机。虽然这些公司通过不断并购其他公司而增强了自己的经验,克雷研究依然是超级计算机领域的巨头之一。
历史
“超级计算机”一词并无明确定义,其含义随计算机业界的发展而发生变化。早期的控制数据公司机器可达十倍速于竞争对手,但仍然是比较原始的标量处理器。到了1970年代,大部分超级计算机就已经是向量处理器了,很多是新进者自行开发的廉价处理器来攻占市场。1980年代初期,业界开始转向大规模并行计算系统,这时的超级计算机由成千上万的普通处理器所组成。1980年代中叶,将适量的向量处理器(一般由8个到16个不等)联合起来进行并行计算成为通用的方法。1990年代以后到21世纪初,超级计算机则主要互联基于精简指令集的张量处理器(譬如PowerPC、PA-RISC或DEC Alpha)来进行并行计算。
用途
超级计算机常用于需要大量运算的工作,譬如数值天气预报[2]、运算化学、分子模型、天体物理模拟[3]、汽车设计模拟[4]、密码分析等。
设计
超级计算机的创新设计在于把复杂的工作细分为可以同时处理的工作并分配于不同的处理器。他们在进行特定的运算方面表现突出,但在处理一般工作时却不那么优秀。他们的数据结构是经过精心设计来确保数据及指令及时送达——传递速度的细微差别可以导致运算能力的巨大差别。其输入/输出系统也有特殊设计来提供高带宽,但是这里的数据传输延迟却并不重要——超级计算机并非数据交换机。
根据阿姆达尔定律,超级计算机的设计都集中在减少软件上的序列化、用硬件在瓶颈上加速。
技术挑战及其解决方案
- 超级计算机通常产生大量的高热,冷却超级计算机[注 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的编译器可以产生比C或C++更高性能目标代码,所以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年前的超级计算机有更高性能,皆因某些超级计算机的设计已经放在桌面计算机内。再者,简单芯片的开发及生产成本比特意设计给超级计算机的更便宜。
超级计算机所处理的问题都适合并行化,当中减少处理单元之间的资料传送量。因此,传统的超级计算机可以被计算机丛集所代替。
最快的超级计算机
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]
过往的超级计算机
此条目需要更新。 (2019年2月7日) |
- 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年。
类超级运算
- 某些分布式运算把丛集超级运算推至极限。例如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 | 美国爱荷华州立大学 |
英国 | 电信研究机构希思·罗宾逊 | 200 OPS | 英国布莱切利园 | |
1944年 | 英国 | 汤米·佛劳斯巨人计算机 | 5 kOPS | 英国Dollis Hill Post Office Research Station |
1946年 | 美国 | 宾夕法尼亚大学电子数值积分计算机 | 100 kOPS | 美国马里兰州战争部阿伯丁试基地 |
1954年 | 美国 | 国际商业机器公司NORC | 67 kOPS | 美国维珍妮亚州海军试验基地 |
1956年 | 美国 | 麻省理工学院TX-0 | 83 kOPS | 美国麻省理工学院 |
1958年 | 美国 | 国际商业机器公司AN/FSQ-7作战指挥中央系统 | 400 kOPS | 美国空军23号基地 |
1960年 | 美国 | 通用自动计算机UNIVAC LARC | 250 kFLOPS | 美国加州劳伦斯利佛摩国家实验室 |
1961年 | 美国 | IBM 7030 Stretch | 1.2 MFLOPS | 美国新墨西哥州洛斯阿拉莫斯国家实验室 |
1964年 | 美国 | CDC 6600 | 3 MFLOPS | 美国加州劳伦斯利佛摩国家实验室 |
1969年 | 美国 | CDC 7600 | 36 MFLOPS | |
1974年 | 美国 | CDC STAR-100 | 100 MFLOPS | |
1975年 | 美国 | 巴勒斯ILLIAC IV | 150 MFLOPS | 美国加州艾姆斯研究中心 |
1976年 | 美国 | 克雷1号 | 250 MFLOPS | 美国新墨西哥州洛斯阿拉莫斯国家实验室 |
1981年 | CDC Cyber 205 | 400 MFLOPS | (世界很多地方) | |
1983年 | 美国 | 克雷X-MP/4 | 941 MFLOPS | 美国新墨西哥州洛斯阿拉莫斯国家实验室,波音公司 |
1984年 | 苏联 | M-13计算机 | 2.4 GFLOPS | 苏联莫斯科计算机科学研究学院 |
1985年 | 美国 | Cray-2/8 | 3.9 GFLOPS | 美国加州劳伦斯利佛摩国家实验室 |
1989年 | 美国 | ETA10-G/8 | 10.3 GFLOPS | 美国佛罗里达大学 |
1990年 | 日本 | 日本电气NEC SX-3/44R | 23.2 GFLOPS | 日本府中市NEC府中厂 |
1993年 | 美国 | 思维机器公司Connection Machine-5/1024 | 65.5 GFLOPS | 美国新墨西哥州洛斯阿拉莫斯国家实验室;美国国家安全局 |
日本 | 富士通Numerical Wind Tunnel | 124.50 GFLOPS | 航空宇宙技术研究所 | |
美国 | 英特尔Intel Paragon XP/S 140 | 143.40 GFLOPS | 美国桑迪亚国家实验室 | |
1994年 | 日本 | 富士通Numerical Wind Tunnel | 170.40 GFLOPS | 航空宇宙技术研究所 |
1996年 | 日本 | 日立制作所Hitachi SR2201/1024 | 220.4 GFLOPS | 日本东京大学 |
日本 | 日立制作所/筑波大学 CP-PACS/2048 | 368.2 GFLOPS | 日本筑波市筑波大学电算物理中心 | |
1997年 | 美国 | 英特尔ASCI Red/9152 | 1.338 TFLOPS | 美国桑迪亚国家实验室 |
1999年 | 美国 | 英特尔ASCI Red/9632 | 2.3796 TFLOPS | |
2000年 | 美国 | 国际商业机器公司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芯片及超大型密集芯片,纵然牺牲普遍性也要提高成本性能比率。它们被用于天文物理学及密码破解之上。
例子:
- 深蓝,专门用于分析国际象棋
- GRAPE,天文物理
- Deep Crack,DES解码器
科幻中的超级计算机
- Matrix-“总体”是电影《黑客帝国》中,由机器所创造出的一个模拟环境,用以控制人类,并从人类身上吸取能源。
- SkyNet-“天网”是电影《终结者》中美国军方所开发具有人工智能的超级计算机,但后来它具有自我意识而以全人类为敌。
- ARIIA-“爱莉亚”是电影《鹰眼》中美国军方所开发具有人工智能的超级计算机,但后来它以自我威胁判断而决心消灭美国既有领导层次结构。
- V.I.K.I.-“薇琪”是电影《我,机器人》中由美国USR公司所开发具有人工智能的超级计算机,但后来它以自我学习认定人类有自毁倾向,必须消灭所有威胁改由机器人监护才会有未来。
- MAGI-“麦棋”是动漫《新世纪福音战士》中,设立于NERV总部由三台主机组成的超级计算机。MAGI是古代三贤人的称呼,他们是耶稣诞生的时候赠送耶稣礼物的东方三贤人。与使徒的对战中,用以判断使徒的降落点与分析使徒弱点,提供攻击方针以及成功概率做参考数值。特别的是将三个不同的人格加入了三个主机当中,分别是科学家、母亲、女性,在理性的计算之外也拟人的加入性格作为判断的依据。当判断有冲突时,三贤人系统会以投票机制做最后定夺。
- HAL 9000-《2001年太空漫游》中主角鲍曼所乘搭的太空船发现号的主机,被安装了可以在必要时杀死乘员的功能。
- TRANSLTR是丹·布朗(Dan Brown)的小说-《数字密码》中美国国家安全局所暗中开发的超级计算机,主要用来监听互联网数据包,破解一切可能对国家安全造成威胁的加密消息,包括加密的电子邮件,但是它的存在不被政府所承认。
- Veda-“吠陀”是日本动漫《机动战士高达 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’才得以重建。
- 树状图设计者,来自日本动漫《魔法禁书目录》和《科学超电磁炮》中以分析气象资料为借口,搭载于织女星一号卫星上的超级计算机;每月会运算一次地球上所有空气粒子运动,可一次运算一个月的天气;其他日子就用来对学园都市的许多研究进行科研运算。在《魔法禁书目录》中被茵蒂克丝的魔法在太空中击毁,而其核心被回收之后被一方通行彻底摧毁。
注释
参考文献
- ^ 中国超级计算机重返世界之巅 互联网档案馆的存档,存档日期2013-06-22.,亚太日报,2013年6月17日
- ^ (繁体中文)引入全球及區域譜模式作季度預報 (PDF). 香港天文台. 2007年1月. (原始内容存档 (PDF)于2011-11-03).
- ^ (简体中文)行星流体动力学大规模计算的性能测试与分析 (页面存档备份,存于互联网档案馆)
- ^ (中文)GPU加速計算功能應用 (MP4). 上海汽车工业(集团)总公司. 2011年12月. (原始内容存档于2012-01-18).
- ^ (简体中文)基于延迟隐藏因子的GPU计算模型 (A GPU Computational Model Based on Latency Hidden Factor) (页面存档备份,存于互联网档案馆)
- ^ (简体中文)周龙,殷红武,朱建涛. 輕量級核心在HPC中的應用現狀研究: p. 4. 2009-09-10.
- ^ (英文)Software Architecture of the Light Weight Kernel, Catamount (页面存档备份,存于互联网档案馆)
- ^ (英文)Compute Node Linux: New Frontiers in Compute Node Operating System 互联网档案馆的存档,存档日期2012-02-12.
- ^ (英文)IBM System Blue Gene Solution: Application Development (页面存档备份,存于互联网档案馆)
- ^ (英文)Message Passing Interface (MPI) (页面存档备份,存于互联网档案馆)
- ^ (英文)OpenMP (页面存档备份,存于互联网档案馆)
- ^ (英文)Kaufmann, Morgan. Optimizing Compilers for Modern Architectures: A Dependence-based Approach. 2001. ISBN 978-1558602861.
- ^ (英文)A Study of loop nest structures and locality in scientific programs (页面存档备份,存于互联网档案馆)
- ^ (英文)Code and data transformations for cache locality and parallelism (页面存档备份,存于互联网档案馆)
- ^ (英文)Open64 Compiler Whirl Intermediate Representation (页面存档备份,存于互联网档案馆)
- ^ (英文)An Incomplete Survey of Compiler Technology at the IBM Toronto Laboratory (页面存档备份,存于互联网档案馆)
- ^ (简体中文)BLAS库在多核处理器上的性能测试与分析 (页面存档备份,存于互联网档案馆)
- ^ (英文)Anatomy of High-Performance Matrix Multiplication 互联网档案馆的存档,存档日期2010-06-14.
- ^ (英文)Innovation Impact: The IBM MASS Libraries: High-Performance Processor-Tuned Mathematical Functions (页面存档备份,存于互联网档案馆)
- ^ (英文)Lustre Publications (页面存档备份,存于互联网档案馆)
- ^ (英文)TOP500 Statistics 互联网档案馆的存档,存档日期2012-11-02.
- ^ (英文)SC'11 Cisco booth demo: Open MPI over Linux VFIO (页面存档备份,存于互联网档案馆)
- ^ (英文)TOP500 Supercomputing Sites (页面存档备份,存于互联网档案馆)
- ^ 24.0 24.1 November 2017 | TOP500 Supercomputer Sites. www.top500.org. [2017-11-24]. (原始内容存档于2020-06-17) (英语).
- ^ 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).
- ^ AMD 與美國能源局橡樹嶺實驗室打造的「Frontier」超級電腦 擊敗日本 Arm 架構超級電腦「富岳」 奪最快頭銜. [2022-06-01]. (原始内容存档于2022-05-31).
- ^ SETI@Home积分一览. [2010-08-28]. (原始内容存档于2011-07-03).
- ^ Folding@Home. [2010-08-28]. (原始内容存档于2012-09-21).
- ^ How many Google machines. TNL.net. [2010-08-28]. (原始内容存档于2008-07-24).
外部链接
- 超级计算资源
- 超级计算中心及组织
- (简体中文) 上海超级计算中心
- (繁体中文)国家高速网路与计算中心 (页面存档备份,存于互联网档案馆)——位于台湾新竹市,是中华民国国家实验研究院的附属机构。
- (英文) 劳伦斯利福摩尔国家实验室 (LLNL)高性能计算主页 (页面存档备份,存于互联网档案馆)——位于美国的劳伦斯利福摩尔国家实验室
- (英文) HPCx (页面存档备份,存于互联网档案馆)——英国超级计算机服务,由EPCC及Daresbury实验室营运
- (简体中文) 国家超级计算无锡中心(神威·太湖之光)
参见
- 超级计算的历史和相关概念
- 其他计算机类型
- 超级计算机公司及产品