29
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 15: Coordination and Agreement

Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

From Coulouris, Dollimore, Kindberg and

Blair

Distributed Systems:

Concepts and Design

Edition 5, © Addison-Wesley 2012

Slides for Chapter 15:

Coordination and Agreement

Page 2: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Overview of Chapter

• Introduction

• Distributed mutual exclusion

• Elections

• Coordination and agreement in group communication (skip)

• Consensus and related problems (skip)

2

Page 3: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Introduction

Covers two areas:

• Coordinating actions in a distributed system

• Distributed processes agreeing on a result value

• Assumes reliable communication channels for simplicity (failure is

masked by a reliable communication protocol)

• Detecting that a process has failed can be reliable or unreliable

• Use timouts

• Unreliable: replies unsuspected or suspected

• Reliable: replies unsuspected or failed

3

Page 4: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.1

A network partition

Crashedrouter

Page 5: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Overview of Chapter

• Introduction

• Distributed mutual exclusion

• Elections

• Coordination and agreement in group communication

• Consensus and related problems

5

Page 6: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Distributed mutual exclusion

Known as critical section problem:

• Only one process can be in critical section – the process with the

token that allows access to the resource

• Operations include the following:

• enter() – requests access; can be granted or blocked

• resourceAccess() – access resource in critical section

• exit() – leave critical section – other processes may now enter

Conditions:

• ME1 (safety) – at most one process in critical section

• ME2 (liveness) – requests eventually succeed

• ME3 (ordering) – requests follow happened-before relationship

6

Page 7: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Distributed mutual exclusion

Various algorithms:

• Central server algorithm

• Ring-based algorithm

• Algorithm using multicast and logical clocks

• Voting algorithm

• Others

7

Page 8: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.2

Server managing a mutual exclusion token for a set of processes

Server

1. Requesttoken

Queue ofrequests

2. Releasetoken

3. Granttoken

4

2

p4

p3p

2

p1

Page 9: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.3

A ring of processes transferring a mutual exclusion token

pn

p2

p3

p4

Token

p1

Page 10: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.4

Ricart and Agrawala’s algorithm

On initializationstate := RELEASED;

To enter the sectionstate := WANTED;Multicast request to all processes; request processing deferred hereT := request’s timestamp;Wait until (number of replies received = (N – 1));state := HELD;

On receipt of a request <Ti, pi> at pj (i ≠ j)if (state = HELD or (state = WANTED and (T, pj) < (Ti, pi)))then

queue request from pi without replying; else

reply immediately to pi;end if

To exit the critical sectionstate := RELEASED;reply to any queued requests;

Page 11: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.5

Multicast synchronization

p3

34

Reply

34

41

4141

34

p1

p2

ReplyReply

Page 12: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.6

Maekawa’s algorithm – part 1

On initialization

state := RELEASED;

voted := FALSE;

For pi to enter the critical section

state := WANTED;

Multicast request to all processes in Vi;

Wait until (number of replies received = K);

state := HELD;

On receipt of a request from pi at pj

if (state = HELD or voted = TRUE)

then

queue request from pi without replying;

else

send reply to pi;

voted := TRUE;

end if

For pi to exit the critical section

state := RELEASED;

Multicast release to all processes in Vi;

On receipt of a release from pi at pj

if (queue of requests is non-empty)

then

remove head of queue – from pk, say;

send reply to pk;

voted := TRUE;

else

voted := FALSE;

end if

Page 13: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Overview of Chapter

• Introduction

• Distributed mutual exclusion

• Elections

• Coordination and agreement in group communication

• Consensus and related problems

13

Page 14: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Elections

Election algorithms:

• Used to choose a particular process for a role – for example, to

choose a central server for distributed algorithms that require a

central server

• Process can call an election; for example, if it detects that central

server has failed

Requirements:

• E1: (safety) only one process is elected – each participant sets

electedi either to P or to undefined if it does not know the elected

process yet (P will be the participant with the largest process id)

• E2: (liveness) all processes participate and either set electedi to the

elected process or crash

14

Page 15: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Elections

Election algorithms:

• Ring-based algorithm

• Bully algorithm

15

Page 16: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.7

A ring-based election in progress

24

15

9

4

3

28

17

24

1

Note: The election was started by process 17.

The highest process identifier encountered so far is 24.

Participant processes are shown in a darker colour

Page 17: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.8

The bully algorithm

p1 p2

p3

p4

p1

p2

p3

p4

C

coordinator

Stage 4

C

election

election

Stage 2

p1

p2

p3

p4

C

election

answer

answer

electionStage 1

timeout

Stage 3

Eventually.....

p1

p2

p3

p4

election

answer

The election of coordinator p2,

after the failure of p4 and then p3

Page 18: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Overview of Chapter

• Introduction

• Distributed mutual exclusion

• Elections

• Coordination and agreement in group communication (skip)

• Consensus and related problems

18

Page 19: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.9

Reliable multicast algorithm

Page 20: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.10

The hold-back queue for arriving multicast messages

Messageprocessing

Delivery queueHold-back

queue

deliv er

Incoming

messages

When deliv ery guarantees aremet

Page 21: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.11

Total, FIFO and causal ordering of multicast messages

F3

F1

F2

T2

T1

P1 P2 P3

Time

C3

C1

C2

Notice the consistent

ordering of totally ordered

messages T1 and T2,

the FIFO-related messages

F1 and F2 and the causally

related messages C1 and C3

– and the otherwise arbitrary

delivery ordering of

messages.

Page 22: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.12

Display from bulletin board program

Bulletin board: os.interesting

Item From Subject

23 A.Hanlon Mach

24 G.Joseph Microkernels

25 A.Hanlon Re: Microkernels

26 T.L’Heureux RPC performance

27 M.Walker Re: Mach

end

Page 23: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.13

Total ordering using a sequencer

Page 24: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.14

The ISIS algorithm for total ordering

2

1

1

2

2

1 Message

P2

P3

P1

P4

3 Agreed Seq

3

3

Page 25: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.15

Causal ordering using vector timestamps

Page 26: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.16

Consensus for three processes

1

P2

P3 (c rashes )

P1

Consensus algorithm

v1=proceed

v3=abort

v2=proceed

d1 :=proceed d2 :=proceed

Page 27: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.17

Consensus in a synchronous system

Page 28: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.18

Three Byzantine generals

p1 (Commander)

p2 p3

1:v1:v

2:1:v

3:1:u

p1 (Commander)

p2 p3

1:x1:w

2:1:w

3:1:x

Faulty processes are shown coloured

Page 29: Slides for Chapter 15: Coordination and Agreementcrystal.uta.edu/~elmasri/os2/slides/CDKB/Chapter15.pdf · 2015-08-10 · Slides for Chapter 15: Coordination and Agreement. Overview

Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5

© Pearson Education 2012

Figure 15.19

Four Byzantine generals

p1 (Commander)

p2 p3

1:v1:v

2:1:v

3:1:u

Faulty processes are shown coloured

p4

1:v

4:1:v

2:1:v 3:1:w

4:1:v

p1 (Commander)

p2 p3

1:w1:u

2:1:u

3:1:w

p4

1:v

4:1:v

2:1:u 3:1:w

4:1:v