超级计算机

维基百科,自由的百科全书
跳转至: 导航搜索
克雷-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-「吠陀」是日本动漫《機動戰士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』才得以重建。
  • 树状图设计者,来自日本动漫《魔法禁书目录》和《某科学的超电磁炮》中以分析气象资料为借口,搭载于织女星一号卫星上的超级计算机;每月会运算一次地球上所有空气粒子运动,可一次运算一个月的天气;其他日子就用来对学园都市的许多研究进行科研运算。于七月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]. 

外部链接[编辑]

资源[编辑]

中心及组织[编辑]

参见[编辑]

历史及概念[编辑]

其他类型[编辑]

超级计算机公司及系统[编辑]

参考文献[编辑]

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