跳转到主要内容

I.9 结束语

在此前五到十年间,大规模多处理器的格局发生了剧烈变化。规模最大的多处理器都采用了某种形式的集群,但将它们统称为“集群”,会掩盖体系结构、实现方式、成本和性能上的重大差异。Bell 和 Gray[2002]讨论了这一趋势,认为集群将占主导地位。Dongarra 等[2005]也认为,对于最大的多处理器,某种形式的集群几乎不可避免;但他们提出了更细致的分类,以区分各种不同方案。

图 I.20 汇总了用于大规模多处理器的术语,着重从体系结构和实现角度定义这些名称。图 I.21 展示了各种体系结构方案之间的层次关系。虽然过去十五年间方案有所趋同,但以 Linpack 基准评测世界上最快 500 台计算机的 TOP500 榜单,仍包含通用商品集群、定制集群、对称多处理器(SMP)、分布式共享内存系统(DSM)和 constellation;其中既有标量处理器,也有向量处理器。

术语特征示例
MPP最初指由大量小型处理器构成的一类体系结构;处理器通常为定制设计,体系结构通常采用 SIMD 方式。Connection Machines CM-2
SMP(对称多处理器)共享内存多处理器,各处理器与内存之间的关系对称,也称 UMA(均匀存储器访问)。可扩展版本采用多级互连网络,典型配置上限为 64–128 个处理器。SUN Sunfire、NEC Earth Simulator
DSM(分布式共享内存)以分布方式支持可扩展共享内存的一类体系结构。既有支持缓存一致性的实现,也有不支持的实现;通常可容纳数百至数千个处理器。SGI Origin 和 Altix、Cray T3E、Cray X1、IBM p5 590/5
集群(cluster)使用消息传递的一类多处理器。各节点可采用通用商品或定制设计,互连也一样。见通用商品集群与定制集群两行
通用商品集群(commodity cluster)节点完全采用通用商品,通常是无显示终端的工作站、主板或刀片服务器,通过 SAN 或 LAN 相连,通常经 I/O 总线访问网络。Beowulf 及其他自行组装的集群
定制集群(custom cluster)节点和互连均为定制设计,比通用商品集群集成得更紧密;也称分布式存储多处理器或消息传递多处理器。IBM Blue Gene、Cray XT3
Constellation将规模较小的多处理器组成集群,构成大规模多处理器。所用小规模多处理器通常采用 DSM 或 SMP 体系结构,并有 32 个或更多处理器。较大的 SGI Origin/Altix、ASC Purple
图 I.20 大规模多处理器的分类。MPP 原本具有表中所述含义,后来常被不够精确地泛用于全部大规模多处理器。按原书写作时的情况,正在商业出货的多处理器没有一种是原始含义上的真正 MPP,但未来这种方案可能有意义。SMP 和 DSM 两类都包含支持向量的多处理器。Constellation 有多种用法,表中的用法既直观又精确[Dongarra 等,2005]。

表中的 IBM p5 590/5 产品名称按原表保留。Constellation 在这里是特定系统分类名,保留英文,以免另造中文名称造成歧义。

不过,从 TOP500 榜单中各类多处理器的分布,仍能看出一些正在形成的趋势:

  1. 集群占据系统总数的大多数。 开发工作量较小,显然是其日益普及的动力。高端多处理器市场还没有发展到足够大的规模,无法让全盘高度定制的设计成为主流选择。
  2. 多数集群采用通用商品。 它们往往由用户自行组装,而非由系统厂商设计成标准产品。
  3. 榜单前 25 名的类型更为多样。 尽管通用商品集群在总数上占主导地位,前 25 名却包括九个定制集群,主要是 Blue Gene 或 Cray XT3;两个 constellation;八个通用商品集群;两个 SMP,其中一个是节点采用向量处理器的 NEC Earth Simulator;以及四个 DSM 多处理器。
  4. 向量处理器几乎消失。 它们曾经占据榜单的主导地位。
  5. IBM Blue Gene 主导前十名。 这体现了其设计取舍的优势:采用部分通用商品处理器核心,定制许多其他功能,并兼顾性能、功耗和封装密度。
  6. 体系结构趋同更多源自市场作用。 增长不足、供应商有限等因素的推动,比对“最佳体系结构方案”形成明确共识更强。
大规模多处理器的体系结构分类树
图 I.21 大规模多处理器的设计空间,以及不同类别之间的关系。

图中顶层按地址空间分为两支。共享地址空间下分为对称共享内存 SMP(IBM eServer、SUN Sunfire)和分布式共享内存 DSM;DSM 再区分为缓存一致的 ccNUMA(SGI Origin/Altix)与不支持缓存一致性的系统(Cray T3E、X1)。分布式地址空间下分为通用商品集群(Beowulf 等)和定制集群;定制集群再分为节点结构统一的集群(IBM Blue Gene),以及由 DSM 或 SMP 组成的 constellation 集群(SGI Altix、ASC Purple)。

软件——包括应用程序、编程语言和编程环境——仍是并行计算的重大挑战,就像三十年前设计 Illiac IV 等多处理器时一样。编程容易与并行性能高,仍难以兼得。在这个方面取得更大进展之前,要向单一编程模型及其底层体系结构方案收敛,进程仍会缓慢,或者由已获证实的体系结构优势以外的因素推动。别忘了,对于单处理器,我们实质上已经有一种编程模型和一种体系结构方案!

表格阅读