超级计算机

title: 历史.
content: 「超级计算机」一词并无明确定义,其含义随计算机业界的发展而发生变化。早期的控制数据公司机器可达十倍速于竞争对手,但仍然是比较原始的标量处理器。到了1970年代,大部分超级计算机就已经是向量处理器了,很多是新进者自行开发的廉价处理器来攻占市场。1980年代初期,业界开始转向大规模并行计算系统,这时的超级计算机由成千上万的普通处理器所组成。1980年代中叶,将适量的向量处理器(一般由8个到16个不等)联合起来进行并行计算成为通用的方法。1990年代以后到21世纪初,超级计算机则主要互联基于精简指令集的张量处理器(譬如PowerPC、PA-RISC或DEC Alpha)来进行并行计算。
title: 用途.
content: 超级计算机常用于需要大量运算的工作,譬如数值天气预报、运算化学、分子模型、天体物理模拟、汽车设计模拟、密码分析等。
title: 设计.
content: 超级计算机的创新设计在于把复杂的工作细分为可以同时处理的工作并分配于不同的处理器。他们在进行特定的运算方面表现突出,但在处理一般工作时却不那么优秀。他们的数据结构是经过精心设计来确保数据及指令及时送达——传递速度的细微差别可以导致运算能力的巨大差别。其输入/输出系统也有特殊设计来提供高带宽,但是这里的数据传输延迟却并不重要——超级计算机并非数据交换机。  根据阿姆达尔定律,超级计算机的设计都集中在减少软件上的序列化、用硬体在瓶颈上加速。
title: 技术挑战及其解决方案.
content: 因超级计算机而开发的技术:
title: 处理器技术.
content: 矢量处理因超级计算机而建立并用于高性能运算。矢量处理技术后来被用于普通计算机内的信号处理架构及单指令流多数据流,例如:电视游乐器及通用图形处理器等。
title: 操作系统.
content: 一般的超级计算机都使用Unix或类Unix操作系统,但在讲求绝对高效能的操作环境时,超级计算机开发人员会动用特别的轻量级核心(Light Weight Kernel-LWK),减少中断请求、行程间通讯等开销以提高效能。  轻量级核心包括Cray XT3的Catamount,Cray XT4的CNL (Compute Node Linux), 以及IBM蓝色基因的CNK(Compute Node Kernel)。
title: 编程环境.
content: 讯息传递接口及较旧的并列虚拟机器(PVM)常用于非共享内存系统(Distributed Memory System),而OpenMP常用于共享内存并行系统。  传统上Fortran的编译器可以产生比C或C++更高效能目的码,所以Fortran仍然被使用作科学编程。
title: 优化编译器.
content: 超级计算机需要编译器优化技术以产生优佳的目的码,现今的优化编译器都对向量化(Vectorization)、程序循环、内存阶层及数据局部性进行优化。  此外,优化编译器都以高层次的中间表示(Intermediate Representation)优化程序 - 包括Open64编译器的WHIRL、IBM XL编译器的Wcode。
title: 数学函数库.
content: 超级计算机主要执行科学运算等拥有大量向量及矩阵浮点计算的程序,因此优化常用的数学函数会提高运算效能。BLAS函数库使向量及矩阵浮点计算效能大大提高,而优佳化数学函数库则提高三角函数及平方根等数学运算。
title: 平行档案系统.
content: 平行档案系统属于分布式档案系统的一类,支援多客户端节点、多档案系统服务器,以及支援平行I/O(如MPI-IO、HDF5);现今流行的平行档案系统包括Lustre和PVFS。
title: 网络技术.
content: 超级计算机节点之间的通信一般都需要使用高性能的网络接口,现今大多TOP500的超级计算机使用以太网路(44.8%)及InfiniBand(41.8%)。  传统上InfiniBand比以太网路有更高的带宽,同时因操作系统呼叫省略(Operating System Bypass)而提供更低的延迟时间(latency);然而2011年思科系统开发VFIO技术于超级计算机和丛集应用,使一般的以太网路接口也能提供低延迟时间,从而提升以太网路在超级计算机的应用层面。
title: 通用超级计算机的类型.
content: 大致上可以分为三种:  根据摩尔定律及经济规模,一个现代的桌面计算机比15年前的超级计算机有更高性能,皆因某些超级计算机的设计已经放在桌面计算机内。再者,简单芯片的开发及生产成本比特意设计给超级计算机的更便宜。  超级计算机所处理的问题都适合并行化,当中减少处理单元之间的资料传送量。因此,传统的超级计算机可以被计算机丛集所代替。
title: 最快的超级计算机.
content: TOP500列表排名世界上最快的500台超级计算机 GREEN500 列表排名世界上最节能的超级计算机
title: 速度单位.
content: 超级计算机速度以每秒浮点运算次数"FLOPS"(floating-point operations per second)来作量度单位,常见的表示计算机中的峰值或速度用的单位英汉对照如下:  此外,由于浮点积和熔加运算或乘积累加是两次的浮点运算(每条FMA指令包括加/减及乘),因此当处理器支援FMA指令时,峰值是两倍每秒所能执行FMA指令的数目。
title: 目前最快的超级计算机.
content: 截至2018年4月9号,世界上运算速度最快的超级计算机是美国制的Summit(译为高峰或顶点超级电脑),其合作伙伴是IBM和英伟达(nVIDIA),Summit由IBM在英伟达帮助下为ORNL开发,耗资约2亿美元,占地面积相当于两个网球场。它的峰值运算性能为200PFlops,即每秒执行2京次浮点运算,将是其“同门师兄”、此前美国排名第一位超级计算机——同属ORNL旗下Titan的八倍。
title: 目前最节能的超级计算机.
content: 截至2017年11月14号,世界上最节能的超级计算机是日本国立理化学研究所的菖蒲超级计算机B型。
title: 专用超级计算机.
content: 专用超级计算机都是针对单一问题而开发的计算机。这些计算机都使用专门编程的FPGA芯片及超大型密集芯片,纵然牺牲普遍性也要提高成本效能比率。它们被用于天文物理学及密码破解之上。  例子:

Summary: 超级计算机(英语:Supercomputer),指能够执行一般个人电脑无法处理的高速运算的计算机,规格与性能比个人计算机强大许多。现有的超级计算机运算速度大都可以达到每秒一兆(万亿,非百万)次以上。「超级计算」(英语:supercomputing)这名词第一次出现,是在1929年《纽约世界报》关于IBM为哥伦比亚大学建造大型报表机(英语:tabulator)的报导。

Supercomputer: A supercomputer is a computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second (FLOPS) instead of million instructions per second (MIPS). Since 2017, there are supercomputers which can perform over a hundred quadrillion FLOPS (100 petaFLOPS, or PFLOPS). Since November 2017, all of the world's fastest 500 supercomputers run Linux-based operating systems. Additional research is being conducted in China, the United States, the European Union, Taiwan and Japan to build faster, more powerful and technologically superior exascale supercomputers.