克雷-2(Cray 2)——1985年至1989年時全球最快计算机
超级计算机 (英語:Supercomputer ),指能够执行一般个人电脑 无法处理的高速运算的计算机,规格与性能比个人计算机强大许多。现有的超级计算机运算速度大都可以达到每秒一兆 (万亿,非百万)次以上。「超级计算」(supercomputing )這名詞第一次出現,是在1929年《纽约世界报 》关于IBM 为哥伦比亚大学 建造大型制表机 (tabulator )的报导。[ 1]
1960年代,超级计算机由西摩·克雷 在控制数据公司 裡设计出来并领先市场直到1970年代克雷创立自己的公司──克雷研究 。凭着他的新设计,他控制了整个超级计算机市场,并占据颠峰位置长达五年(1985年-1990年)。到了1980年代,正值小型计算机市场萌芽阶段,大量小型对手加入竞争。在1990年代中期,很多对手受不了市场的冲击而消声匿迹。今天,超级计算机成了一种由像IBM 及惠普 等大型计算机公司所特意设计的计算机。虽然这些公司通过不断并购其他公司而增强了自己的经验,克雷研究依然是超级计算机领域的巨头之一。
歷史
「超级计算机」一词并无明确定义,其含义随计算机业界的发展而发生变化。早期的控制数据公司机器可达十倍速于竞争对手,但仍然是比较原始的标量处理器 。到了1970年代,大部分超级计算机就已经是向量处理器 了,很多是新進者自行开发的廉价处理器来攻占市场。1980年代初期,业界开始转向大规模并行计算 系统,这时的超级计算机由成千上万的普通处理器所组成。1980年代中叶,将适量的向量处理器(一般由8个到16个不等)联合起来进行并行计算成为通用的方法。1990年代以后到21世纪初,超级计算机则主要互联 基于精简指令集 的张量处理器 (譬如PowerPC 、PA-RISC 或DEC 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 的编译器可以產生比C 或C++ 更高效能目的碼,所以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]
过往的超级计算机
此條目需要更新 。 (2019年2月7日 )
IBM藍色基因
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年。
类超级运算
日本富士通 和理化学研究所 開發的超级计算机京 ,已於2019年8月30日退役
超級電腦時間線
专用超级计算机
专用超级计算机都是针对单一问题而开发的计算机。这些计算机都使用专门编程的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』才得以重建。
树状图设计者,来自日本动漫《魔法禁书目录 》和《科學超電磁砲 》中以分析气象资料为借口,搭载于织女星一号卫星上的超级计算机;每月会运算一次地球上所有空气粒子运动,可一次运算一个月的天气;其他日子就用来对学园都市的许多研究进行科研运算。在《魔法禁书目录》中被茵蒂克丝的魔法在太空中击毁,而其核心被回收之后被一方通行彻底摧毁。
注释
參考文獻
外部链接
超级计算资源
超级计算中心及组织
参见
超级计算的历史和相关概念
其他计算机 类型
超级计算机公司及产品