Distributed Systems Chapter.2 Communication

Download Report

Transcript Distributed Systems Chapter.2 Communication

Communication
Part IV
Multicast Communication*
*Referred to slides by Manhyung Han at Kyung Hee University and Hitesh Ballani at Cornell
University
Unicast, Broadcast
versus Multicast
• Unicast
– One-to-one
– Destination – unique receiver
host address
• Broadcast
– One-to-all
– Destination – address of
network
• Multicast
– One-to-many
– Multicast group must be
identified
– Destination – address of group
Key:
Unicast transfer
Broadcast transfer
Multicast transfer
Multicast application examples
• Financial services
– Delivery of news, stock quotes, financial indices, etc
• Remote conferencing/e-learning
– Streaming audio and video to many participants
(clients, students)
– Interactive communication between participants
• Data distribution
– e.g., distribute experimental data from Large Hadron
Collider (LHC) at CERN lab to interested physicists around
the world
IP multicast
Gatech
Stanford
CMU
Berkeley
Routers with multicast support
•Highly efficient bandwidth usage
Key Architectural Decision: Add support for multicast in IP layer
So what is the big issue …
more than 20 years since proposal, but no wide area IP multicast
deployment
• Scalability (with number of groups)
-- Routers maintain per-group state
• IP Multicast: best-effort multi-point delivery service
-- Providing higher level features such as reliability, congestion
control, flow control, and security has shown to be more difficult
than in the unicast case
Can we achieve efficient multi-point delivery without IP-layer support?
Application layer multicast
Gatech
Stanford
Stan1
Stan2
CMU
Berk1
Berkeley
Overlay Tree
Gatech
Berk2
Stan1
Stan2
CMU
Berk1
Berk2
Pros and Cons
• Scalability
– Routers do not maintain per-group state
– End systems do, but they participate in very few groups
• Potentially simplify support for higher level functionality
– Leverage computation and storage of end systems
– Leverage solutions for unicast congestion, error and flow control
• Efficiency concerns
– redundant traffic on physical links
– increase in latency due to end-systems
System structure
The overlay comprises of :
• A central source (may be replicated for fault tolerance)
• A number of overcast nodes (standard PCs with lot’s of
storage)
- organized into a distribution tree rooted at the source
- bandwidth efficient trees
• Final Consumers – members of the multicast group
- allows unmodified HTTP clients to join
Bandwidth Efficient Overlay Trees
1
10 Mb/s
R
2
“…three ways of organizing the root and the nodes into a distribution tree.”
1
R
R
2
1
2
R
2
1
The node addition algorithm
R
R
5
10
1
10
3
8
1
2
7
5
2
Physical network substrate
3
Overcast distribution tree
The client side – how to join a
multicast group
• Clients join a multicast group through a typical HTTP GET
request
• Root determines where to connect the client to the multicast
tree using
– Status of overcast nodes
– Location of client
• Root selects “best” server and redirects the client to that
server
Client Joins
Key:
Content query
(multicast join)
Query redirect
Content delivery
R1
R2
1
3
2
4
R3
5
6
Application level multicasting
• A survey on ALM