1、第3章 分布式协同处理 3.1 时间定序与时戳3.2 分布式互斥算法3.3 选择算法3.1 时间定序与时戳3.1.1分布式算法的基本特征在集中式方案中,一个场点被指定为中央控制场点,由它来控制对共享资源的存取。每当一个场点希望存取一共享对象时,它就向该中央场点发一请求消息。当所指共享对象可供某场点使用时,控制场点就回送一个“可以访问”的消息给它。这种方案的弱点是中央控制场点可能变成瓶颈,而且一旦它故障,整个系统就崩溃了。可见,一个集中式算法具有两个明显的特点:只有一个中央控制场点在进行决策;所有必要的信息都集中在该中央控制场点上。与之相反,一个分布式算法的基本特征是:所有的场点都有差不 同 的
2、信息;所有的场点都是 本 信息来进行决策的;所有的场点对 的决策都 有同 的 ;所有的场点在 决策时都 了同 的 ;算法具有 ,系统的 故障不 算法的有 。上,不 分布的 方式,对所有的分布式算法都有两种基本的定。定1每个场点只是整个系统的一 分,且决策都是 本 信息进行的;定2不存在系统currency1的共时“。定2是一个要的制,为能fi定 fl 发的序是 要的,它是算系统中的一个基本”。,在进行资源分时, 定 当某资源之可使用它。在分布式系统中,由有共时“,所以 某fl 在 一fl 之之发是不的。为了fi定 分布式算法的 基 ,必 求一种在分布式系统currency1进行fl定序的方法。
3、3.1.2 分布式系统中的fl 定序方法由有共的时“定序分布式系统中的fl 为进 本 具有 序 ,所以在 个进 中的fl 是 时间 定序的。 , 法 可以定”发送”一个消息的fl 发在“ ”同一消息的fl 之。 以上两点 给系统中的fl 供了一个序,之为HappenedBefore系 HB , 用“” ,定:a ba b是同一进 中的两个fl ,且a在b发; , a是一进 中发送消息的fl ,且b是 一进中 同一消息的fl 。该系是 的, a b且b c,有a c。该系是 反的。两个不同的fl 之间不存在这种系,(a b)且(b a),a b为 发fl 。而,它 可以 发行。, 中某 fl 的
4、HB系是:p1 q2r0 q4q3 r1p1 q4为p1 q2且q2 q4 中的某 发fl 是:q0 p2r0 q3r0 p3q3 p3 3.1 个 发进 的相对时间 发 HB系可用 以明, 3.1所 , ,引进一个系统的逻辑时“,用它的值来反映这个系,从而 现整个系统中的fl 定序。现定,对每个进 pi,有一个与相的逻辑时“Ci,赋给进 pi中fl a的逻辑时“之值Ci(a)。这种逻辑时“可用一个 器 现。 用C 系统的逻辑时“,为使系统的逻辑时“C能正fi的值,面的条 应成立:时“clock 条 :对系统中的 fl a b, a b,C(a)C(b)。面两个条 满足,时“条 成立:条 1:
5、对进 pi中的两个fl a b, a b有Ci(a) Ci(b);条 2: a是进 pi发送消息的fl ,b是进pj 同一消息的fl ,有Ci(a) Cj(b)面方法 现这种逻辑时“,上述两条 可以满足:进 pi在 两个相继的fl 之间使Ci增值; fl a 进 pi中发送消息m的fl,发送消息m的fl 就附有时间戳TmCi(a);fl b是进 pj(i j)中 消息m的fl ,pj就置Cj(b)之值为Cj(b) = max(Cj,Tm)+1 进 pi中的fl a进 pj中的fl b以a b 当且 当Ci(a) Cj(b);Ci(a) = Cj(b),且pi pj,中系“”是进 的一个 意序。现系“”的一个简 方法是给系统中每个进 赋以一个唯一的进 号,且定: i j,pi pj。