Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lab 2 Group Communication Farnaz Moradi Based on slides by Andreas Larsson 2012.

Similar presentations


Presentation on theme: "Lab 2 Group Communication Farnaz Moradi Based on slides by Andreas Larsson 2012."— Presentation transcript:

1 Lab 2 Group Communication Farnaz Moradi Based on slides by Andreas Larsson 2012

2 Overview Introduction to group communication Desired group communication Multicast communication Group membership service DSII: Group Comm. 2

3 Coordination in distributed systems Coordination is needed by distributed systems but hard to achieve: Events happen concurrently Communication links are not reliable Computers can crash New nodes can join the systems Asynchronous environments  Need of an efficient way to coordinate a group of processes DSII: Group Comm. 3

4 A Distributed System in war: Synchronous Example DSII: Group Comm. 4 Friendly fighter Radar Missile Commander Enemy missile Friend Ready to Fire Cancel AskPrepare Friendly fighter

5 A Distributed System in war: Reality DSII: Group Comm. 5 Radar Missile Commander Enemy missile Friend Ready to Fire Fire AskPrepare Friendly fighter Friendly fighter

6 Group communication What is a group? A number of processes which cooperate to provide a service. An abstract identity to name a collection of processes. Group Communication For coordination among processes of a group. DSII: Group Comm. 6

7 Who Needs Group Communication? Highly available servers (client-server) Database Replication Multimedia Conferencing Online Games Cluster management … DSII: Group Comm. 7

8 8 Distributed Web Server High availability

9 Online Game Fault-tolerance, Order DSII: Group Comm. 9

10 Different Communication Methods Unicast Point-to-Point Communication Multiple copies are sent. Broadcast One-to-All Communication Abuse of Network Bandwidth Multicast One-to-multiple Communication DSII: Group Comm. 10

11 Overview Introduction to group communication Desired group communication Multicast communication Group membership service DSII: Group Comm. 11

12 Desired Group Communication Name Abstraction Efficiency Delivery Guarantees Dynamic Membership DSII: Group Comm. 12  Multicast  Reliability, Ordering  Group membership service

13 Properties of Communication Ordering Total ordering, causal ordering Failure behavior Reliability Validity, integrity, agreement DSII: Group Comm. 13

14 Properties of Group Name of group Addresses of group members Dynamic group membership Options: Peer group or client-server group Closed or Open Group DSII: Group Comm. 14

15 Peer Group All the members are equal. All the members send messages to the group. All the members receive all the messages. DSII: Group Comm. 15

16 Client-Server Group Replicated servers. Clients do not care which server answers. DSII: Group Comm. 16

17 Overview Introduction to group communication Desired group communication Multicast communication Group membership service DSII: Group Comm. 17

18 Multicast communication Use network hardware support for broadcast or multicast when it is available. Send messages over a distribution tree. Minimize the time and bandwidth utilization DSII: Group Comm. 18

19 Reliability Correct processes: those that never fail. Integrity A correct process delivers a message at most once. Validity A message from a correct process will be delivered by the process eventually. Agreement A message delivered by a correct process will be delivered by all other correct processes in the group.  Validity + Agreement = Liveness DSII: Group Comm. 19

20 Ordering Assumptions: a process belongs to at most one group. FIFO if m p  m’ p, all correct processes that deliver m’ p will deliver m p (that is from the same sender) before m’ p. Causal if m  m’, all correct processes that deliver m’ will deliver m before m’. Total if a correct process delivers m before m’, all other correct processes that deliver m’ will deliver m before m’. DSII: Group Comm. 20 p1p1 p2p2 p3p3 p1p1 p2p2 p3p3 p1p1 p2p2 p3p3

21 Examples Assumption: Reliable one-to-one send operation (e.g. TCP) Basic multicast Requirement: All correct processes will eventually deliver the message from a correct sender. Implementation: B-multicast( g, m):  p  g: send( p, m); On receive( m) at p: B-deliver( m) at p.  Properties: integrity, validity. DSII: Group Comm. 21

22 Basic multicast: Agreement? DSII: Group Comm. 22 4 1 2 3 Agreement X crash

23 Examples (cont.) Reliable multicast Requirements: integrity, validity, agreement Implementation: Received := {}; R-multicast( g, m) at process p: B-multicast( g, m); On B-deliver( m) at process p from process q if( m  Received) Received := Received  {m}; if( q  p) B-multicast( g, m); R-deliver( m); end if  Inefficient: each message is sent O(|g|) times to each process DSII: Group Comm. 23

24 Reliable multicast DSII: Group Comm. 24 4 1 2 3 crash

25 Examples (cont.) FIFO-ordered multicast: Assumption: a process belongs to at most one group. Implementation: Local variables at p: S p = 1, R p [ |g| ]={0}; FO-multicast( g, m) at p: B-multicast( g, ); S p ++; On B-deliver( ) at p from q: if( S = R p [q] + 1) FO-deliver( m); R p [q] := S; else if( S > R p [q] + 1) place in the queue until S = R p [q] + 1; FO-deliver( m); R p [q] := S; end if Your task: totally ordered multicasts. DSII: Group Comm. 25

26 Overview Introduction to group communication Desired group communication Multicast communication Group membership service DSII: Group Comm. 26

27 Group membership service Four tasks: Interface for group membership changes Failure detector Membership change notification Group address expansion DSII: Group Comm. 27 Group address expansion Multicast Communication Group membership management Group partition: –Primary-partition – one partition only –Partitionable – many partiations at once

28 Group views Group views: Lists of the current ordered group members A new one is generated when processes join or leave/fail. View delivery When a member is notified of a membership change Requirements Order if p delivers v(g)  v’(g), no other process delivers v’(g)  v(g). Integrity if p delivers v(g), p  v(g). Non-triviality if q joins a group and becomes indefinitely reachable from p, eventually q is always in the view p delivers. DSII: Group Comm. 28

29 View-synchronous group comm. Extend the reliable multicast semantics with group views. Agreement Correct processes deliver the same set of messages in any given view Validity Correct processes always deliver the messages they send. p  v 0 (g) does not deliver m in v 0 (g)  p  v 1 (g) for processes that deliver m. Integrity DSII: Group Comm. 29 p q r (p,q,r) (q,r) X crash

30 Example Ensemble: reliable group communication toolkit Previous talk DSII: Group Comm. 30

31 IP-multicast Multicast: Yes: efficiency No: Reliability Ordering Group membership service: Yes: Interface for group membership change Group address expansion No: Failure detector Membership change notification DSII: Group Comm. 31 IP: 224.0.0.1 - 239.255.255.255

32 References Distributed Systems: Concepts and Design by G. Coulouris et al., ISBN 0-201-61918-0 Section 4.5 Group Communication Section 11.4 Multicast Communication Section 14.2.2 Group Communication … DSII: Group Comm. 32

33 Lab 2: Construct a reliable and ordered multicast Reliable Integrity, Validity, Agreement Ordered All processes should agree on the order of all received messages. Total and causal order. No membership service Processes can still crash though! Use the mcgui package DSII: Group Comm. 33

34 The GUI DSII: Group Comm. 34 Message display Debug message display Time for stress test 24-hour time format # of messages for stress test

35 The interface Provide: cast basicreceive basicpeerdown Use: deliver debug basicsend DSII: Group Comm. 35

36 Implementation Cope with process crashs, not just normal leave Don’t change the mcgui package Your code will be checked using the original package Use the stress test to test your program Don’t add waits to your code to mask problems in the code The logic of your program will be checked Don’t start threads Java synchronization is handled in the package Don’t use IP multicast extend the Multicaster class DSII: Group Comm. 36

37 Lab Report How does the protocol satisfy Integrity including when processes can crash How does the protocol satisfy Validity including when processes can crash How does the protocol satisfy Agreement including when processes can crash How does the protocol satisfy the ordering requirements? Describe any used algorithms. How does the protocol deal with crashing processes? Describe any used algorithms. DSII: Group Comm. 37


Download ppt "Lab 2 Group Communication Farnaz Moradi Based on slides by Andreas Larsson 2012."

Similar presentations


Ads by Google