超级计算机

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

超级计算机(英語: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』才得以重建。
  • 树状图设计者,来自日本动漫《魔法禁书目录》和《科學超電磁砲》中以分析气象资料为借口,搭载于织女星一号卫星上的超级计算机;每月会运算一次地球上所有空气粒子运动,可一次运算一个月的天气;其他日子就用来对学园都市的许多研究进行科研运算。在《魔法禁书目录》中被茵蒂克丝的魔法在太空中击毁,而其核心被回收之后被一方通行彻底摧毁。
  • MOSS(原名:550W),是电影《流浪地球》系列中的智能量子计算机,有自我意识、自我迭代、自我更新的特点。550W开发于量子计算机550A、550C之后,MOSS是它给自己起的名字,负责管理空间站事务,是流浪地球计划与火种计划的监督者和执行者。

注释

  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). 

外部链接

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

参见

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