超级计算机
超级计算机(英語:),指能够执行一般个人电脑无法处理的高速运算的计算机,规格与性能比个人计算机强大许多。现有的超级计算机运算速度大都可以达到每秒一兆(万亿,非百万)次以上。「超级计算」()這名詞第一次出現,是在1929年《纽约世界报》关于IBM为哥伦比亚大学建造大型制表机()的报导。[1]
克雷-2(Cray 2)——1985年至1989年時全球最快计算机
1960年代,超级计算机由西摩·克雷在控制数据公司裡设计出来并领先市场直到1970年代克雷创立自己的公司──克雷研究。凭着他的新设计,他控制了整个超级计算机市场,并占据颠峰位置长达五年(1985年-1990年)。到了1980年代,正值小型计算机市场萌芽阶段,大量小型对手加入竞争。在1990年代中期,很多对手受不了市场的冲击而消声匿迹。今天,超级计算机成了一种由像IBM及惠普等大型计算机公司所特意设计的计算机。虽然这些公司通过不断并购其他公司而增强了自己的经验,克雷研究依然是超级计算机领域的巨头之一。
歷史
「超级计算机」一词并无明确定义,其含义随计算机业界的发展而发生变化。早期的控制数据公司机器可达十倍速于竞争对手,但仍然是比较原始的标量处理器。到了1970年代,大部分超级计算机就已经是向量处理器了,很多是新進者自行开发的廉价处理器来攻占市场。1980年代初期,业界开始转向大规模并行计算系统,这时的超级计算机由成千上万的普通处理器所组成。1980年代中叶,将适量的向量处理器(一般由8个到16个不等)联合起来进行并行计算成为通用的方法。1990年代以后到21世纪初,超级计算机则主要互联基于精简指令集的张量处理器(譬如PowerPC、PA-RISC或DEC 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的编译器可以產生比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年前的超级计算机有更高性能,皆因某些超级计算机的设计已经放在桌面计算机内。再者,简单晶片的开发及生产成本比特意设计给超级计算机的更便宜。
超级计算机所处理的问题都适合并行化,当中减少处理单元之间的资料传送量。因此,传统的超级计算机可以被计算机丛集所代替。
最快的超级计算机
2015年11月的不同国家/地区之间的超级计算机500强的分布
条目:TOP500
条目:Green500
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月,IBM的Roadrunner成為當時最快的超級计算机,運算能力為1.105PFlops。
- 2008年11月16日,克雷公司推出美洲虎系列,運算能力為1.059PFlops,採用45376顆四核心的Opteron處理器,362TB的記憶體,傳輸總頻寬284GB/Sec,硬碟容量超過10PB,內部的資料匯流排頻寬532TB/Sec。這台计算机將放置在美國的國家高速计算机中心,並開放給各界有需要的團體申請使用。
- 2007年11月,IBM的Blue Gene/L,运算能力為478.2 TFlops,安装了32768個处理器。它是PowerPC架构的修改版本,正式运作版本被推出到很多地点,包括罗兰士利物摩亚国家实验室(Lawrence Livermore National Laboratory)。
- 在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的搜寻引擎系统应该属于网格运算。
超級電腦時間線
年份 | 國家 | 超級電腦名稱 | FLOPS | 地點 |
---|---|---|---|---|
1942年 | ![]() | Atanasoff–Berry Computer (ABC) | 30 OPS | 美國爱荷华州立大学 |
![]() | TRE Heath Robinson | 200 OPS | 英國布萊切利園 | |
1944年 | ![]() | Flowers Colossus | 5 kOPS | 英國Dollis Hill Post Office Research Station |
1946年 | ![]() | UPenn ENIAC | 100 kOPS | 美國馬里蘭州戰爭部阿伯丁試基地 |
1954年 | ![]() | IBM NORC | 67 kOPS | 美國維珍妮亞州海軍試驗基地 |
1956年 | ![]() | MIT TX-0 | 83 kOPS | 美國麻省理工學院 |
1958年 | ![]() | IBM 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年 | ![]() | Burroughs ILLIAC IV | 150 MFLOPS | 美國加州NASA恩斯研究中心 |
1976年 | ![]() | Cray-1 | 250 MFLOPS | 美國新墨西哥州洛斯阿拉莫斯國家實驗室 |
1981年 | CDC Cyber 205 | 400 MFLOPS | (世界很多地方) | |
1983年 | ![]() | Cray 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年 | ![]() | Thinking Machines CM-5/1024 | 65.5 GFLOPS | 美國新墨西哥州洛斯阿拉莫斯國家實驗室;美國國家安全局 |
![]() | Fujitsu Numerical Wind Tunnel | 124.50 GFLOPS | 日本國家宇航實驗室 | |
![]() | Intel Paragon XP/S 140 | 143.40 GFLOPS | 美國山迪亞國家實驗室 | |
1994年 | ![]() | Fujitsu Numerical Wind Tunnel | 170.40 GFLOPS | 日本國家宇航實驗室 |
1996年 | ![]() | Hitachi SR2201/1024 | 220.4 GFLOPS | 日本東京大學 |
![]() | Hitachi/Tsukuba CP-PACS/2048 | 368.2 GFLOPS | 日本築波市築波大學電算物理中心 | |
1997年 | ![]() | Intel ASCI Red/9152 | 1.338 TFLOPS | 美國山迪亞國家實驗室 |
1999年 | ![]() | Intel ASCI Red/9632 | 2.3796 TFLOPS | |
2000年 | ![]() | IBM ASCI White | 7.226 TFLOPS | 美國加州羅蘭士利物摩亞國家實驗室 |
2002年 | ![]() | NEC地球模擬器 | 35.86 TFLOPS | 日本地球模擬器中心 |
2004年 | ![]() | IBM Blue Gene/L | 70.72 TFLOPS | 美國能源部;IBM |
2005年 | ![]() | 136.8 TFLOPS | 美國能源部/NNSA/LLNL | |
![]() | 280.6 TFLOPS | |||
2007年 | ![]() | 478.2 TFLOPS | ||
2008年 | ![]() | IBM Roadrunner | 1.026 PFLOPS | 美國新墨西哥州洛斯阿拉莫斯國家實驗室 |
![]() | 1.105 PFLOPS | |||
2009年 | ![]() | ORNL 美洲虎 | 1.759 PFLOPS | 美國橡樹嶺國家實驗室 |
2010年 | ![]() | 天河一號 | 2.566 PFLOPS | 中国天津国家超级计算天津中心 |
2011年 | ![]() | RIKEN 京(K-Computer) | 10.51PFLOPS | 日本国立理化学研究所 |
2012年 | ![]() | IBM Blue Gene/Q | 16.32475PFLOPS | 美國勞倫斯利福摩爾國家實驗室 |
2012年11月13日 | ![]() | ORNL Titan | 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-「吠陀」是日本动漫《機動戰士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』才得以重建。
- 树状图设计者,来自日本动漫《魔法禁书目录》和《科學超電磁砲》中以分析气象资料为借口,搭载于织女星一号卫星上的超级计算机;每月会运算一次地球上所有空气粒子运动,可一次运算一个月的天气;其他日子就用来对学园都市的许多研究进行科研运算。在《魔法禁书目录》中被茵蒂克丝的魔法在太空中击毁,而其核心被回收之后被一方通行彻底摧毁。