1.13 结束语
本章介绍了一系列概念,并建立了一个定量分析框架,后续各章将在此基础上继续展开。从上一版开始,能效便始终与性能相伴,成为贯穿全书的主题。
第 2 章从至关重要的存储系统设计入手。我们将考察多种技术如何协同工作,使存储空间看起来无限大,同时又尽可能快。
对于缓存相关经验和背景不足的读者,附录 B 提供了入门材料。正如后续章节所展示的那样,软硬件协作已经成为高性能存储系统的关键,就像它对高性能流水线同样关键一样。
第 3 章讨论指令级并行性(ILP),其中流水线是最简单、最常见的形式。利用 ILP,是构建高速单处理器最重要的技术之一。第 3 章首先充分讨论基本概念,为理解这两章中将要考察的众多思想做好准备。1 这一章选用的实例横跨近 50 年,从最早的超级计算机之一 IBM 360/91,一直到当今市场上最快的处理器。重点是以动态方式、也就是在运行时利用 ILP。它还讨论 ILP 思想的局限,并引入多线程;第 4、5 章将继续深入这一主题。对于流水线相关经验和背景不足的读者,附录 C 提供了入门材料。我们预计,这些内容对许多读者来说只是复习,包括读过我们入门教材 Computer Organization and Design: The Hardware/Software Interface 的读者。
第 4 章介绍利用数据级并行性(DLP)的三种方式。最经典、历史最悠久的方法是向量体系结构,因此我们从这里开始,奠定 SIMD 设计的基本原理。(附录 G 更深入地讨论向量体系结构。)随后介绍当今大多数桌面微处理器都具有的 SIMD 指令集扩展。第三部分深入解释现代 GPU 的工作方式。多数 GPU 介绍从程序员的角度出发,往往掩盖了计算机真正的工作机制。本节则从内部实现的角度解释 GPU,包括 GPU 术语与传统体系结构术语之间的对应关系。
第 5 章关注如何利用多个处理器,也就是多处理器系统,来获得更高性能。与利用并行性来重叠执行单条指令不同,多处理利用并行性,让多条指令流在不同处理器上同时执行。我们的重点是最主要的多处理器形式——共享内存多处理器。不过,也会介绍其他类型,并讨论任何多处理器都要面对的普遍问题。这里同样会考察多种技术,重点放在 20 世纪 80、90 年代首次提出的那些重要思想上。
第 6 章先介绍集群,再深入讨论支撑现代云计算时代的仓库级计算机(WSC)。WSC 的设计者,堪称 Seymour Cray 等超级计算机先驱在专业上的继承人:他们同样在设计规模极大的计算机。一个 WSC 包含数万台服务器,设备及容纳设备的建筑成本接近 2 亿美元。前面各章关注的性价比与能效,同样适用于 WSC;基于定量分析作决策的方法也依然适用。本章还介绍虚拟机,这是实现安全云计算的一项关键技术。
第 7 章介绍领域专用体系结构:在 Moore 定律和 Dennard 缩放规律失效的背景下,这是继续提高性能与能效的唯一出路。它给出构建有效的领域专用体系结构的指导原则,介绍令人振奋的深度神经网络领域,分析四个近期实例——它们采用截然不同的方式加速神经网络——并比较其性价比。本版完稿之际,人工智能热潮空前高涨,不禁让人思考:从现在到下一版问世,通用 CPU 与 AI 加速器,究竟哪一方会获得更多投入?
本书还附有大量在线材料,详情见前言。这样做既是为了降低成本,也为了向读者介绍各种高级主题。图 1.27 列出了全部附录。书中收录的附录 A 至 C,对许多读者来说将是一次复习。
附录 D 不再以处理器为中心,而是讨论存储系统的问题。我们同样采用定量方法,但以系统行为的观察为基础,并从端到端的角度分析性能。该附录探讨一个重要问题:如何主要利用成本较低的磁存储技术,高效地存储和检索数据。重点是考察磁盘存储系统在典型 I/O 密集型负载下的性能,例如本章提到的 OLTP 基准测试。我们还深入讨论基于 RAID 的系统中的高级问题;这类系统用冗余磁盘同时实现高性能与高可用性。最后,附录 D 介绍排队论,为权衡利用率与延迟提供依据。
附录 E 从嵌入式计算的角度,重新审视各章及前面几个附录中的思想。
附录 F 广泛探讨系统互连,包括让计算机彼此通信的广域网与系统区域网络。
| 附录 | 标题 |
|---|---|
| A | 指令集原理 |
| B | 存储层次结构回顾 |
| C | 流水线:基础与中级概念 |
| D | 存储系统 |
| E | 嵌入式系统 |
| F | 互连网络 |
| G | 深入探讨向量处理器 |
| H | VLIW 与 EPIC 的硬件和软件 |
| I | 大规模多处理器与科学应用 |
| J | 计算机算术 |
| K | 指令集体系结构概览 |
| L | 地址转换的高级概念 |
| M | 历史回顾与参考文献 |
图 1.27 附录目录。
附录 H 回顾超长指令字(VLIW)的硬件与软件。相比之下,自 Hewlett-Packard 与 Intel 的 EPIC 在 1997 年登场以来,VLIW 在通用计算中的受欢迎程度已经下降。最终,它在数字信号处理器和领域专用体系结构中找到了用武之地。
附录 I 介绍用于高性能计算的大规模多处理器。
附录 J 是唯一从第 1 版保留下来的附录,讨论计算机算术。
附录 K 概览多种指令体系结构,包括 x86、IBM 360、VAX,以及众多 RISC 体系结构,例如 ARM、MIPS、Power、RISC-V 和 SPARC。
附录 L 讨论内存管理的高级技术,重点是虚拟机支持,以及面向超大地址空间的地址转换设计。随着云端处理器的发展,这些体系结构改进正在变得更加重要。
接下来介绍附录 M。
译注:此处原文确写“both chapters”,但所在段落仅明确介绍第 3 章,另一章的指代不清。 ↩︎