超级计算机![]()
超级计算机(英語: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]、密码分析等。 ![]() 设计超级计算机的创新设计在于把复杂的工作细分为可以同时处理的工作并分配于不同的处理器。他们在进行特定的运算方面表现突出,但在处理一般工作时却不那麼優秀。他们的数据结构是经过精心设计来确保数据及指令及时送达——传递速度的细微差别可以导致运算能力的巨大差别。其输入/输出系统也有特殊设计来提供高頻寬,但是这裡的数据传输延迟却并不重要——超级计算机并非数据交换机。 根据阿姆达尔定律,超级计算机的设计都集中在减少软件上的序列化、用硬件在瓶颈上加速。 技术挑战及其解决方案
因超级计算机而开发的技术: 处理器技术矢量处理因超级计算机而建立并用于高性能运算。矢量处理技术後来被用于普通计算机内的信号处理架构及单指令流多数据流,例如:家用游戏机及通用圖形處理器等。[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年前的超级计算机有更高性能,皆因某些超级计算机的设计已经放在桌面计算机内。再者,简单晶片的开发及生产成本比特意设计给超级计算机的更便宜。 超级计算机所处理的问题都适合并行化,当中减少处理单元之间的资料传送量。因此,传统的超级计算机可以被计算机丛集所代替。 最快的超级计算机![]() GREEN500 列表排名世界上最节能的超级计算机[24] 速度單位超级计算机速度以每秒浮點運算次數"FLOPS"(floating-point operations per second)来作量度单位,常见的表示计算机中的峰值或速度用的单位英汉对照如下:
此外,由於浮點積和熔加運算或乘積累加是兩次的浮點運算(每條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] 过往的超级计算机
![]()
类超级运算![]()
超級電腦時間線
专用超级计算机专用超级计算机都是针对单一问题而开发的计算机。这些计算机都使用专门编程的FPGA晶片及超大型密集晶片,纵然牺牲普遍性也要提高成本效能比率。它们被用于天文物理学及密码破解之上。 例子:
科幻中的超级计算机
注释參考文獻
外部链接
参见
|
Portal di Ensiklopedia Dunia