跳转到主要内容

G.9 历史回顾与参考文献

本节补充第 4 章历史回顾中未展开的一些细节和参考文献。

CDC STAR 处理器及其后继 CYBER 205 都是存储器—存储器型向量处理器。为了简化硬件,同时满足很高的带宽要求——每次浮点运算最多需要三次访存——这些处理器不能高效处理非单位步长访问。虽然多数循环采用单位步长,但非单位步长循环在这些处理器上的性能很差,因为必须在存储器之间移动数据,才能将不相邻的向量元素收集到一起,随后再分散回去;这些操作使用专门的 scatter-gather 指令。此外,处理器还为稀疏向量提供专门支持:用一个位向量标示零元素和非零元素的位置,并用一个稠密向量保存非零值。由于存储器延迟很长,这些较复杂的向量操作速度较慢;对于稀疏或非单位步长操作,采用标量方式往往更快。Schneck [1987] 介绍了从早期流水线处理器(例如 Stretch)到第一代向量处理器的发展,其中包括 205 和 Cray-1。Dongarra [1986] 也作了很好的综述,重点是较新的处理器。

20 世纪 80 年代还出现了规模较小的向量处理器,称为小型超级计算机(minisupercomputer)。它们的价格约为超级计算机的十分之一:50 万~100 万美元,而后者为 500 万~1000 万美元,因此很快流行起来。虽然许多公司进入了这一市场,但最成功的是 Convex 和 Alliant。Convex 最初推出单处理器 C-1 向量机,随后提供一系列小型多处理器系统,最后一款是 1994 年宣布的 C-4。这段时期 Convex 成功的关键,在于重视 Cray 软件兼容能力、编译器的有效性(见图 G.9),以及 UNIX 操作系统实现的质量。C-4 是 Convex 销售的最后一款向量机;此后,该公司转向使用 Hewlett-Packard 的 RISC 微处理器构建大型多处理器系统,并于 1995 年被 HP 收购。Alliant [1987] 更重视多处理器方面,构建了一台八处理器计算机,每个处理器都具有向量能力。Alliant 于 20 世纪 90 年代初停止运营。

20 世纪 80 年代初,CDC 分拆出一个名为 ETA 的团队,开发性能达 10 GFLOPS 的新型超级计算机 ETA-10。ETA 处理器于 80 年代末交付(见 Fazio [1987]),采用低温 CMOS,最多可配置 10 个处理器。每个处理器都沿用基于 CYBER 205 的存储器—存储器体系结构。虽然 ETA-10 的峰值性能极高,但标量速度并未达到相应水平。1989 年,作为第一家超级计算机厂商的 CDC 关闭了 ETA,并退出超级计算机设计业务。

1986 年,IBM 推出 System/370 向量体系结构(见 Moore 等人 [1987]),以及它的首个实现 3090 Vector Facility。这一体系结构在 System/370 的基础上增加了 171 条向量指令。3090/VF 集成在 3090 CPU 内。与当时多数向量处理器不同,3090/VF 的向量数据经过缓存。IBM 370 系列此后不断演进,后来称为 IBM zSeries。向量扩展已从该体系结构中移除,一部分操作码空间被重新用于实现 64 位地址扩展。

1989 年末,Cray Research 分为两家公司,双方都致力于开发可在 90 年代初推出的高端处理器。Seymour Cray 领导其中分拆出来的 Cray Computer Corporation,直到该公司于 1995 年倒闭。其首款处理器 Cray-3 原计划采用砷化镓实现,但公司未能开发出可靠且具有成本效益的实现技术。1993 年,一台 Cray-3 原型机交付美国国家大气研究中心(NCAR)作评估之用,但该设计没有找到付费客户。公司申请破产时,原计划成为首款 1 GHz 处理器的 Cray-4 原型机已接近完成。1996 年因车祸不幸去世前不久,Seymour Cray 又创办了 SRC Computers,开发高性能系统,不过这一次采用通用商品组件。2000 年,SRC 宣布推出 SRC-6 系统,结合了 512 颗 Intel 微处理器、50 亿门可重构逻辑,以及一个高性能的向量式存储器系统。

Cray Research 则专注于 C90。这款新的高端机器最多具有 16 个处理器,时钟频率为 240 MHz,于 1991 年交付。J90 是采用 CMOS 和 DRAM 主存的向量机,起价 25 万美元,但典型配置约为 100 万美元。原书记载,1995 年年中,Cray Research 被 Silicon Graphics 收购;1998 年,该公司推出 SV1 系统,将速度显著更高的 CMOS 处理器接入 J90 存储器系统,并为各 CPU 增加向量数据缓存,以帮助满足增长的存储器带宽需求。SV1 还引入了 MSP 概念:通过组合多个较慢的 CPU,获得具有竞争力的单 CPU 性能。2000 年,Silicon Graphics 将 Cray Research 出售给 Tera Computer,合并后的公司更名为 Cray Inc。

现代向量化编译器技术的基础,以及数据依赖这一概念,由伊利诺伊大学的 Kuck 及其同事 [1974] 建立。Banerjee [1979] 提出了以他命名的检验方法。Padua 和 Wolfe [1986] 对向量化编译器技术作了很好的概述。

Lubeck、Moore 和 Mendez [1985]、Bucher [1983] 以及 Jordan [1987],都开展过不同超级计算机的基准测试研究,并尝试理解性能差异。有若干面向科学计算的基准测试套件,经常用于超级计算机性能评测,其中包括 Linpack 和 Lawrence Livermore Laboratories FORTRAN kernels。伊利诺伊大学协调收集了一组超级计算机基准测试,称为 Perfect Club。1993 年,Perfect Club 并入 SPEC;后者于 1996 年发布面向高端科学计算的 SPEChpc96 基准测试套件。NASA Ames Research Center 开发的 NAS parallel benchmarks [Bailey 等人 1991],已成为广泛用于超级计算机评估的一组计算内核和应用程序。后来又出现了 HPC Challenge 基准测试套件:除浮点性能外,其中的若干计算内核还着重考察存储器和互连带宽 [Luszczek 等人 2005]。虽然标准超级计算机基准测试可以粗略衡量机器能力,但在采购大型超级计算机之前,通常仍会根据客户现场实际需要运行的应用组合,进行细致的性能评估。