超級計算機

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

超級計算機(英語: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). 

外部連結

編輯
超級計算資源
超級計算中心及組織

參見

編輯
超級計算的歷史和相關概念
其他計算機類型
超級計算機公司及產品