超級電腦

維基百科,自由的百科全書
前往: 導覽搜尋
克雷-2(Cray 2)-1985年至1989年時全球最快電腦

超級電腦英語super computer),指能夠執行一般個人電腦無法處理的大資料量與高速運算的電腦,其基本組成元件與個人電腦的概念無太大差異,但規格與效能則強大許多。現有的超級電腦運算速度大都可以達到每秒一(萬億,非百萬)次以上。「超級計算」(Supercomputing)這名詞第一次出現,是在1929年《紐約世界報》關於IBM哥倫比亞大學建造大型報表機tabulator)的報導。[1]

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

歷史[編輯]

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

用途[編輯]

超級電腦常用於需要大量運算的工作,譬如天氣預測、氣候研究[2]運算化學分子模型天體物理模擬[3]、汽車設計模擬[4]密碼分析等。

設計[編輯]

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

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

挑戰與科技[編輯]

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

因超級電腦而開發的科技:

處理器技術[編輯]

向量處理因超級電腦而建立並用於高效能運算。向量處理技術後來被用於普通電腦內的訊號處理架構及單指令流多資料流,例如:電視遊樂器及通用圖形處理器等。[6]

作業系統[編輯]

一般的超級電腦都使用Unix作業系統天河二號例外),但在講求絕對高效能的操作環境時,超級電腦開發人員會動用特別的輕量級核心(Light Weight Kernel-LWK),減少中斷請求、行程間通訊等開銷以提高效能。[7]

輕量級核心包括Cray XT3的Catamount[8],Cray XT4的CNL (Compute Node Linux)[9], 以及IBM藍色基因的CNK(Compute Node Kernel)。[10]

編程環境[編輯]

訊息傳遞介面及較舊的並列虛擬機器(PVM)常用於非共享內存系統(Distributed Memory System),而OpenMP常用於共享內存並行系統。[11] [12]

傳統上Fortran的編譯器可以產生比CC++更高效能目的碼,所以Fortran仍然被使用作科學編程。

優化編譯器[編輯]

超級電腦需要編譯器優化技術以產生優佳的目的碼,現今的優化編譯器都對向量化(Vectorization)、程式迴圈記憶體階層及資料局部性進行優化。[13] [14] [15]

此外,優化編譯器都以高層次的中間表示(Intermediate Representation)優化程式 - 包括Open64編譯器的WHIRL、[16] IBM XL編譯器的Wcode。[17]

數學函式庫[編輯]

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

平行檔案系統[編輯]

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

網路技術[編輯]

超級電腦節點之間的通訊一般都需要使用高效能的網路介面,現今大多TOP500的超級電腦使用乙太網路(44.8%)及InfiniBand(41.8%)。[22]

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

通用超級電腦的類型[編輯]

大致上可以分為三種:

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

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

最快的超級電腦[編輯]

TOP500清單排名世界上最快的500台超級電腦[24],而中國則以「中國TOP100排行榜」排名境內頭100台最快的超級電腦。[25]

速度單位[編輯]

超級電腦速度以每秒浮點運算次數"FLOPS"(floating-point operations per second)來作量度單位,常見的表示電腦中的峰值或速度用的單位英漢對照如下:

  • 一個MFLOPS(megaFLOPS)等於每秒100萬(=106)次的浮點運算
  • 一個GFLOPS(gigaFLOPS)等於每秒10億(=109)次的浮點運算
  • 一個TFLOPS(teraFLOPS)等於每秒1萬億(=1012)次的浮點運算
  • 一個PFLOPS(petaFLOPS)等於每秒1千萬億(=1015)次的浮點運算
  • 一個EFLOPS(exascaleFLOPS)等於每秒100億億(=1018)次的浮點運算

此外,由於浮點積和熔加運算乘積累加是兩次的浮點運算(每條FMA指令包括加/減及),因此當處理器支援FMA指令時,峰值是兩倍每秒所能執行FMA指令的數目。[26]

目前最快的超級電腦[編輯]

截止到2013年6月,世界上運算速度最快的超級電腦是,由中國人民解放軍國防科學技術大學等單位研製的天河二號,它每秒能完成5億億次運算。雙精度浮點運算峰值速度達到每秒5.49億億次,Linpack(國際上流行的用於測試高效能電腦浮點計算效能的軟體)測試效能已達到每秒3.39億億次。

過往的超級電腦[編輯]

  • 2009年10月,中國研製的第一台千萬億次超級電腦在湖南長沙亮相,全系統峰值效能為每秒1.206PFlops。這台名為天河一號的電腦位居同日公布的中國超級電腦前100強之首,也是當時世界上最快的超級計算機。天河一號的研製成功使中國成為繼美國之後世界上第二個能夠研製千萬億次超級電腦的國家。
  • 2008年11月16日,美國Cray超級電腦公司推出Jaguar系列,運算能力為1.059PFlops,採用45376顆四核心的Opteron處理器,362TB的記憶體,傳輸總頻寬284GB/Sec,硬碟容量超過10PB,內部的資料匯流排頻寬532TB/Sec。這台電腦將放置在美國的國家高速電腦中心,並開放給各界有需要的團體申請使用。
  • 在地球模擬器之前,最快的超級電腦是美國加州羅蘭士利物摩亞國家實驗室的ASCI White,它的冠軍位置維持了2.5年。

類超級運算[編輯]

  • 某些分布式運算把叢集超級運算推至極限。例如SETI@home計劃現在平均有667.716 TeraFLOPS運算能力。[27].
  • GIMPS運算能力也高達18TFLOPS。

超級計算機時間線[編輯]

年份 國家 超級計算機 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年  日本 Fujitsu 10.51PFLOPS 日本富士通
2012年  美國 IBM Blue Gene/Q 16.32475PFLOPS 美國勞倫斯·利弗莫爾國家實驗室
2012年11月13日  美國 ORNL Titan 17.59PFLOPS 美國橡樹嶺國家實驗室
2013年  中國 天河二號 33.86 PFLOPS 中國廣州國家超級計算廣州中心

專用超級電腦[編輯]

專用超級電腦都是針對單一問題而開發的電腦。這些電腦都使用專門編程的FPGA晶片及超大型密集晶片,縱然犧牲普遍性也要提高成本效能比率。它們被用於天文物理學及密碼破解之上。

例子:

科幻中的超級電腦[編輯]

  • Matrix-「母體」是電影《駭客任務》中,由機器所創造出的一個模擬環境,用以控制人類,並從人類身上吸取能源。
  • Skynet-「天網」是電影《魔鬼終結者》中美國軍方所開發具有人工智慧的超級電腦,但後來它具有自我意識而以全人類為敵。
  • 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』才得以重建。
  • 樹狀圖設計者,來自日本動漫《魔法禁書目錄》和《某科學的超電磁炮》中以分析氣象資料為借口,搭載於織女星一號衛星上的超級電腦;每月會運算一次地球上所有空氣粒子運動,可一次運算一個月的天氣;其他日子就用來對學園都市的許多研究進行科研運算。於七月28日凌晨被失控的茵蒂克絲用「龍王的嘆息」擊毀於執行軌道。八月末,「樹形圖設計者」的核心殘骸被回收。九月14日,「樹狀圖設計者」主要的演算中樞「殘骸」被秘密運回學園都市,但被暗部組織『Group』一夥搶得,最終被一方通行破壞。

參考文獻[編輯]

  1. ^ 中國超級電腦重返世界之巔,亞太日報,2013年6月17日
  2. ^ (繁體中文)引入全球及區域譜模式作季度預報 (PDF). 香港天文台. 2007年1月. 
  3. ^ (簡體中文)行星流體動力學大規模計算的效能測試與分析
  4. ^ (中文)GPU加速計算功能應用 (MP4). 上海汽車工業(集團)總公司. 2011年12月. 
  5. ^ 英文原文為HVAC,即「heating, ventilation, and air conditioning」的首字母縮略字,中文直譯為「加熱、通風、空調」,是建築技術領域的一個子領域,這裡依照實際情形,略作「通風空調」,因為超級電腦運作時對加熱的要求顯然不高。請參見英文版維基百科條目en:HVAC
  6. ^ (簡體中文)基於延遲隱藏因子的GPU計算模型 (A GPU Computational Model Based on Latency Hidden Factor)
  7. ^ (簡體中文)周龍,殷紅武,朱建濤. 輕量級核心在HPC中的應用現狀研究. p. 4. 2009-09-10. 
  8. ^ (英文)Software Architecture of the Light Weight Kernel, Catamount
  9. ^ (英文)Compute Node Linux: New Frontiers in Compute Node Operating System
  10. ^ (英文)IBM System Blue Gene Solution: Application Development
  11. ^ (英文)Message Passing Interface (MPI)
  12. ^ (英文)OpenMP
  13. ^ (英文)Kaufmann, Morgan. Optimizing Compilers for Modern Architectures: A Dependence-based Approach. 2001年. ISBN 978-1558602861. 
  14. ^ (英文)A Study of loop nest structures and locality in scientific programs
  15. ^ (英文)Code and data transformations for cache locality and parallelism
  16. ^ (英文)Open64 Compiler Whirl Intermediate Representation
  17. ^ (英文)An Incomplete Survey of Compiler Technology at the IBM Toronto Laboratory
  18. ^ (簡體中文)BLAS庫在多核處理器上的效能測試與分析
  19. ^ (英文)Anatomy of High-Performance Matrix Multiplication
  20. ^ (英文)Innovation Impact: The IBM MASS Libraries: High-Performance Processor-Tuned Mathematical Functions
  21. ^ (英文)Lustre Publications
  22. ^ (英文)TOP500 Statistics
  23. ^ (英文)SC'11 Cisco booth demo: Open MPI over Linux VFIO
  24. ^ (英文)TOP500 Supercomputing Sites
  25. ^ (簡體中文)中國高效能計算機的發展趨勢分析與展望 - 從中國TOP100排行榜談起
  26. ^ Eijkhout, Victor. Introduction to High Performance Scientific Computing (PDF). 2011年: Page 9. ISBN 978-1-257-99254-6. 
  27. ^ SETI@Home積分一覽. [2010-08-28]. 
  28. ^ Folding@Home. [2010-08-28]. 
  29. ^ How many Google machines. TNL.net. [2010-08-28]. 

外部連結[編輯]


資源[編輯]

中心及組織[編輯]

參見[編輯]

歷史及概念[編輯]

其他類型[編輯]

超級電腦公司及系統[編輯]

參考文獻[編輯]