Chainsaw: Eliminating Trees From Overlay Multicast Vinay Pai Kapil - - PowerPoint PPT Presentation

chainsaw eliminating trees from overlay multicast
SMART_READER_LITE
LIVE PREVIEW

Chainsaw: Eliminating Trees From Overlay Multicast Vinay Pai Kapil - - PowerPoint PPT Presentation

Chainsaw Problem Statement Chainsaw: Eliminating Trees From Overlay Multicast Vinay Pai Kapil Kumar Karthik Tamilmani Vinay Sambamurthy Alexander E. Mohr { vinay,kkumar,tamilman,vsmurthy,amohr } @cs.stonybrook.edu Department of Computer


slide-1
SLIDE 1

Chainsaw Problem Statement

Chainsaw: Eliminating Trees From Overlay Multicast

Vinay Pai Kapil Kumar Karthik Tamilmani Vinay Sambamurthy Alexander E. Mohr {vinay,kkumar,tamilman,vsmurthy,amohr}@cs.stonybrook.edu

Department of Computer Science Stony Brook University

International Workshop on Peer-to-Peer Systems 2005

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-2
SLIDE 2

Chainsaw Problem Statement

Problem Statement

Problem Statement Design an overlay multicast system that: Delivers high bandwidth Supports a large number of simultaneous users Incurs little or no packet loss Minimizes duplication of data Is robust to large-scale node failure

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-3
SLIDE 3

Introduction System Description Experimental Results Future Work Conclusion Trees Various Solutions Splitstream Bullet Other

Traditional Approach: Multicast Trees

Shortcoming of Trees Rigid structure

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-4
SLIDE 4

Introduction System Description Experimental Results Future Work Conclusion Trees Various Solutions Splitstream Bullet Other

Traditional Approach: Multicast Trees

Leaf nodes don’t upload! Shortcoming of Trees Rigid structure Unfair sharing of load

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-5
SLIDE 5

Introduction System Description Experimental Results Future Work Conclusion Trees Various Solutions Splitstream Bullet Other

Traditional Approach: Multicast Trees

Shortcoming of Trees Rigid structure Unfair sharing of load Error propagation

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-6
SLIDE 6

Introduction System Description Experimental Results Future Work Conclusion Trees Various Solutions Splitstream Bullet Other

Solutions

Splitstream More Trees! Bullet Tree overlaid with mesh Chainsaw Get rid of the trees

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-7
SLIDE 7

Introduction System Description Experimental Results Future Work Conclusion Trees Various Solutions Splitstream Bullet Other

Splitstream

Splitstream: Multiple Trees A node is interior in at most one tree Improves fairness

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-8
SLIDE 8

Introduction System Description Experimental Results Future Work Conclusion Trees Various Solutions Splitstream Bullet Other

Splitstream

Splitstream: Multiple Trees A node is interior in at most one tree Improves fairness Limitation Only partially mitigates effect of packet loss/node failure

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-9
SLIDE 9

Introduction System Description Experimental Results Future Work Conclusion Trees Various Solutions Splitstream Bullet Other

Bullet

Bullet: Tree+Mesh Most data sent over the tree Missing packets recovered using mesh Improves performance vs. pure tree

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-10
SLIDE 10

Introduction System Description Experimental Results Future Work Conclusion Trees Various Solutions Splitstream Bullet Other

Bullet

Bullet: Tree+Mesh Most data sent over the tree Missing packets recovered using mesh Improves performance vs. pure tree Limitation Does not fully address the issue of fairness—leaf nodes still likely to upload very little

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-11
SLIDE 11

Introduction System Description Experimental Results Future Work Conclusion Trees Various Solutions Splitstream Bullet Other

Other

BitTorrent: Mesh-based file sharing File sharing not overlay multicast! But is similar to our approach Others Gossip-based protocols End System Multicast TMesh

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-12
SLIDE 12

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

Network Structure

S A B C D E F Random Graph Structure Nodes are connected randomly with some average degree Seed node S injects new data into the network

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-13
SLIDE 13

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

Network Structure

N S A B C D E F Random Graph Structure Nodes are connected randomly with some average degree Seed node S injects new data into the network New node N joins the system

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-14
SLIDE 14

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

Network Structure

N S A B C D E F Random Graph Structure Nodes are connected randomly with some average degree Seed node S injects new data into the network New node N joins the system N picks a random set of nodes to connect to

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-15
SLIDE 15

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

Packet Stream

... ... 11 10 9 8 7 6 5

Packet Stream Stream is broken up into packets Packets are assigned sequence number Assume (for this talk) that packets are all equal in size

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-16
SLIDE 16

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

Packet Stream

Windows advance

  • ver time

... ... 11 10 9 8 7 6 5

Window of interest Window of availability

Windows Attempt to download packets within Window of Interest Packets that don’t arrive before they “fall off the edge” are considered lost Offer neighbors packets within Window of Availability

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-17
SLIDE 17

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

State Maintained

State Only local state is maintained! List of neighbors Packets available at each neighbor List of potential neighbors (to replace dead ones)

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-18
SLIDE 18

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

Protocol

NOTIFY

B A C D

Request-Response Protocol Node A gets a new packet and informs node B

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-19
SLIDE 19

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

Protocol

REQUEST

A B C D

Request-Response Protocol Node A gets a new packet and informs node B Node B makes a list of packet it is interested in Node B picks from the list to request

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-20
SLIDE 20

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

Protocol

PACKET

A B C D

Request-Response Protocol Node A gets a new packet and informs node B Node B makes a list of packet it is interested in Node B picks from the list to request Node A responds by sending the packet

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-21
SLIDE 21

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

Protocol

NOTIFY NOTIFY

A B C D

Request-Response Protocol Node A gets a new packet and informs node B Node B makes a list of packet it is interested in Node B picks from the list to request Node A responds by sending the packet Node B informs its other neighbors C and D

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-22
SLIDE 22

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

Request Strategy

Which packet to request? Question: Given the list of packets a neighbor has that you’re interested in, which do you request?

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-23
SLIDE 23

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

Request Strategy

Which packet to request? Question: Given the list of packets a neighbor has that you’re interested in, which do you request? Potential Choices: Random

Some packets may not get picked from the seed for a long time

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-24
SLIDE 24

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

Request Strategy

Which packet to request? Question: Given the list of packets a neighbor has that you’re interested in, which do you request? Potential Choices: Random

Some packets may not get picked from the seed for a long time

Rarest First

Biases all nodes towards same set of packets

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-25
SLIDE 25

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

Request Strategy

Which packet to request? Question: Given the list of packets a neighbor has that you’re interested in, which do you request? Potential Choices: Random

Some packets may not get picked from the seed for a long time

Rarest First

Biases all nodes towards same set of packets

Earliest First

Biases all nodes towards same set of packets Increases delay by not picking new packets

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-26
SLIDE 26

Introduction System Description Experimental Results Future Work Conclusion System Architecture State Maintenance Protocol Request Strategy

Request Strategy

Successful Strategy Nodes use random strategy, seed is smarter. If the seed has unsent packets and it receives a request for a previously sent packet, it answers the request with an unsent packet instead.

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-27
SLIDE 27

Introduction System Description Experimental Results Future Work Conclusion Scalability No Packet Loss Startup Delay Comparison to Bullet and Splitstream DVD Streaming Over Planetlab

Chainsaw scales to 10,000 nodes

Claim Chainsaw consistently delivers high bandwidth to a large number of nodes Simulator Setup Stream: 100 kB/sec with 1000 byte packets 10,000 node graph with minimum degree 30 Seed capacity: 200 kB/sec Non-seed capacity: 120 kB/sec Round-trip time between nodes: 50 ms Buffer size: 500 packets (5 sec)

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-28
SLIDE 28

Introduction System Description Experimental Results Future Work Conclusion Scalability No Packet Loss Startup Delay Comparison to Bullet and Splitstream DVD Streaming Over Planetlab

Bandwidth

20 40 60 80 100 120 140 160 180 200 220 240 10 20 30 40 50 60 70 80 90 100 110 120 Bandwidth (kB/sec) Time (seconds) Seed Upload Rate

  • Avg. Non−seed Upload Rate
  • Avg. Download Rate

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-29
SLIDE 29

Introduction System Description Experimental Results Future Work Conclusion Scalability No Packet Loss Startup Delay Comparison to Bullet and Splitstream DVD Streaming Over Planetlab

No Packet Loss

Claim Chainsaw loses virtually no packets Simulator Setup Same as before

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-30
SLIDE 30

Introduction System Description Experimental Results Future Work Conclusion Scalability No Packet Loss Startup Delay Comparison to Bullet and Splitstream DVD Streaming Over Planetlab

Progress Graph

1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 10 20 30 40 50 60 70 80 90 100 110 120 Sequence number Time (seconds) Seed A typical node Trailing edge of buffer

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-31
SLIDE 31

Introduction System Description Experimental Results Future Work Conclusion Scalability No Packet Loss Startup Delay Comparison to Bullet and Splitstream DVD Streaming Over Planetlab

Progress Graph (Zoomed)

7300 7400 7500 7600 7700 7800 7900 8000 8100 8200 75 76 77 78 79 80 81 82 83 84 85 Sequence number Time (seconds) Seed A typical node Earliest possible playback Trailing edge of buffer

Buffer Fullness > 3.06 sec

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-32
SLIDE 32

Introduction System Description Experimental Results Future Work Conclusion Scalability No Packet Loss Startup Delay Comparison to Bullet and Splitstream DVD Streaming Over Planetlab

Low Startup Delay

Claim A new node can start downloading quickly Simulator Setup Basic setup identical to previous experiment One node started 50sec later than the rest Startup strategy:

Begin requesting 3 sec old pieces Request sequentially

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-33
SLIDE 33

Introduction System Description Experimental Results Future Work Conclusion Scalability No Packet Loss Startup Delay Comparison to Bullet and Splitstream DVD Streaming Over Planetlab

Behavior of New Node

3000 3500 4000 4500 5000 5500 6000 6500 7000 40 45 50 55 60 65 70 75 80 Sequence number Time (seconds) Seed A typical node A new node Trailing edge of buffer

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-34
SLIDE 34

Introduction System Description Experimental Results Future Work Conclusion Scalability No Packet Loss Startup Delay Comparison to Bullet and Splitstream DVD Streaming Over Planetlab

Behavior of New Node (Zoomed)

4700 4800 4900 5000 5100 5200 5300 49 50 51 52 53 54 Sequence number Time (seconds) Seed A typical node A new node Earliest possible playback Trailing edge of buffer

330ms Startup Delay

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-35
SLIDE 35

Introduction System Description Experimental Results Future Work Conclusion Scalability No Packet Loss Startup Delay Comparison to Bullet and Splitstream DVD Streaming Over Planetlab

Real-world Comparison to Bullet and Splitstream

Experimental Setup Implemented Chainsaw using Macedon Macedon includes implementations of Bullet and Splitstream Ran trials on 174 Planetlab nodes Stream rate: 75 kB/sec 50% nodes terminated after 3 min to simulate failure Limitation of Splitstream Implementation At the time we ran our experiments, Macedon’s Splitstream implementation did not implement the recovery mechanism. Therefore the behavior of Splitstream following the failure is not due to the limitations of the protocol.

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-36
SLIDE 36

Introduction System Description Experimental Results Future Work Conclusion Scalability No Packet Loss Startup Delay Comparison to Bullet and Splitstream DVD Streaming Over Planetlab

Bandwidth

50% of nodes killed

  • ver this interval

10 20 30 40 50 60 70 80 90 100 110 120 120 130 140 150 160 170 180 190 200 210 220 230 240 Bandwidth (kB/sec) Time(seconds) Chainsaw Useful Data Bullet Useful Data Splitstream Useful Data

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-37
SLIDE 37

Introduction System Description Experimental Results Future Work Conclusion Scalability No Packet Loss Startup Delay Comparison to Bullet and Splitstream DVD Streaming Over Planetlab

Packet Loss

Splitstream All nodes suffered packet loss Average packet loss rate: 14% (ignore behavior after nodes fail) Bullet All nodes suffered packet loss Packet loss rate: 0.88% - 3.64% Loss rate unaffected by node failure Chainsaw 98% of the nodes had zero packet loss Two nodes suffered <0.05% packet loss One overloaded node suffered 60% loss

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-38
SLIDE 38

Introduction System Description Experimental Results Future Work Conclusion Scalability No Packet Loss Startup Delay Comparison to Bullet and Splitstream DVD Streaming Over Planetlab

Duplicate Data

Splitstream Tree-based design eliminates duplicate data No duplicate packets observed Bullet RanSub algorithm makes duplication likely Nodes received 5-10% duplicate data on average Chainsaw Spurious timeouts may cause duplicate requests Observed duplicate data rate <1%

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-39
SLIDE 39

Introduction System Description Experimental Results Future Work Conclusion Scalability No Packet Loss Startup Delay Comparison to Bullet and Splitstream DVD Streaming Over Planetlab

DVD Streaming Over Planetlab

Experimental Setup Native C implementation 8kB packet size 4 Mbit stream (Comparable to DVD rate) Results 230 nodes received stream with zero loss 920 Mbit aggregate bandwidth! Protocol overhead (including TCP/IP headers, etc.): 10%

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-40
SLIDE 40

Introduction System Description Experimental Results Future Work Conclusion

Future Work

Future Work Churn

We have not experimented with dynamic joins and leaves Unstructured architecture: expected to work even with a fraction of neighbors are working at a given time

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-41
SLIDE 41

Introduction System Description Experimental Results Future Work Conclusion

Future Work

Future Work Churn

We have not experimented with dynamic joins and leaves Unstructured architecture: expected to work even with a fraction of neighbors are working at a given time

Non-cooperative Environments

So far we assume nodes upload willingly When total capacity is scarce, we wish to penalize those that don’t upload first

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-42
SLIDE 42

Introduction System Description Experimental Results Future Work Conclusion

Future Work

Future Work Churn

We have not experimented with dynamic joins and leaves Unstructured architecture: expected to work even with a fraction of neighbors are working at a given time

Non-cooperative Environments

So far we assume nodes upload willingly When total capacity is scarce, we wish to penalize those that don’t upload first

Piece-picking Strategy

Being smarter than Random may yield better performance Better ways of taking delay and rarity into account

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-43
SLIDE 43

Introduction System Description Experimental Results Future Work Conclusion

Conclusion

Conclusion We have shown that: Overlay multicast over an unstructured network is feasible The architecture can scale to a large number of nodes Packet loss can be virtually eliminated The system is resilient to catastrophic node failure Real-world tests corroborate simulation results

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-44
SLIDE 44

Appendix Another Experiment! Questions?

Questions?

Questions?

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-45
SLIDE 45

Appendix Another Experiment! Resilience to Catastrophic Failure

Robust to Catastrophic Failure

Claim Chainsaw continues to work even in the face of massive simultaneous node failure Nodes do not lose packets so long as they have enough neighbors Simulator Setup Stream: 100 kB/sec with 1000 byte packets 10,000 node graph with minimum degree 40 Seed capacity: 200 kB/sec Non-seed capacity: 120 kB/sec Round-trip time between nodes: 50 ms Buffer size: 1000 packets (10 sec) 5000 nodes killed off after 50 sec

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-46
SLIDE 46

Appendix Another Experiment! Resilience to Catastrophic Failure

Bandwidth

25 50 75 100 125 150 175 200 225 250 10 20 30 40 50 60 70 80 90 100 110 120 Transfer rate (kB/sec) Time (seconds) Seed Upload Rate Failing Node Download Rate Non−failing Node Download Rate

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast

slide-47
SLIDE 47

Appendix Another Experiment! Resilience to Catastrophic Failure

Progress Graph

4000 4200 4400 4600 4800 5000 5200 5400 5600 5800 6000 6200 6400 6600 6800 7000 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 Sequence Number Time (seconds) Typical Node Trailing edge of buffer Seed

Pai, Kumar, Tamilmani, Sambamurthy, Mohr Chainsaw: Eliminating Trees From Overlay Multicast