10.1.2 适合分布式处理的计算机体系结构
支撑分布处理的计算机体系结构应该是什么样的?支持分布处理的计算机首先应具备并
行处理能力,因为,它必须能处理大量的独立自治的活动。常见的具有顺序计算模型的存
储程
字式计算机(Von Neumann 机)不是并行计算机。下面,先考察并行计算机模型。
1.并行计算机模型
并行计算机模型是指由程序员所看到的一个抽象的并行计算机。该模型应能刻画出并行
计算机中那些对并行计算十分重要的能力。并行随机访问机(PRAM)模型如图 10.2 所示。
图 lO.2 并行随机访问机模型
在 PRAM 上的一个并行程序由 n 个进程组成,其中第 i 个进程驻留在第 i 个处理器上,
且由一串指令所组成。在每个周期(基本时间步),每个处理机执行一条指令,这些指令包
括传
送、算术/逻辑运算、控制流以及 I/()指令。描述并行模型的特点可用同构性、通用性和
交互
机制这三个主要属性来描述。
1)同构性
同构性描述了在执行并行程序时,并行计算机中处理机的行为相似到何种程度的特征。
规模为 1 的 PRAM 实际上是 sIsD(单指令流、单数据流)的顺序计算机,不具备并行处理
能力。而一般的 PRAM 计算机是一个 MIMD(多指令流、多数据流)计算机。在这样的计算
机中,不同的处理机执行不同的指令、不同的数据流,并行汁算机中处理机的行为是不相
似的。
所以,具有很好的通用性,可以满足各种应用程序的需要。
2)同步性
同步性描述进程同步到何种程度的特征。规模为 1 的 PRAM 机——SISD 机是指令级同
步。在每一周期,任何处理机在完成一个存储器写或一个转移操作之前,必须完成有关存
储器
的读操作。
实际 MIMD 并行计算机是异步的。每个进程按自己的速率执行,与其他进程的执行
速度无关。如果一个进程必须等待其他进程以保证语义的正确性,则必须执行额外的同步
操作。
3)交互机制
这一属性描述了并行进程间如何相互影响行为的特征。有两种交互机制:一种是进程间
通过共享变量(或共享存储区)进行交互;另一种是消息传递(或称为消息通信)机制。进程间
若没有共享变量,那么它们相互影响行为的机制就是进程通信。
MIMD 机以交互方式的不同,可以分为以下两类:
多处理机(multiprocessor)——一通过共享变量进行交互的异步 MIMD 机;
多计算机(multicomputer)——通过消息通信进行交互的异步 MIMD 机。
这两类 MIMD 机,哪类适合于分布式处理的需要呢?由于多处理机系统中所有处理
器共
享一个公共主存,所有处理器共享 I/O 通道、控制器和外部设备,具有紧耦合的特点,
存在瓶
颈、可扩展性差的问题。所以,多处理机不支持大规模计算,它也不具备分布的特征 ,
因而,也
不支持分布处理。
多计算机系统是否满足分布式处理的需要呢?多计算机系统可分为两类:一类是由硬
件
的直连网络(定制网络)连接的多计算机,又称为消息传递型多计算机;另一类是计算
机网络。
这两类多计算机系统都具有消息通信机制。下面讨论这两类多计算机结构的特点。
2.消息传递型多计算机
消息传递型多计算机的定义描述为:由两台以上的计算机组成,每台计算机有自己
的控制
部件、本地存储器(处理机/存储器对)或 I/()设备,按 MIMI)模式执行程序,采用消
息通信机
制实现通信。
消息传递型多计算机的一般结构如图 10.3 所示。
消 息 传 递 型 多 计 算 机 又 可 称 为 大 规 模 并 行 计 算 机 MPP(Hlassivet-y paraIlel
processoI·),其
中定制网络的结构可以是网格、环、超立方体、带环立方体结构等。
图 10.3 消息传递型多计算机的一般结构
消息传递型多计算机的结构特点是:①多个处理机/存储器对;②分布存储,无共
享资
源;③消息传递网络,由硬件直连,传递速率高;④可扩展性好。
这种结构的并行计算机是具有分布存储的多计算机系统,可以作为分布式系统可选
的结
构,但还不具备分布处理的特征。在这种结构中,各结点接收前端机的任务分配,不
能拒绝,所
以结点自治性差;另外,也不具备服务分布化、控制分布化的特征。这样的计算机结
构需要经
过分布化的改造,使之成为并行分布式系统,能支持高性能计算,即
分布存储的多计算机系统 并行分布式系统
3.计算机网络
计算机网络是通过通信线将独立自治的计算机互连而成的集合体。互连是指两台计
算机
之间彼此交换信息,可以通过导线、激光、微波、卫星等方式进行互连。独立自治指
的是网络中
每一台计算机都是独立自治的,没有主从关系。
计算机网络的特点是:①具有多个处理部件;②无公共主存;③有消息通信机制。
计算机网络具有一定的分布处理能力,可以实现网上资源共享,但还不完全具备分
布式系
统的特征。计算机网络的局限性表现在以下三个方面。
1)不能支持透明的资源存取
计算机网络是多机集合体,对终端用户或程序员而言,存取资源的方式、方法是不
透明的。
网络上每台机器的资源组织、命名方式、存取方法可能不同,用户必须知道要存取资
源的位置、
路径以及存取方法。用户必须使用显示的命令,指出资源所在的主机位置及存取路径 ,
才能共
享网上的资源。
而分布式系统,用户看到的是一个逻辑整体,是具有单一用户界面的系统。这样的
系统以
服务方式提出对资源的请求,即提出需要什么(如,要访问一个文件),而不需要具体
指出所需
要的资源或资源服务器在哪里。这是较高水平的资源共享,而不是计算机网络所提供
的低级
的资源共享方式。
2)不能对网络资源进行有效、统一的管理
计算机网络对资源的使用方式是资源本地使用,若要共享其他机器上的资源时,必
须由用
户给出显示的命令。
而分布式系统对各结点上的资源进行全局、动态分配,还要进行动态负载平衡,全
系统的
资源可以得到高效的使用,系统还提供容错能力。为了实现资源的全局、动态分配,
分布式系
统需要实施各种技术和策略,如资源分配策略(就近分配或依负载轻重)、动态负载平
衡算法、
进程迁移、数据迁移、动态备份、多副本技术等。只有实现了资源的全局、动态分配 ,
系统才可
能具备透明性。
3)不能支持合作计算
不论是分布式数据处理问题,还是高性能计算,都有大量的任务在并行执行,而且,
如果有
些任务共同完成一个更大的任务,这些任务之间需要合作。
在计算机网络中,如果存在有合作关系的任务并行执行,必须由用户自己负责,进
行任务
划分;由用户考虑这些任务应分配到哪些结点上去运行;还要用显示的命令进行任务
传送、结
果收集和处理等工作。
而对于分布式系统而言,上述这些工作都将由系统负责,由系统自动完成,而不需
要用户
干预。系统要具备任务划分、任务全局分配、任务通信、数据文件管理、结果收集等
功能,使系
统有效地支持合作计算。
综上所述,计算机网络不是分布式系统,但它是分布式系统一个很好的硬件结构,
即分布
式系统的硬件基础可以是计算机网络。分布式系统和计算机网络的差别在于软件。特
别是操
作系统,分布式系统有一个全局的分布式操作系统。所以,对计算机网络而言,必须
经过一体
化改造,使之成为分布式系统,即 .
计算机网络 分布式系统
支持分布式系统的硬件结构应满足的基本条件是:①多个处理部件;②无公共主存;
③ 消息通信机制。
适合分布式系统的计算机体系结构有如下两类:
(1)分布存储的多计算机系统,经过分布化改造,使之成为并行分布式系统,用于高
性能
计算;
(2)计算机网络,经过一体化改造,成为分布式系统。其应用广泛,如,分布式数据
处理、
事务处理、办公自动化、分布式控制等。
10.1.3 分布式系统的定义及特征
1.并行部件
在一个计算机系统中,有四类部件可能在物理上分布。它们是:①硬件或处理的逻
辑单
元;②数据;③处理本身;④控制。有人将这四类部件中的任何一类为分布的系统称
为分布
式系统。但是,如果仅以系统中某些部件物理的分布来作为定义是远远不够的,因为
它没有包
括各个分布部件之间要有相互作用这一非常重要的概念。例如,很多计算机系统的 I
/o 处理
功能具有物理上的分布性,但它并不属于分布式系统。而另一方面,如果一个系统没
有处理硬
件上的分布,因而就一定没有处理功能的分布性,也就不可能是分布式系统。
一个分布式系统的商务活动或事务处理要求硬件和物理的处理部件是分布的,被处
理的
数据和各种活动也是分布的,这体现了服务的分布化。而分布式系统还有一个本质的
分布性,
那就是控制的分布化。在一个分布式系统中有多个控制中心,使系统存在多个执行控
制路径,
它们控制多个事务活动同时进行,但又相互合作。
2.系统控制
系统控制指的是计算机系统中的管理体制、运行机制。系统控制分为集中控制和分
布式
控制两类。集中控制是指在一个计算机系统中,只有一个控制部件,执行一个控制程
序,系统
只有一个控制路径。分布式控制是指在一个计算机系统中,有多个处理部件,执行多
个控制程
序,系统存在着多个控制路径。
3.系统状态和状态的可观察性
系统控制是由控制器实施的,控制器的功能是决策,而决策的依据是系统状态。系
统状态
是反映系统行为的特征信息,如变量的当前值,栈、表的当前内容。控制就是负责状
态的改变,
这种改变是由于控制函数的作用,通过一组操作集合,使系统状态空间发生改变。
1)状态的可观察性
状态的可观察性是指观察者对所观察状态的物化反映,以某种物理量显示出来。通
常表
示为修改一存储单元或寄存器内容。
例如,在一个有公共主存的多处理机系统中,每一个进程(观察者)都可以看到全系
统的状
态。因为状态的改变和状态的被观察都表示为单一公共主存单元的修改,并且状态的