Ordered Multicast Communication in Distributed Systems | CS 425, Study notes of Computer Science

Material Type: Notes; Class: Distributed Systems; Subject: Computer Science; University: University of Illinois - Urbana-Champaign; Term: Unknown 2002;

Typology: Study notes

Pre 2010

Uploaded on 03/16/2009

koofers-user-dwm-1
koofers-user-dwm-1 🇺🇸

10 documents

1 / 27

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Lecture 5
ordered multicast communication
distributed systems
CS425 / ECE 428 / CSE 424
sayan mitra
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b

Partial preview of the text

Download Ordered Multicast Communication in Distributed Systems | CS 425 and more Study notes Computer Science in PDF only on Docsity!

Lecture 5

ordered multicast communication

distributed systems

CS425 / ECE 428 / CSE 424

sayan mitra

acknowledgment

These slides are based on ideas and material from the following sources:

  • slides prepared by Professors M. T. Harandi and J. Hou and subsequently modified by Professors Indranil Gupta, Nitin Vaidya, and Yih-Chun Hu at University of Illinois
  • slides from Professor S. Ghosh’s course at University of Iowa

plan for today

• ordered multicast algorithms

– fifo-ordered multicast

– causal-ordered multicast

FIFO-ordered multicast

FIFO ordered multicast

  • Spg : the number of messages p has sent to g.
  • Rqg : the sequence number of the latest group- g message p has delivered from q.
  • for p to FO-multicast m to g
    • p increments Spg by 1.
    • p piggy backs the value Spg onto the message.
    • p B-multicasts m to g.
  • upon receipt of m from q with sequence number S :
    • p checks whether S= Rqg+1. If so, p FO-delivers m and increments Rqg
    • If S > Rqg+1, p places the message in the hold-back queue until the intervening messages have been delivered and S= Rqg+1.

hold-back queue for received yet undelivered

multicast messages

Message processing

Delivery queue

Hold-back queue

deliver

Incoming messages

When delivery guarantees are met

causal-ordered multicast

causal multicast

  • let us focus on multicast group g
  • each process ig maintains a vector Vgi^ of length | g | where
    • Vgi[j] counts the number of group g messages from j to I
  • messages are tagged with the vector timestamp

example: causally ordered multicast

P 1

P 2

P 3

real time

(1,1,0)

Reject:

Accept

0,0,

0,0,

0,0,

1,0,0 (^) 1,1,

1,0,

Buffer missing p 1 (1)

1,1,

1,1,

1,1,

Accept:

1,0,

Accept Buffered message

1,1,

(1,0,0)

(1,0,0)

(1,1,0) (^) (1,1,0)

Accept

total-ordered multicast

ISIS algorithm for total ordering

2 1

1

2

2

1 Message

P 2

P 3

P 1

P 4

3 Agreed Seq

3

3

ISIS algorithm for total ordering

  1. The multicast sender multicasts the message to everyone.
  2. Recipients add the received message to a special queue called the priority queue , tag the message undeliverable , and reply to the sender with a proposed priority that is basically a sequence number. Further, this proposed priority is 1 more than the latest sequence number heard so far ), suffixed with the recipient's process ID. The priority queue is always sorted by priority.
  3. The sender collects all responses from the recipients, calculates their maximum , and re-multicasts with this as the final priority for the message.
  4. On receipt of this information, recipients mark the message as deliverable , reorder the priority queue, and deliver the set of lowest priority messages that are marked as deliverable.

groups

• multicast algorithms rely on groups

• open group: anyone may join (e.g.

customers of Walmart)

• closed group: membership is closed (e.g.

class of 2010)

• the view of a process is its current

knowledge of the membership

• it is important that all processes have

identical views

example: inconsistent views

can lead to problems

four members (0,1,2,3) will send out 144 emails.

assume that 3 left the group but only 2 knows about it

0 will send 144/4 = 36 emails (first quarter 1-36)

1 will send 144/4 = 48 emails (second quarter 37-72)

2 will send 144/3 = 48 emails (last one-third 97-144)

3 has left, mails 73-96 will never be sent out!