分布式计算系统的同步和并发控制.同步机构

序:

         在分布计算系统中的许多方面都需要用到同步和并发控制,如资源管理和故障恢复 等。由于分布计算系统中的各个组成部分在物理上或地理上是分布的,这种分布会造成 信号传播延迟的不可预测,还会存在部分失效的问题,这使得分布计算系统中的同步和并 发问题要比集中式系统复杂。

  • --------------------------------同步机构--------------------------------

同步机构及其作用

         在分布计算系统中,共享资源是必要的,因为由于经济上的考虑,不必或不能为每个
用户分别配置充足的资源,不必或不能为若干个不同的用户程序分别配备相同的文件系
统或数据库;此外,用户还常常需要使用他人的程序或数据文件为自己的工作服务。和共
享资源相关的问题涉及资源分配、对文件或数据的同时访问、程序的同时执行及防止相互
干扰或破坏。
           各个进程在访问共享资源时必须相互协调自己的活动。为了达到合作,各个进程在
执行的过程中必须存在若干点,超过这些点时,一个进程在另一个进程执行完某一活动前
不能继续执行,这些点称为这两个进程之间的同步点。分布计算系统中各节点计算机上
的进程既合作完成同一个任务,又争用有限的资源,这就需要某种同步机构来协调它们的
活动

        分布式计算系统中其李资源可分成两类—类显各进程可以同时访问的,如中央处理机((允许多个进程交叠使用一个处理机)、只读文件和不允许修改的存放子程序和数据的主存区域等;另一类是不允许多个进程同时访问的,每次只允许一个进程使用,如大多数外部设备(如印机)可写的文件及主存中可修改的区域等。对不能同时访向的资源进行访何时要使用同步机构进行互斥控制,即每次只允许一个进程进人临界区对其享资源进行访问。互斥控制要使用同步机构对活动的执行进行排序。在单机系统中使用信号灯(Semaphore)及 P- V操作对各进程进行同步控制并实现互斥算法。松散耦合分布计算系统不存在共享主存,使用报文进行通信,所以所采用的同步机制是不同的,对它们的要求也是不同的。

         各处理机上的进程可以发动某些操作(Operation),操作由若干活动(Action)组成,它 们对某些资源进行控制。资源可抽象成数据对象,如文件记录可由其内容抽象。对数据 对象可以进行诸如读、写、创建、删除等操作。一个计算系统应该在所有时间内满足一定 的外部规定或约束,如果一个计算系统确实在所有时间内满足了一定的外部规定或约束, 这时我们称系统状态是一致的。同步机构的目的就是给进程提供某种手段,使系统保持 一致状态。 可将分布计算系统的计算方式分成 3 种,我们可以使用图 5. 1.1 的多生产者/多消费 者系统模型来说明这 3 种计算方式,这里的生产者和消费者就是顾客和服务员。当有请 求时,生产者发动一个操作,它激发若干个活动,活动由消费者处理。一般情况下,活动完 成以前,操作可以要求激发新的活动。这 3 种计算方式如下:

        ①)完全复制的计算。任何操作所激发的每个活动必须由所有的消费者共同处理,
要求所有的活动均应完成。这时同步机构的目的是保证消费者处理活动的次序必须
相同。
        (2)完全分割的计算。一个操作所激发的不同活动由不同的消费者分别独自处理。
两不操作对应两组消费者,这两组消费者可能重叠,也可能不重叠。一个给定操作在两个
不同时刻发动时,可能对应两组不同的消费者。在这种情况下,同步机构的目的是保证所
有相互干扰的活动成为有序的,使得该操作保持原子性(要么完成操作,要么干脆不爱
生)。
        (3)分割和部分复制的计算。一个操作所激发的活动中,某些是由不同的消费者独
自处理的,某些操作是由一些消费者共同处理。它兼有前面两种计算形式的特点。
对于不同的计算方式,同步机构的目的和要求也是不同的。

        各种不同的同步机构具有不同的性质,主要有以下一些评价标准。有些标准是互相制约的。一种同步机构不可能具有所有的优点。各标准对于一种机构的重要性依赖于对 系统所提出的要求。

(1)响应时间和吞吐量。各种机构应尽量利用系统的并行性质,以提高吞吐量和缩 短响应时间。

(2)恢复能力。同步机构应能使系统从故障中恢复过来。

   (3)开销。指使用同步机构的代价,包括额外增加的报文长度、数量和对它们的处理 时间,以及用于存放同步信息所需的额外存储空间。

   (4)公平性。操作发生冲突时,同步机构应能避免生产者饿死,各生产者具有平等的 权利。

(5)可扩充性。系统扩充新的处理机时同步机构应不影响其正常运行。

(6)连接方式。使用某些同步机构要求生产者在逻辑上全部互连,这样所产生的开 销可能很天;有些同步机构只要求一个生产者知道其邻居的情况,开销也较少。

  (7)初始化。使用同步机构要求系统应容易进行初始化,知道进程何时可以进行生 产和消费活动。     (8)排序方法。当生产者对一序列操作进行某种指定排序时,必须交换报文,各种同 步机构实现效率可能大不相同。例如,可能要求每个生产者必须等待其操作完成后不能 激发下一个生产者;而在另外的同步方案中允许每个生产者一旦其操作已经发动了就可 以激发下一个生产者。在这两种情况下,响应时间和吞吐量是很不相同的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值