滨趣淡斑霜好吗:详解分布式系统的定义

来源:百度文库 编辑:中财网 时间:2024/05/05 23:54:46

  当讨论分布式系统时,我们面临许多以下这些形容词所描述的不同类型:分布式的、网络的、并行的、并发的和分散的。分布式处理是一个相对较新的领域,所以还没有一致的定义。

  与顺序计算相比、并行的、并发的和分布式的计算包括多个P E间的集体协同动作。这些术语在范围上相互覆盖,有时也交换使用。在[ 4 4 ]中,S e i t z给出了每一个的定义来区分它们之间的不同含义:

  **“并行的”意味着从一个单一控制线程对数据集的锁步(lockstep)动作。在并行计算机级别上,单指令流多数据流(SIMD)计算机就是一个使用多个数据处理单元在许多数据项上同时进行相同或相似操作的例子。

  **“并发的”意味着某些动作可以以任意次序执行。例如,在更高级别上和在多指令流多数据流(MIMD)并行计算机上进行部分独立的操作。

  **“分布式的”意味着计算的成本或性能取决于数据和控制的通信。  

  

  

  

  

  图1Enslow的分布式系统模型

  如果一个系统的部件局限在一个地方,它就是集中式的;如果它的部件在不同地方,部件之间要么不存在或仅存在有限的合作,要么存在紧密的合作,它是分散式的。当一个分散式系统不存在或仅存在有限的合作时,它就被称做网络的;否则它就被称做分布式的,表示在不同地方的部件之间存在紧密的合作。在给出分布式系统具体定义的模型中,Enslow[13]建议分布式系统可以用硬件、控制、数据这三个维度加以检验。

  分布式系统=分布式硬件+分布式控制+分布式数据Enslow的定义同时还要求资源的分布必须对用户透明。1给出了从Enslow的模型[13]改编

  而来的形式,如果系统所有三个维度(硬件、控制和数据)都达到一定程度的分散,系统可以被归类为分布式系统。在硬件组成这一维上的一些点表示如下:

  H1:只有一个控制单元的单个CPU。

  H2:有多个ALU(算术逻辑单元)的单个CPU,只有一个控制单元。

  H3:分开的专用功能单元,比如带一个浮点协处理器的CPU。

  H4:带多个CPU的多处理机,但只有一个单独的I/O系统和一个全局存储器。

  H5:带多个CPU的多计算机,多个I/O系统和多个局部存储器。

  类似地,在控制维上的点按分散程度的递增排序如下:

  C1:单个固定控制点。注意,系统物理上可能有也可能没有多个CPU。

  C2:单个动态控制点。在多个CPU的情况下,控制器不时地在CPU间切换。

  C3:固定的主/从结构。例如,在一个只有一个CPU和一个协处理器的系统中,CPU就是固定的主结构(master),协处理器则是固定的从结构(slave)。

  C4:动态的主/从结构。主/从的角色可以通过软件改变。

  C5:使用同一控制器副本的多个同类控制点。

  C6:使用不同控制器的多个异类控制点。

  数据库中有两个部件可以是分布式的:文件和记录这些文件的目录。可以使用以下两种方式之一或结合使用它们来实现分布:复制和分区。如果一个数据库有多个副本在不同的地点,就称做被复制。如果一个数据库被分成位于不同地点的子数据库,就称做被分区。这一维上的点包括:

  D1:含有文件和目录的单一拷贝的集中式数据库。

  D2:含有单一集中式目录并且没有本地目录的分布式文件。

  D3:每个站点都有文件和目录拷贝的复制数据库。

  D4:有一个主结构的分区数据库,主结构保留所有文件的一个完全副本。

  D5:有一个主结构的分区数据库,主结构仅保留一个完整的目录。

  D6:无主结构文件或目录的分区数据库。

  Schroeder[34],给出了分布式系统特征的列表。如果一个系统具有以下所有特征,它很可能就是一个分布式系统:

  多处理单元(PE)。

  互连硬件。

  处理单元的故障无关。

  共享状态。

  一些研究人员还认为计算机网络和并行计算机是分布式系统的一部分[9、21、48、55]。图2和图3分别表示了计算机网络和并行计算机的分类。在非冯·诺依曼的模型中,数据流模型是基于贪心求值(greedyevaluation)的,一个函数(程序)只要它的输入数据一就绪就被马上执行。缩减模型是基于懒惰求值(lazyevaluation)的,只有需要函数的结果时才执行求值。大部分并行计算机是建立在冯·诺依曼的模型上的。Flynn的分类法是被最广泛地用来在冯·诺依曼模型范围内分类系统。Flynn的分类法是基于指令流和数据流的多重性:   

  单指令单数据(SISD)。这是典型的单处理机体系结构。它可能包括并行机制,如:流水线操作、重叠的CPU和I/O操作。

  单指令多数据(SIMD)。每个处理机同时在各自不同的数据集上执行相同的指令。典型情况下,多个PE处于一个公共控制单元的管理之下。

  多指令单数据(MISD)。这种体系结构包括多个处理机,每个分别被各自的控制单元控制。

  多指令多数据(MIMD)。多个处理机同时对不同的数据执行不同的指令。大部分分布式系统的物理结构属于这种类型。  

  

  

  

  

  图2计算机网络的分类  

  

  

  

  图3并行计算机的分类

  图2和图3表示的分类几乎包括了技术文献讨论过的所有重要的体系结构类型。连接类型的区别包括不同的互连拓扑类型,这将在互连网络部分详细讨论。但是,这些分类没有包括下面一些基本的设计选择:

  细粒度与粗粒度并行性。

  共享存储器与消息传递通信。

  通用系统与专用系统。

  全局与局部存储器。

  集中式与分布式全局系统控制。

  一致与非一致的访问。

  直接与间接连接。

  细粒度并行性是并行执行的一种形式,其中每个进程的计算工作量要比它的通信和额外开销所要求的工作量小。在粗粒度并行性中,每个进程的计算工作量则数倍于其通信和额外开销。

  通用系统是用于一般应用的系统,否则就是专用系统。MIMD是一个通用系统。SIMD尤其适合于在大数据集上执行的同一类型操作的数值计算。

  全局存储器是从任何一个处理机上可以直接访问的,但局部存储器只对相关处理机可见。

  典型情况下,全局存储器和局部存储器结合起来和缓存一起形成高速而低延迟的存储器。

  在共享存储器系统中,通过读写共享存储器交换信息是很自然的一种通信方式。在消息传递系统中,存储器是分布式的,所以发送和接收消息是很自然的。

  在一致存储器访问系统中,所有处理机离所有存储器位置一样远,也就是说,任何处理机访问任何存储器的时间几乎相同。但是这种结构不易伸缩。一般来说,共享总线用于连接处理机和共享存储器。随着处理机数目的增加,共享总线就成了瓶颈。为了降低存储器延迟和总线竞争,可以为处理机配一个缓存。然而,缓存的使用带来了一个新的问题—一致性问题。非一致存储器访问系统通过给每个处理机提供局部存储器以及与可伸缩互连网络的连接解决了可伸缩性的问题,通过互连网络可以访问其他处理机的存储器。存储器的访问时间是不一致的,取决于数据的位置。

  互连网络是把并行/分布式系统中的处理机连接在一起的一套通信链路、总线或交换机。在直接连接中,处理机通过一套点对点链路直接相连。在间接连接中,处理机通过交换机相连。

  正常情况下,间接相连可以通过适当的交换机信号动态改变。

SOURCE: http://www.builder.com.cn/2008/0416/818415.shtml
分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。分布式操作系统负责管理分布式处理系统资源和控制分布式程序运行。它和集中式操作系统的区别在于资源管理、进程通信和系统结构等方面。分布式程序设计语言用于编写运行于分布式计算机系统上的分布式程序。一个分布式程序由若干个可以独立执行的程序模块组成,它们分布于一个分布式处理系统的多台计算机上被同时执行。它与集中式的程序设计语言相比有三个特点:分布性、通信性和稳健性。分布式文件系统具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。分布式数据库系统由分布于多个计算机结点上的若干个数据库系统组成,它提供有效的存取手段来操纵这些结点上的子数据库。分布式数据库在使用上可视为一个完整的数据库,而实际上它是分布在地理分散的各个结点上。当然,分布在各个结点上的子数据库在逻辑上是相关的。--------------- 分布式数据库系统是由若干个站集合而成。这些站又称为节点,它们在通讯网络中联接在一起,每个节点都是一个独立的数据库系统,它们都拥有各自的数据库、中央处理机、终端,以及各自的局部数据库管理系统。因此分布式数据库系统可以看作是一系列集中式数据库系统的联合。它们在逻辑上属于同一系统,但在物理结构上是分布式的。  分布式数据库系统已经成为信息处理学科的重要领域,正在迅速发展之中,原因基于以下几点:  1、它可以解决组织机构分散而数据需要相互联系的问题。比如银行系统,总行与各分行处于不同的城市或城市中的各个地区,在业务上它们需要处理各自的数据,也需要彼此之间的交换和处理,这就需要分布式的系统。  2、如果一个组织机构需要增加新的相对自主的组织单位来扩充机构,则分布式数据库系统可以在对当前机构影响最小的情况下进行扩充。  3、均衡负载的需要。数据的分解采用使局部应用达到最大,这使得各处理机之间的相互干扰降到最低。负载在各处理机之间分担,可以避免临界瓶颈。  4、当现有机构中已存在几个数据库系统,而且实现全局应用的必要性增加时,就可以由这些数据库自下而上构成分布式数据库系统。  5、相等规模的分布式数据库系统在出现故障的几率上不会比集中式数据库系统低,但由于其故障的影响仅限于局部数据应用,因此就整个系统来讲它的可靠性是比较高的。特点  1、在分布式数据库系统里不强调集中控制概念,它具有一个以全局数据库管理员为基础的分层控制结构,但是每个局部数据库管理员都具有高度的自主权。  2、在分布式数据库系统中数据独立性概念也同样重要,然而增加了一个新的概念,就是分布式透明性。所谓分布式透明性就是在编写程序时好象数据没有被分布一样,因此把数据进行转移不会影响程序的正确性。但程序的执行速度会有所降低。  3、集中式数据库系统不同,数据冗余在分布式系统中被看作是所需要的特性,其原因在于:首先,如果在需要的节点复制数据,则可以提高局部的应用性。其次,当某节点发生故障时,可以操作其它节点上的复制数据,因此这可以增加系统的有效性。当然,在分布式系统中对最佳冗余度的评价是很复杂的。  分布式系统的类型,大致可以归为三类:  1、分布式数据,但只有一个总? 据库,没有局部数据库。  2、分层式处理,每一层都有自己的数据库。  3、充分分散的分布式网络,没有中央控制部分,各节点之间的联接方式又可以有多种,如松散的联接,紧密的联接,动态的联接,广播通知式联接等。---------------------什么是分布式智能?NI LabVIEW 8的分布式智能结合了相关的技术和工具,解决了分布式系统开发会碰到的一些挑战。更重要的是,NI LabVIEW 8的分布式智能提供的解决方案不仅令这些挑战迎刃而解,且易于实施。LabVIEW 8的分布式智能具体包括:可对分布式系统中的所有结点编程——包括主机和终端。尤为可贵的是,您可以利用LabVIEW图形化编程方式,对大量不同类型的对象进行编程,如桌面处理器、实时系统、FPGA、PDA、嵌入式微处理器和DSP。 导航所有系统结点的查看系统——LabVIEW Project Explorer。您可使用Project Explorer查看、编辑、运行和调试运行于任何对象上的结点。 经简化的数据共享编程界面——共享变量。使用共享变量,您可轻松地在系统间(甚至实时系统间)传输数据且不影响性能。无通信循环,无RT FIFO,无需低层次TCP函数。您可以利用简单的对话完成共享变量的配置,从而将数据在各系统间传输或将数据连接到不同的数据源。您还可添加记录、警报、事件等数据服务――一切仅需简单的对话即可完成。 实现了远程设备及系统内部或设备及系统之间的同步操作——定时和同步始终是定义高性能测量和控制系统的关键问题。利用基于NI技术的系统,探索设备内部并编写其内部运行机制,从而取得比传统仪器或PLC方式下更为灵活的解决方案。 --------------------在分布式计算机操作系统支持下,互连的计算机可以互相协调工作,共同完成一项任务。也可以这么解释:一种计算机硬件的配置方式和相应的功能配置方式。它是一种多处理器的计算机系统,各处理器通过互连网络构成统一的系统。系统采用分布式计算结构,即把原来系统内中央处理器处理的任务分散给相应的处理器,实现不同功能的各个处理器相互协调,共享系统的外设与软件。这样就加快了系统的处理速度,简化了主机的逻辑结构 

SOURCE; http://zhidao.baidu.com/question/1749479