超級計算機

超級計算機（Supercomputer），指能夠執行一般個人電腦無法處理的高速運算的電腦，規格與性能比個人電腦強大許多。現有的超級計算機運算速度大都可以達到每秒一兆次以上。「超級計算」（supercomputing）這名詞第一次出現，是在1929年《紐約世界報》關於IBM為哥倫比亞大學建造大型制表機（tabulator）的報導。

1960年代，超級計算機由西摩·克雷在控制數據公司裡設計出來並領先市場直到1970年代克雷創立自己的公司──克雷研究。憑著他的新設計，他控制了整個超級計算機市場，並占據顛峰位置長達五年（1985年－1990年）。到了1980年代，正值小型計算機市場萌芽階段，大量小型對手加入競爭。在1990年代中期，很多對手受不了市場的衝擊而消聲匿跡。今天，超級計算機成了一種由像IBM及惠普等大型計算機公司所特意設計的電腦。雖然這些公司通過不斷併購其他公司而增強了自己的經驗，克雷研究依然是超級計算機領域的巨頭之一。

## 歷史

「超級計算機」一詞並無明確定義，其含義隨電腦業界的發展而發生變化。早期的控制數據公司機器可達十倍速於競爭對手，但仍然是比較原始的標量處理器。到了1970年代，大部分超級計算機就已經是向量處理器了，很多是新進者自行開發的廉價處理器來攻占市場。1980年代初期，業界開始轉向大規模並行計算系統，這時的超級計算機由成千上萬的普通處理器所組成。1980年代中葉，將適量的向量處理器（一般由8個到16個不等）聯合起來進行並行計算成為通用的方法。1990年代以後到21世紀初，超級計算機則主要互聯基於精簡指令集的張量處理器（譬如PowerPC、PA-RISC或DEC Alpha）來進行並行計算。

## 用途

超級計算機常用於需要大量運算的工作，譬如數值天氣預報、運算化學、分子模型、天體物理模擬、汽車設計模擬、密碼分析等。

<image>

<image>

## 設計

超級計算機的創新設計在於把複雜的工作細分為可以同時處理的工作並分配於不同的處理器。他們在進行特定的運算方面表現突出，但在處理一般工作時卻不那麼優秀。他們的數據結構是經過精心設計來確保數據及指令及時送達——傳遞速度的細微差別可以導致運算能力的巨大差別。其輸入／輸出系統也有特殊設計來提供高頻寬，但是這裡的數據傳輸延遲卻並不重要——超級計算機並非數據交換機。

根據阿姆達爾定律，超級計算機的設計都集中在減少軟體上的序列化、用硬體在瓶頸上加速。

### 技術挑戰及其解決方案

- 超級計算機通常產生大量的高熱，冷卻超級計算機是一個很大的問題。
- 因為資料傳送的速度不能比光快，幾公尺的距離導致了幾十奈秒的延遲，而克雷著名的環型設計保持了最短距離。
- 超級計算機在短時間內消耗及生產大量的數據，需要投入很多資源確保資訊妥善傳送及存取。

因超級計算機而開發的技術：

- 向量處理器和張量處理器
- 水冷技術
- 非均勻訪存模型

### 處理器技術

向量處理因超級計算機而建立並用於高性能運算。向量處理技術後來被用於普通電腦內的信號處理架構及單指令流多數據流，例如：家用遊戲機及通用圖形處理器等。

### 作業系統

一般的超級計算機都使用Unix或類Unix作業系統，但在講求絕對高效能的操作環境時，超級計算機開發人員會動用特別的輕量級核心（Light Weight Kernel－LWK），減少中斷請求、行程間通訊等開銷以提高效能。

輕量級核心包括Cray XT3的Catamount，Cray XT4的CNL (Compute Node Linux)，以及IBM藍色基因的CNK（Compute Node Kernel）。

### 程式設計環境

訊息傳遞介面及較舊的並列虛擬機器（PVM）常用於非共享內存系統（Distributed Memory System），而OpenMP常用於共享內存並行系統。

傳統上Fortran的編譯器可以產生比C或C++更高效能目的碼，所以Fortran仍然被使用作科學程式設計。

### 優化編譯器

超級計算機需要編譯器優化技術以產生優佳的目的碼，現今的優化編譯器都對向量化（Vectorization）、程式迴圈、記憶體階層及數據局部性進行優化。

此外，優化編譯器都以高層次的中間表示（Intermediate Representation）優化程式 － 包括Open64編譯器的WHIRL、IBM XL編譯器的Wcode。

### 數學函數庫

超級計算機主要執行科學運算等擁有大量向量及矩陣浮點計算的程式，因此優化常用的數學函數會提高運算效能。BLAS函數庫使向量及矩陣浮點計算效能大大提高，而優佳化數學函數庫則提高三角函數及平方根等數學運算。

### 平行檔案系統

平行檔案系統屬於分散式檔案系統的一類，支援多客戶端節點、多檔案系統伺服器，以及支援平行I/O（如MPI-IO、HDF5）；現今流行的平行檔案系統包括Lustre和PVFS。

### 網路技術

超級計算機節點之間的通信一般都需要使用高性能的網路介面，現今大多TOP500的超級計算機使用乙太網路（44.8%）及InfiniBand（41.8%）。

傳統上InfiniBand比乙太網路有更高的頻寬，同時因作業系統呼叫省略（Operating System Bypass）而提供更低的延遲時間（latency）；然而2011年思科系統開發VFIO技術於超級計算機和叢集應用，使一般的乙太網路介面也能提供低延遲時間，從而提升乙太網路在超級計算機的應用層面。

## 通用超級計算機的類型

大致上可以分為三種：

- 向量處理機器能為大量數據同時進行同樣的運算。
- 叢集式處理器特別建立連接處理器及記憶體的通信網路，非均勻訪存模型就是最常見的。最快的超級計算機就是使用這個科技。
- 商品電腦叢集使用高頻寬低延誤的網路來連接大量普通商品電腦，建設成一個電腦叢集。

根據摩爾定律及經濟規模，一個現代的桌面電腦比15年前的超級計算機有更高性能，皆因某些超級計算機的設計已經放在桌面電腦內。再者，簡單晶片的開發及生產成本比特意設計給超級計算機的更便宜。

超級計算機所處理的問題都適合併行化，當中減少處理單元之間的資料傳送量。因此，傳統的超級計算機可以被電腦叢集所代替。

## 最快的超級計算機

<image>

TOP500列表排名世界上最快的500台超級計算機GREEN500 列表排名世界上最節能的超級計算機

### 速度單位

超級計算機速度以每秒浮點運算次數"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指令的數目。

### 目前最快的超級計算機

截至2022年6月1日，目前全球最快的超級電腦是AMD與美國能源局橡樹嶺實驗室合作打造的超級電腦「Frontier」，運算能力是1.102 ExaFLOPS，和二名的日本理化學研究所（Riken）與富士通（Fujitsu）共同研發的「富岳」（Fugaku）運算能力415.53 PFLPOS約2.6倍。「Frontier」採用AMD代號「Milan」的第三代EPYC伺服器處理器，搭配OCP加速器模組設計的Instinct MI250X加速繪圖卡構成，這也是超級電腦再次由x86架構奪下第一名。

### 目前最節能的超級計算機

截至2017年11月14號，世界上最節能的超級計算機是日本國立理化學研究所的菖蒲超級計算機B型。

### 過往的超級計算機

<image>

- 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年。

### 類超級運算

<image>

- 某些分布式運算把叢集超級運算推至極限。例如SETI@home計劃現在平均有667.716 TeraFLOPS運算能力。
- 2009年4月，Folding@home聲稱擁有超過8PFLOPS運算能力。
- GIMPS運算能力也高達18TFLOPS。
- Google的搜尋引擎系統Google數據中心總處理能力界乎於126及316TFLOPS之間。Tristan Louis估計這個系統等於32000至79000台雙2 GHzXeon電腦。由於散熱問題，Google的搜尋引擎系統應該屬於網格運算。

## 超級電腦時間線

年份｜國家｜超級電腦名稱｜每秒浮點運算次數｜地點

1942年｜Q522906｜30 OPS｜美國愛荷華州立大學

英國｜Q376223Q5693526｜200 OPS｜英國布萊切利園

1944年｜英國｜Q954437巨人計算機｜5 kOPS｜英國Dollis Hill Post Office Research Station

1946年｜賓夕法尼亞大學電子數值積分電腦｜100 kOPS｜美國馬里蘭州戰爭部阿伯丁試基地

1954年｜國際商業機器公司NORC｜67 kOPS｜美國維珍妮亞州海軍試驗基地

1956年｜麻省理工學院Q521408｜83 kOPS｜美國麻省理工學院

1958年｜國際商業機器公司Q963418｜400 kOPS｜美國空軍23號基地

1960年｜通用自動電腦Q694960｜250 kFLOPS｜美國加州Q519826

1961年｜Q984038｜1.2 MFLOPS｜美國新墨西哥州洛斯阿拉莫斯國家實驗室

1964年｜CDC 6600｜3 MFLOPS｜美國加州Q519826

1969年｜CDC 7600｜36 MFLOPS

1974年｜Q3648629｜100 MFLOPS

1975年｜Q256593Q935306｜150 MFLOPS｜美國加州Q181052

1976年｜Q1093705｜250 MFLOPS｜美國新墨西哥州洛斯阿拉莫斯國家實驗室

1981年｜CDC Cyber 205｜400 MFLOPS｜（世界很多地方）

1983年｜Q266882/4｜941 MFLOPS｜美國新墨西哥州洛斯阿拉莫斯國家實驗室，波音公司

1984年｜2.4 GFLOPS｜蘇聯Q4314493

1985年｜Cray-2/8｜3.9 GFLOPS｜美國加州Q519826

1988年｜大韓民國｜Cray-2S｜2 GFLOPS｜韓國科學技術情報硏究院

1989年｜Q3717486-G/8｜10.3 GFLOPS｜美國佛羅里達大學

1990年｜日本｜日本電氣-3/44R｜23.2 GFLOPS｜日本府中市NEC府中廠

1993年｜Q1060611Q1126252-5/1024｜65.5 GFLOPS｜美國新墨西哥州洛斯阿拉莫斯國家實驗室；美國國家安全局

大韓民國｜Cray-C90｜韓國科學技術情報硏究院

日本｜富士通Q1985354｜124.50 GFLOPS｜Q4988947

1993年｜英特爾Q652367 XP/S 140｜143.40 GFLOPS｜美國Q1736748

1994年｜日本｜富士通Q1985354｜170.40 GFLOPS｜Q4988947

1996年｜日本｜日立製作所Q5871675/1024｜220.4 GFLOPS｜日本東京大學

日本｜日立製作所/築波大學 CP-PACS/2048｜368.2 GFLOPS｜日本築波市Q11602855

1997年｜英特爾Q297317/9152｜1.338 TFLOPS｜美國Q1736748

1999年｜英特爾Q297317/9632｜2.3796 TFLOPS

2000年｜國際商業機器公司Q635527｜7.226 TFLOPS｜美國加州Q519826

2002年｜日本｜日本電氣地球模擬器｜35.86 TFLOPS｜Q1683113

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.51 PFLOPS｜日本國立理化學研究所

2012年｜國際商業機器公司藍色基因/Q｜16.32475 PFLOPS｜美國勞倫斯利福摩爾國家實驗室

2012年｜大韓民國｜雷 (超級計算機)｜107 TFLOPS｜韓國首爾大學電腦工程學系

2012年11月13日｜橡樹嶺國家實驗室泰坦｜17.59 PFLOPS｜美國橡樹嶺國家實驗室

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』才得以重建。
- 樹狀圖設計者，來自日本動漫《魔法禁書目錄》和《科學超電磁砲》中以分析氣象資料為藉口，搭載於織女星一號衛星上的超級計算機；每月會運算一次地球上所有空氣粒子運動，可一次運算一個月的天氣；其他日子就用來對學園都市的許多研究進行科研運算。在《魔法禁書目錄》中被茵蒂克絲的魔法在太空中擊毀，而其核心被回收之後被一方通行徹底摧毀。
- MOSS（原名：550W），是電影《流浪地球》系列中的智能量子計算機，有自我意識、自我迭代、自我更新的特點。550W開發於量子計算機550A、550C之後，MOSS是它給自己起的名字，負責管理空間站事務，是流浪地球計劃與火種計劃的監督者和執行者。
- 帝皇權杖-是遊戲《崩壞：星穹鐵道》中以博識尊的廢棄神經元δ-me13為藍本，所製出來名為帝皇權杖的超級電腦，用來進行世界的模擬。

## 外部連結

超級計算資源

- TOP500 超級計算機列表
- 中國超級計算機行業

超級計算中心及組織

- 上海超級計算中心
- 國家高速網路與計算中心 ——位於台灣新竹市，是中華民國國家實驗研究院的附屬機構。
- 勞倫斯利福摩爾國家實驗室 (LLNL)高性能計算主頁 ——位於美國的勞倫斯利福摩爾國家實驗室
- HPCx ——英國超級計算機服務，由EPCC及Daresbury實驗室營運
- 國家超級計算無錫中心（神威·太湖之光）