# I.1 引言
<!-- source: p1177 -->

大规模多处理器的主要用途是真正的并行程序设计。它不同于多道程序运行或面向事务的计算：后两者并行执行相互独立的任务，任务之间没有多少交互；在真正的并行计算中，一组任务协同执行同一个应用。并行计算的主要目标是科学与工程技术应用。相比之下，Web 服务器和多数事务处理应用等松耦合商业应用，任务之间很少通信。由于任务间通信稀少，松耦合集群通常就足以满足这些应用的要求，而且最具成本效益。

真正的并行计算涉及彼此协作的任务，因此，任务间通信的性质以及硬件如何支持通信，对应用性能有决定性影响。本附录下一节将讨论这些问题，以及不同通信模型的特点。

顺序程序的性能主要取决于缓存行为和指令级并行相关因素；并行程序还具有若干影响性能的重要特征，包括并行度、并行任务的大小、任务间通信的频率和性质，以及同步的频率和性质。这些方面既受应用本身性质的影响，也受编程风格的影响。I.3 节将介绍几种科学应用的重要特征，帮助读者认识这些问题。

正如第 5 章所见，同步对获得良好性能可能至关重要。在大规模多处理器中，可能需要同步的并行任务更多，因而同步引起的争用也严重得多。I.4 节讨论如何扩展第 5 章的同步机制。

I.5 节深入分析共享内存并行应用在中等规模共享内存多处理器上的性能。我们将看到，其行为和性能特征比小规模共享内存多处理器复杂得多。I.6 节讨论如何考察不同规模多处理器的并行性能这一普遍问题。I.7 节研究分布式共享内存缓存一致性的实现挑战；这是中等规模多处理器采用的关键体系结构方法。I.7、I.8 两节要求读者对互连网络有基本了解，阅读前至少应快速浏览附录 F。

I.8 节探讨 Blue Gene 的设计：在原文所述时期，它是最新、最令人振奋的大规模多处理器之一。Blue Gene 采用集群结构，但使用专为此用途设计的定制高密度节点；此前多数集群多处理器的节点体系结构，则类似于桌面计算机或较小规模多处理器的节点。<!-- source: p1178 -->定制节点显著降低了节点成本、物理尺寸和功耗。拥有 64K 个节点的 Blue Gene/L，在 2006 年按线性代数基准 Linpack 衡量，是世界上最快的计算机。
