Algorithm 版 (精华区)
发信人: sigmod (sigmod), 信区: Algorithm
标 题: 并行计算机体系结构
发信站: 哈工大紫丁香 (2001年11月14日12:32:29 星期三), 站内信件
Parallel Computer Architecture(A Hardware/Software Approach)
-David E.Culler
引言部分的译文
引言
在过去十年,我们从计算机系统性能的爆炸性增长中获益匪浅。
VLSI技术的迅猛发展成为了这一段传奇史的主旋律,它使得时
钟频率不断提升,单一芯片中集成的元器件数量越来越多。故
事情节围绕计算机体系结构展开,计算机体系结构将工艺技术
的原始潜能转化为计算机系统的更高性能和更强的运算能力。
整个故事的领衔主演是并行性。更多的资源意味着可以按并行
方式来同时执行更多的操作。并行计算机体系结构研究怎样组
织这些资源,才能使它们更好地一起工作。所有类型的计算机
都是通过更加有效地利用并行性,来从线有的工艺技术中获取
高的性能,并且开发并行性的级别也在不断
提升。另一关键的角色是存储系统(storage)。处理数据的速度
越来越快,这些数据必须存放于系统的某处。因而, 并行处理
的研究(译者注:原文为"这一故事")是与数据局部性和数据
通信紧密相连的。计算机体系结构设计人员在计算机系统的不
同层次设计中,必须明辩这些不断变化的关系,只有这样才能
在任何特定时间,在工艺技术和成本的约束下获得最高性能和
最佳的可编程性。
由于并行性适用于设计的各个层次,在本质上,它与所有其他
的体系结构概念之间都存在相互影响,且它与底层工艺技术有
着独特的的相关性,因而从并行性的角度来理解计算机体系结
构很有意义。特别是,在并行计算机系统设计的很多层次,都
需要考虑局部性、带宽、时延(latency)、同步等基本问题。
于是,就必须在处理实际应用负载的情况下,在多方面进行权
衡。并行计算机体系结构与设计的任何其他方面一样,包括一
些形态和功能单元。如下定义较好地把握了这些单元
(Almasi and Gottlieb 1989):
并行计算机是"一组相互通信、相互协作以快速求解大型问题的处理单元";
然而,这一简单定义却引发了许多问题。我们所说的一组单
元到底有多少?单一处理单元的性能有多强? 处理单元数是
否能够以某种简单方式不断增大? 这些单元相互之间如何通
信和协作? 处理器之间如何传送数据,提供哪种类型的互联
方式,以及可以使用哪些操作来对不同处理器完成的动作编
号? 对程序员而言,什么是硬件和软件的原语抽象?最后,
上述这些因素如何影响(系统)性能? 在回答这些问题中,
我们将看到,在满足现代计算需求方面,无论是少量处理单
元的系统,还是适量和大量处理单元的系统都发挥着重要作
用。因而,完整地理解不同规模(从小规模到大规模)的并
行机器是非常重要的。一些设计原则适用于所有规模的并行
性;一些原则却与特定机型,例如片内、机箱内或超大型机
器,有着密切关系。可以有把握地说并行机器占据了广阔且
多样的设计空间。这种多样性使得这一领域令人兴奋,但是
这也意味着(我们)开发一个适用于理解许多设计选择的简
明框架是非常重要的。并行体系结构本身变化很快。历史上
,并行机器(通常)表现为:在给定的工艺技术下,系统设
计人员为追求最高性能而提出的创新性组织结构,它们通常
依赖于特定编程模型。在许多情况下,一些激进的机器组织
方法被证明是合理的,而其立论基础的基本工艺技术发展却
最终被淘汰。事实说明,这些可怕的预测已经被明显夸大了
,例如逻辑单元密度、开关速度一直在不断改
进,并且在更低的级别可以开采更加适度的并行性,这些技
术都保证了处理器性能持续不断的得以改进。即使如此,实
际应用对计算性能的需求增长还是超出独立处理器可以提供
的性能范围,多处理器系统在主流计算中占据着越来越重要
的位置。不断改变的是这些并行体系结构的新奇性。即使是
当今的大规模并行机器也是利用大量工作站和个人计算机这
样的基本部件建造而成的。它们从属于相同的工程原理和成
本性能权衡此外,为了获得最大可能的性能,并行机器必须
力求完全利用它的每个组成部件的全部潜在性能。因而,理
解现代并行计算机体系结构就必然包括对工程权衡的深层次
把握,而并非仅仅是根据机器结构的描述性分类术语。并行
体系结构将在信息处理中发挥越来越关键的 作用。上述观
点仅仅基于独立处理器性能将很快稳定这一假设,但更重要
的是根据如下预测:伴随着芯片密度的增长,系统设计的下
一层次,即多处理器层次将越来越具吸引力。
本书的目的就是阐明多处理器级别计算机设计的原理。本书
将讨论有关各种系统部件(处理器、存储系统和网络)的设计
问题及这些部件之间的关系。其中的一大要点是理解在并行
机器演化中硬件和软件之间的职责划分。理解这一划分要求
读者熟悉并行程序对机器的需求,以及机器设计的相互作用
和并行编程的一些惯例。
学习计算机体系结构的过程通常被比喻为剥洋葱皮,这一类
比对于并行计算机体系结构也非常适用。在理解体系结构的
每一层次,我们都能发现一个具有许多相互作用刻面的完整
体系,这些刻面包括机器的结构、它们的抽象、它们所依赖
的技术、 演习它们的软件,以及描述它们性能的模型。然而
,如果我们深入钻研任何一个这些刻面,我们都会发现另一
设计层次和新的一类相互作用情况。并行计
算机体系结构的这种整体性和多层次性使得这一领域对学习
者和讲授者都具有挑战性。人们不可避免地需要感知这种一
层接一层的结构。
本章为"引论",主要介绍并行计算机体系结构的"表层"。它
首先概要介绍为什么说并行机器设计将从桌面型计算机到超
级计算机都可能变得非常普及。另外,本章还将考察有关计
算机的技术工艺方面的、体系结构方面的和经济方面的趋势
,这些发展趋势导致了计算机体系结构出现今天的现状,同
时它们也为预测未来的并行计算机体系结构提
供了基础。本章1.1小节重点讲述推动处理器性能迅猛发展
和整个计算机工业的结构围绕通用微处理器进行调整的动力
。这些动力包括对计算性能无止境的应用需求、VLSI芯片密
度和集成水平的不断改进、体系结构在越来越高的层次利用
并行性。
接着本节简要总结重要体系结构风格谱系,这些结构风格为
体系结构领域提供了丰富的历史背景,并对从现代眼光来理
解并行机器非常有益。在这种设计的多样性中,出现了一组
共同的设计原则和权衡,它们也同样受到潜在工艺技术发展
的驱动。这些动力正在迅速引导(系统结构)领域收敛,这
一现象形成了本书的重心。1.2小节概述传统的并行机器,
包括共享存储型、信报(或消息)传递型、数据并行型、脉
动阵列型和数据流型,并举例说明这些不同类型的结构解决
体系结构共同问题的不同策略。这些讨论展现了并行体系结
构依赖于底层工艺技术,更重要的是这些讨论证明了目前围
绕微处理器的决定性优势,并行体系结构已经发生了统一势态。
建立在这些合并之上,第1.3节考察了贯穿并行机器设计的
基本问题:什么可以在机器级别被命名,而作为通讯和协作
的基础,以及来执行这些操作的延迟,和它们执行的整体速
率和带宽。这种从概念结构到性能部件的转化提供了一个量
化的框架,而不只是质量上的,以及对并行机器结构的研究。
和起初对并行体系结构的广泛理解相对照,下面的章节将更
加深入的研究技术细节。第2、3章详细考虑并行程序的结构
和要求,以提供理解并行体系结构和应用之间的交互。第4章
建立了一个关于应用要求和性能测度的评估设计决策框架。
第5、6章在有限的范围内研究了商用多处理器机器的完整并
行结构--从几个到几十个处理器。这里介绍的概念和结构
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.230.220]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.600毫秒