超级计算机
维基百科,自由的百科全书
超级计算机(Supercomputer),指在计算速度或容量上领先世界的电子计算机。它的体系设计和运作机制都与人们日常使用的个人电脑有很大区别。现有的超级计算机运算速度大都可以达到每秒兆(万亿,非百万)次以上。因此无论在运算力及速度都是全球顶尖。超级计算机第一次被使用是在媒体“纽约世界”于1920年关于万国商业机器为哥伦比亚大学建造制表机的报导。
1960年代,超级计算机由希穆尔·克雷在Control Data Corporation里设计出来并带领市场直到1970年代克雷创立自己的公司克雷研究。凭着他的新设计,他控制了整个超级计算机市场,并占据颠峰位置长达五年(1985-1990)。到了1980年代,正值小型电脑市场萌芽阶段,大量小型对手加入竞争。在1990年代中叶,很多对手受不了市场的冲击而消声匿迹。今天,超级计算机成了一种由像国际商用机器公司及惠普等大型电脑公司所特意设计的电脑。虽然这些公司通过不断并购其他公司而增强了自己的经验,但除他们以外的元老公司——克雷研究——依然是超级计算机领域的巨头。
超级计算机一词并无明确定义,其含义随计算机业界的发展而发生变化。早期的控制数据公司机器可达十倍速于竞争对手,但仍然是比较原始的标量处理器。到了1970年代,大部分超级计算机就已经是矢量处理器了,很多是新晋者自行开发的廉价处理器来攻占市场。1980年代初期,业界开始转向大规模并行运算系统,这时的超级计算机由成千上万的普通处理器所组成。1980年代中叶,将适量的矢量处理器(一般由8个到16个不等)联合起来进行并行计算成为通用的方法。1990年代以后到21世纪初,超级计算机则主要由基于精简指令集(RISC)的处理器(譬如PowerPC或PA-RISC)互联进行并行计算而实行。
目录 |
[编辑] 软件
分布式运算所用的软件包括一些标准的应用编程介面(如信息传递介面及并行虚拟机器)及开放源码软件(例如openMosix可以把很多普通的电脑联合成虚拟超级计算器)。
零设定技术方便了即兴建立电脑分布计算网络,而为超级计算机制作容易的编程语言仍然是运算科学的研究课题。
[编辑] 用途
超级计算机常用于需要大量运算的工作,譬如天气预测、气候研究、运算化学、分子模型、物理模拟、密码分析等等。
[编辑] 设计
超级计算机的创新设计在于把复杂的工作细分为可以同时处理的工作并分配于不同的处理器。他们在进行特定的运算方面表现突出,但在处理一般工作时却差强人意。他们的数据结构是经过精心设计来确保数据及指令及时送达——传递速度的细微差别可以导致运算能力的巨大差别。其输入/输出系统也有特殊设计来提供高带宽,但是这里的数据传输延迟却并不重要——超级计算机并非数据交换机。
根据Amdahl's law,超级计算机的设计都集中在减少软件上的序列化、用硬体在瓶颈上加速。
[编辑] 挑战与科技
- 超级计算机常产生高热,需要冷却。冷却是很大的通風空調[1]问题。
- 资讯传送不能比光快。几米的距离导致几十纳秒的延误,而克雷着名的环型设计保持了最短距离。
- 超级计算机在短时间耗用及生产大量数据,需要投入很多资源确保资讯妥善传送及存取。
因超级计算机而开发的科技:
[编辑] 处理技术
矢量处理因超级计算机而建立并用于高性能运算。矢量处理技术後来被用于普通电脑内的信号处理架构及单指令流多数据流(SIMD)。例如:电视游乐器、图像卡等。
[编辑] 操作系统
超级计算机操作系统虽然是UNIX的变种,但比小型电脑的复杂一点。一般都倾向减少开发它的用户介面,因为可以减少浪费资源在不必要的工作上。同样的道理应用到价值几百万的电脑身上。这个惯例延续到超级计算机,例如SGI都会使用NVIDIA。NVIDIA制造廉价、多功能、高性能的产品。
1980年代初期,超级计算机通常会为了追求性能而牺牲指令集的兼容性及运载速度。它们会使用不同类型的操作系统。雷克-1曾使用6个专属操作系统及并行矢量版本的FORTRAN编译器。
[编辑] 编程
超级计算机的并行架构需要特别编程技术来提高速度。Fortran的专门编译器可以产生的源码,运行比C或C++的更快,所以Fortran仍然被选用作科学编程。为了开发超级计算机的并行性都使用紧接分享记忆的并行虚拟器及信息传递介面。
[编辑] 通用超级计算机的类型
大致上可以分为三种:
- 矢量处理机器能为大量数据同时进行同样的运算。
- 丛集式处理器特别建立连接处理器及记忆体的通信网络,非均匀访存模型就是最常见的。最快的超级计算机就是使用这个科技。
- 商品电脑丛集使用高带宽低延误的网络来连接大量普通商品电脑。
根据摩尔定律及经济规模,一个现代的桌面电脑比15年前的超级计算机有更高性能,皆因某些超级计算机的设计已经放在桌面电脑内。再者,简单晶片的开发及生产成本比特意设计给超级计算机的更便宜。
超级计算机所处理的问题都适合并行化,当中减少处理单元之间的资料传送量。因此,传统的超级计算机可以被电脑丛集所代替。
[编辑] 专用超级计算机
专用超级计算机都是针对单一问题而开发的电脑。这些电脑都使用专门编程的FPGA晶片及超大型密集晶片,纵然牺牲普遍性也要提高成本效能比率。它们被用于天文物理学及密码破解之上。
例子:
- 深蓝, (下棋)
- 可再重设电算
- GRAPE, 天文物理
- Deep Crack, DES解码器
[编辑] 现今最快超级计算机
[编辑] 量度速度
超级计算机速度以每秒的浮点运算"FLOPS" 来作量度单位。 常见的表示电脑中的数量或速度用的单位英汉对照如下:
(电脑中的进制在涉及缩写时通常是以2^10(1024)为进制的)
1K=2^10=1,024
1M=2^20=1,024*1,024=1,048,576
1G=2^30=1,024*1,024*1,024=1,073,741,824
1T=2^40=1,024*1,024*1,024*1,024=1,099,511,627,776
1P=2^50=1,024*1,024*1,024*1,024*1,024=1,125,899,906,842,624
[编辑] 现在的超级计算机
2007年11月,IBM的Blue Gene/L原型变成了目前最快的超级计算机。它是单一机器安装了32768处理器,运算能力高达478.2 TFLOPS (兆次)(1012 FLOPS)。Blue Gene/L原型是PowerPC架构的修改版本,正式运作版本被推出到很多地点,包括罗兰士利物摩亚国家实验室(Lawrence Livermore National Laboratory)。2005年10月28日,虽然运算能力高,但比预期的360TFLOPS低,将来的版本会提高到0.5PFLOPS。以前,一台 Blue Gene/L安装了131072处理器,运算力高达101.5TFLOPS。[1] 2005年11月,IBM Blue Gene/L 成了首500强超级计算机排名榜的第一名。[2]
现在Google server farm可算是世界上最高性能的超级计算机。
[编辑] 过往的超级计算机
在Blue Gene/L之前,最快的超级计算机是日本电气株式会社在横滨地球科学学院的地球模拟器。它是由640个特别设计的8阶矢量处理器根据NEC SX-6架构所组成的丛集。它使用UNIX的修改版本。
面世的一刻,地球模拟器的速度是比以前最快的超级计算机(美国加州罗兰士利物摩亚国家实验室的ASCI White)还要快4倍。它的冠军位置维持了2.5年。
首500强超级计算机排名榜可见于 http://www.top500.org/ 。
[编辑] 类超级运算
某些分布式运算把丛集超级运算推至极限。例如SETI@home计划现在平均有72.53TFLOPS运算能力。[3].
2005年5月16日,Folding@home声称拥有195TFLOPS运算能力。[4] 2007年3月25日,藉由PS3强大的平行运算能力[5],Folding@home的总运算效能达到0.7PFLOPS,其中PS3占了72%的运算量。[6]
GIMPS运算能力也高达18TFLOPS。
Google的搜寻引擎系统总处理能力界乎于126及316TFLOPS之间。Tristan Louis估计这个系统等于32000至79000台双2 GHzXeon电脑。[7] 由于散热问题,Google的搜寻引擎系统应该属于网格运算。
[编辑] 超级计算机时间线
由古至今:
中国的超级计算机是曙光5000,发布于2008年6月24日,计算速度为200TFLOPS。
[编辑] 科幻中的超级计算机
[编辑] 参见
[编辑] 历史及概念
[编辑] 其他类型
[编辑] 超级计算机公司及系统
- 丛集资源公司
- 克雷研究公司
- 富士通
- 星盈科技(Galactic Computing Corp.)
- Groupe Bull(法国公司曾宣称制造欧洲最高性能的超级计算机)
- IBM
- nCUBE
- NEC
- 超级计算机系统
- SGI
[编辑] 超级计算机
[编辑] 外部连结
[编辑] 资源
[编辑] 中心及组织
- HPCx 英国超级计算机服务,由EPCC及Daresbury实验室营运
- CSAR 英国超级计算机服务,由曼彻斯特电算营运
- HPC-UK 由曼彻斯特电算、EPCC及Daresbury Lab策略协办
- 圣地牙哥巨型电脑中心(SDSC)
- Teragrid
- WestGrid
- VirginiaTech
- IRB
- SARA
- 匹兹堡巨型电脑中心,由匹兹堡大学和卡内基梅隆大学营运
- LinuxHPC.org
- 国家高速网路与计算中心 位于台湾新竹,是中华民国国家实验研究院的附属机构。
[编辑] 通用的超级计算机
- 惠普宣布建立Linux超级计算机
- Linux NetworkX新闻报导: Linux NetworX 建立最大的Linux超级计算机
- 有关ASCI White 报导
- 有关日本地球模拟器
- 地球模拟器(英语)
- NEC 高性能运算资料
- 超导体超级计算机
[编辑] 专用的超级计算机
[编辑] 註腳
- ^ 英文原文為HVAC,即「heating, ventilation, and air conditioning」的首字母縮略字,中文直譯為「加熱、通風、空調」,是建築技術領域的一個子領域,這裡依照實際情形,略作「通風空調」,因為超级计算机運作時對加熱的要求顯然不高。請參見英文版維基百科條目HVAC。
|
|
|
|---|---|
| 概论 | |
| 方式 | |
| 理论 |
Speedup · Amdahl定理 · Flynn's taxonomy (SISD • SIMD • MISD • MIMD) · Cost efficiency · Gustafson定理 · Karp-Flatt metric |
| 元素 | |
| 协调 |
多處理 · 多執行緒 · 多工 · Memory coherency · Cache coherency · Barrier · 同步化 · 分布式计算 · 网格计算 |
| 编程 | |
| 硬件 | |
| 软件 | |
| APIs | |
| 问题 | |