• Aucun résultat trouvé

Group communication

N/A
N/A
Protected

Academic year: 2022

Partager "Group communication"

Copied!
35
0
0

Texte intégral

(1)

African University of Science and Technology

Group Communication Pr. Ousmane THIARE

http://www.ousmanethiare.com

(2)

Outline

Modes of communication

Implementing Group Communication Mechanisms

Reliability of multicasts

Message ordering

IP multicasting routing

2 on 35

(3)

Modes of communication

Modes of communication

unicast

1↔1

Point-to-point

anycast

1→nearest 1 of several identical nodes

Introduced with IPv6; used with BGP

netcast

1→many, 1 at a time

multicast

1→many

group communication

broadcast

1→

(4)

Modes of communication

Groups

Groups are dynamic

Created and destroyed

Processes can join or leave

•May belong to 0 or more groups

Send message to one entity

Deliver to entire group

Deal with collection of processes as one abstraction

4 on 35

(5)

Modes of communication

Design Issues

Closed vs. Open

Closed: only group members can sent messages

Peer vs. Hierarchical

Peer: each member communicates with group

Hierarchical: go through dedicated coordinator(s)

Diffusion: send to other servers & clients

Managing membership & group creation/deletion

Distributed vs. centralized

Leaving & joining must be synchronous

Fault tolerance

Reliable message delivery? What about missing members?

(6)

Implementing Group Communication Mechanisms

Hardware multicast

Hardware support for multicast

Group members listen on network address

6 on 35

(7)

Implementing Group Communication Mechanisms

Hardware broadcast

Hardware support for broadcast

Software filters multicast address•May be auxiliary address

(8)

Implementing Group Communication Mechanisms

Software: netcast

Multiple unicasts (netcast)

Sender knows group members

8 on 35

(9)

Implementing Group Communication Mechanisms

Software: hierarchical

Multiple unicasts via group coordinator

coordinator knows group members

(10)

Reliability of multicasts

Atomic multicast

Atomicity

Message sent to a group arrives at all group members

•If it fails to arrive at any member, no member will process it.

Problems

Unreliable network

Each message should be acknowledged

Acknowledgements can be lost

Message sender might die

10 on 35

(11)

Reliability of multicasts

Achieving atomicity

Retry through network failures & system downtime

Send message to all group members

Each receiver acknowledges message

Saves message and acknowledgement in log

Does not pass message to application

Sender waits for all acknowledgements

Retransmits message to non-responding members – Again and again... until responses from all are received

Sender sends ”go” message to all members

Each recipient delivers message to application

Sends reply to server

(12)

Reliability of multicasts

Achieving atomicity

All members will eventually get the message

Phase 1:

Make sure that everyone gets the message

Phase 2:

Once everyone has confirmed receipt, let the application see it

12 on 35

(13)

Reliability of multicasts

Reliable multicast

All nonfaulty group members will receive the message

Assume sender & recipients will remain alive

Network may have glitches

•Retransmit undelivered messages

Acknowledgements

Send message to each group member

Wait for acknowledgement from each group member

Retransmit to non-responding members

Subject to feedback implosion

Negative acknowledgements

Use a sequence # on each message

Receiver requests retransmission of a missed message

More efficient but requires sender to buffer messages indefinitely

(14)

Reliability of multicasts

Unreliable multicast

Basic multicast

Hope it gets there

14 on 35

(15)

Message ordering

Good ordering

(16)

Message ordering

Bad ordering

16 on 35

(17)

Message ordering

Good ordering

(18)

Message ordering

Bad ordering

18 on 35

(19)

Message ordering

Sending versus Delivering

Multicast receiver algorithm decides when to deliver a message to the process.

A received message may be:

Delivered immediately

Network may have glitches

(put on a delivery queue that the process reads)

Placed on a hold-back queue

(because we need to wait for an earlier message)

Rejected/discarded

(duplicate or earlier message that we no longer want)

(20)

Message ordering

Sending, delivering, holding back

20 on 35

(21)

Message ordering

Global time ordering

All messages arrive in exact order sent

Assumes two events never happen at the exact same time!

Difficult (impossible) to achieve

(22)

Message ordering

Total ordering

Consistent ordering everywhere

All messages arrive at all group members in the same order

If a process sends m before m’ then any other process that delivers m’

will have delivered m.

If a process delivers m’ before m” then every other process will have delivered m’ before m”.

Implementation:

Attach unique totally sequenced message ID

Receiver delivers a message to the application only if it has received all messages with a smaller ID

22 on 35

(23)

Message ordering

Total ordering

Partial ordering

Messages sequenced by Lamport or Vector timestamps

Ifmulticast(G,m)→multicast(G,m0)

then every process that delivers m’ will have delivered m

Implementation:

Deliver messages in timestamp order per-source.

(24)

Message ordering

Sync ordering

Messages can arrive in any order

Special message type

Synchronization primitive

Ensure all pending messages are delivered before any additional (post-sync) messages are accepted

24 on 35

(25)

Message ordering

FIFO ordering

Messages can be delivered in different order to different members

Message m must be delivered before message m’ iff m was sent before m’ from the same host

If a process issues a multicast of m followed by m’, then every process

that delivers m’ will have already delivered m.

(26)

Message ordering

Unordered multicast

Messages can be delivered in different order to different members

Order per-source does not matter.

26 on 35

(27)

Message ordering

Multicasting considerations

(28)

IP multicasting routing

IP multicasting routing

Deliver messages to a subset of nodes

How do we identify the recipients?

Enumerate them in the header?

•What if we don’t know?

•What if we have thousands of recipients?

Use a special address to identify a group of receivers

A copy of the packet is delivered to all receivers associated with that group

Host group=set of machines listening to a particular multicast address

28 on 35

(29)

IP multicasting routing

IP multicasting

Can span multiple physical networks

Dynamic membership

Machine can join or leave at any time

No restriction on number of hosts in a group

Machine does not need to be a member to send messages

Efficient: Packets are replicated only when necessary

(30)

IP multicasting routing

IGMP

Internet Group Management Protocol (IGMP)

Operates between a host and its attached router

Goal: allow a router to determine to which of its networks to forward IP multicast traffic

IP protocol

Three message types

Membership query

•Sent by a router to all hosts on an interface to determine the set of all multicast groups that have been joined by the hosts on that interface

Membership report

•Host response to a query or an initial join or a group

Leave group

•Host indicates that it is no longer interested

•Optional:router infers this if the host does not respond to a query 30 on 35

(31)

IP multicasting routing

Multicast Forwarding

IGMP allows a host to subscribe to a multicast stream

What about the source?

There is no protocol for the source!

It just sends to a class D address

Routers have to do the work

(32)

IP multicasting routing

Multicast Forwarding

IGMP: Internet Group Management Protocol

Designed for routers to talk with hosts on directly connected networks

PIM: Protocol Independent Multicast

Multicast Routing Protocol for delivering packets across routers

Topology discovery is handled by other protocols

32 on 35

(33)

IP multicasting routing

Flooding: Dense Mode Multicast

Relay multicast packet to all connected routers

Use a spanning tree and use reverse path forwarding (RPF) to avoid loops

Feedback & cut-off if there are no interested receivers on a link

•A router sends a prune message.

•Periodically, routers send messages to refresh the prune state

Flooding is initiated by the sender’s router

Reverse path forwarding (RPF): avoid routing loops

Packet is duplicated & forwarded ONLY IF it was received via the link that is the shortest path to the sender

Shortest path is found by checking the forwarding table to the source address

(34)

IP multicasting routing

Flooding: Dense Mode Multicast

Advantage:

Simple

Good if the packet is desired in most locations

Disadvantage:

wasteful on the network, wasteful extra state & packet duplication on routers

34 on 35

(35)

IP multicasting routing

Sparse Mode Multicast

Initiated by the routers at each receiver

Each router needs to ask for a multicast feed with a PIM Join message

Initiated by a router at the destination that gets an IGMP join

Spanning tree constructed

•Joinmessages propagate to a definedrendezvouspoint

•Sender transmits only to the rendezvous point

APrunemessage stops a feed

Advantage:

Packets go only where needed

Creates extra state in routers only where needed

Références

Documents relatifs

(2006) Transient climate change scenario simulation of the Mediterranean Sea for the 21st century using a high-resolution ocean circulation model.

Since this was the first time that CLEF used Portuguese collections in an evaluation campaign, this task didn’t have previous relevant judgements and training collections.. In order

France Management Committee: Executive Committee + Executive Vice Presidents, Generation and Trading, Customers, EDF-GDF Distribution and Local Development Project, Corporate

Generation, networks, customers and energy uses: R&D is improving performance in all Group businesses. Its goal is to accelerate the transition from innovation to

sxc/Ogt-null mutants lack nuclear GlcNAcylation, and fail to maintain Polycomb transcriptional repression even though PcG protein complexes are still bound to the chromatin of

The co-design process presented in this use case allows us to go one step further, because after having identified the existing barriers, the co-design with the actors allowed

type Variante Course Force de poussée Force de traction Force de retenue Courant nominal Vitesse de levage à pleine

The Adecco Group at a glance Message from the Chairman and Chief Executive Officer 2016 highlights Chief Executive Officer’s strategic review Our investment story Leading in