Bullet high bandwidth data dissemination using an overlay mesh
Download
1 / 47

Bullet: High Bandwidth Data Dissemination Using an Overlay Mesh - PowerPoint PPT Presentation


  • 68 Views
  • Uploaded on

Bullet: High Bandwidth Data Dissemination Using an Overlay Mesh. Introduction. Given a sender and a large set of receivers spread across the Internet, how can we maximize the bandwidth? Problem domain: Software or video distribution Real-time multimedia streaming. Existing Solutions.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Bullet: High Bandwidth Data Dissemination Using an Overlay Mesh' - eyal


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Introduction
Introduction Mesh

  • Given a sender and a large set of receivers spread across the Internet, how can we maximize the bandwidth?

  • Problem domain:

    • Software or video distribution

    • Real-time multimedia streaming


Existing solutions
Existing Solutions Mesh

  • IP multicast does not consider bandwidth when constructing its distribution tree

  • A promising alternative: Overlay

    • Attempts to mimic the multicast routing trees

    • Instead of high-speed routers, use programmable end hosts as interior nodes in the overlay tree


Existing solutions1
Existing Solutions Mesh

  • A tree structure is problematic

    • Decreasing bandwidth as moving down a tree

    • Any loss high up the tree will reduce the bandwidth lower down the tree

    • Bandwidth of a node limited by its single parent


A new approach
A New Approach Mesh

  • Transmit disjoint data set to various points in the network

  • A node download from multiple sources rather than a single parent

    • Higher reliability


Conceptual model
Conceptual Model Mesh

Root

1 Mbps

1 Mbps

1 Mbps

A

B


Conventional model
Conventional Model Mesh

Root

1 Mbps

1 Mbps

1 Mbps

A

B


Conventional model1
Conventional Model Mesh

Root

1 Mbps

1 Mbps

1 Mbps

A

B


Bullet
Bullet Mesh

Root

1 Mbps

1 Mbps

1 Mbps

A

B


Bullet1
Bullet Mesh

Root

1 Mbps

1 Mbps

1 Mbps

A

B


Bullet2
Bullet Mesh

Root

1 Mbps

1 Mbps

1 Mbps

A

B


Bullet3
Bullet Mesh

Root

1 Mbps

1 Mbps

1 Mbps

A

B


Bullet4
Bullet Mesh

Root

1 Mbps

1 Mbps

1 Mbps

A

B


Bullet5
Bullet Mesh

Root

1 Mbps

1 Mbps

1 Mbps

A

B


Bullet6
Bullet Mesh

Root

1 Mbps

1 Mbps

1 Mbps

A

B


Bullet7
Bullet Mesh

Root

1 Mbps

1 Mbps

1 Mbps

A

B


Bullet8
Bullet Mesh

Root

1 Mbps

1 Mbps

1 Mbps

A

B


Bullet9
Bullet Mesh

Root

1 Mbps

1 Mbps

1 Mbps

A

B


Bullet properties
Bullet Properties Mesh

  • TCP friendly

    • Must respond to congestion signals

  • Low control overhead

    • Probing resource

    • Locating multiple downloading sources

  • Decentralized and scalable

    • No global knowledge

  • Robust to failures, even high up in a tree


Bullet overview
Bullet Overview Mesh

  • Use meshes as opposed to trees

    • Bandwidth independent of the underlying overlay tree

  • Used a 1,000-node overlay and 20,000 network topologies

    • Up to 2x bandwidth improvement over a bandwidth-optimized tree

    • Overhead of 30 Kbps


System components
System Components Mesh

  • Split the data into packet-sized objects

  • Disseminate disjoint objects to clients at a rate determined by bandwidth to each client

  • Nodes need to locate and retrieve disjoint data from their peers

  • Periodically exchange summary tickets

  • Minimize overlapping objects from each peer


Illustration
Illustration Mesh

1

2

3

4

5

6

7

S

1

2

3

5

1

3

4

6

2

4

5

6

A

B

C

D

E

1

2

5

1

3

4


Data encoding
Data Encoding Mesh

  • Multimedia: MDC encoding

  • Large files: erasure encoding

    • Tornado code

    • Only need to locate 5% extra packets to reconstruct the original message

    • Faster encoding and decoding time


Ransub
RanSub Mesh

  • Distributes random subsets of participating nodes

  • During the collect phase, each node sends a random subset of its descendant nodes up the tree

  • During the distribute phase, each node sends a random subset of collected nodes down the tree


Informed content delivery techniques
Informed Content Delivery Techniques Mesh

  • Use summary tickets

  • A summary ticket is an array

    • array[i] = hashi(working set)

  • Check ticket elements against a Bloom filter

    • It is possible to have false positives

    • It is possible that B will not send a packet to A even though A is missing it


Tcp friendly rate control tfrc
TCP Friendly Rate Control (TFRC) Mesh

  • TCP halves the sending rate as soon as one packet loss is detected

    • Too severe

  • TFRC is based on loss events, or multiple dropped packets within one round-trip time


Tcp friendly rate control tfrc1
TCP Friendly Rate Control (TFRC) Mesh

  • Bullet eliminated retransmission from TFRC

    • Easier to recover from other sources than from the initial sender

    • TFRC does not aggressively seek newly available bandwidth like TCP


Bullet10
Bullet Mesh

  • Layers a mesh on top of an overlay tree to increase overall bandwidth


Finding overlay peers
Finding Overlay Peers Mesh

  • RanSub periodically delivers subsets of uniformly random selected nodes

  • Via summary tickets (120 bytes per node)

  • The working set from each node is associated with a Bloom filter

  • Peer with nodes with the lowest similarity ratio


Recovering data from peers
Recovering Data from Peers Mesh

  • A receiver assigns a portion of the sequence space to each of its senders, to avoid duplication among senders

  • A receiver periodically updates each sender with its current Bloom filter and the range of sequences covered in its Bloom filter

  • Less than 10% of all received packets are duplicates


Making data disjoint
Making Data Disjoint Mesh

  • Given a randomly chosen subset of peer nodes, it is about the same probability that each node has a particular data packet

  • A parent decides the portion of its data being sent to each child

    • A function of limiting and sending factors


Making data disjoint1
Making Data Disjoint Mesh

  • The portion of data a child should own is proportional to

    • The number of its descendants

    • Bandwidth

  • If not enough bandwidth

    • Each child receives a completely disjoint data stream


Making data disjoint2
Making Data Disjoint Mesh

  • If ample bandwidth

    • Each child will received the entire parent stream


Improving the bullet mesh
Improving the Bullet Mesh Mesh

  • What can go wrong

    • Not enough peers

    • Constant changing network

  • Use trial senders and receivers

  • Bullet periodically evaluates the performance of its peers

    • Places the worst performing sender/receiver


Evaluation
Evaluation Mesh

  • Used Internet environments and ModelNet IP emulation

  • Deployed on the PlanetLab

  • Built on MACEDON

    • Specifies the overlay algorithms

  • Core logic under 1,000 lines of code


Evaluation1
Evaluation Mesh

  • ModelNet experiments

    • 50 2 GHz Pentium 4’s running Linux 2.4.20

    • 100 Mbps and 1 Gbps Ethernet switches

    • 1,000 emulated instances

    • 20,000 INET-generated topologies


Offline bottleneck bandwidth tree
Offline Bottleneck Bandwidth Tree Mesh

  • Given global knowledge, what is the overlay tree that will deliver the highest bandwidth to a set of overlay nodes?

    • Finding a tree with a maximum bottleneck

    • NP hard in general


Offline bottleneck bandwidth tree1
Offline Bottleneck Bandwidth Tree Mesh

  • Assumptions

    • The path between two overlay nodes is fixed

    • The overlay tree uses TCP-friendly unicast connections to transfer data point-to-point

    • In the absence of other flows, we can estimate the throughput of a TCP-friendly flow using a steady-state formula

    • In the case of sharing, each flow can achieve at most of 1/nth of the total throughput


Bullet vs streaming
Bullet vs. Streaming Mesh

  • The maximum bottleneck tree achieves 5x bandwidth compared to random trees

  • Bullet outperforms the bottleneck tree by a factor up to 100%


Creating disjoint data
Creating Disjoint Data Mesh

  • Without disjoint transmission of data

    • Bullet degrades by 25%


Epidemic approaches
Epidemic Approaches Mesh

  • Bullet is 60% better than anti-entropy (gossiping) approaches

    • Epidemic algorithms have an excessive number of duplicate packets


Bullet on a lossy network
Bullet on a Lossy Network Mesh

  • Bullet achieves 2x bandwidth compared to maximum bottleneck trees


Performance under failure
Performance Under Failure Mesh

  • With failure detection/recovery disabled

    • 30% performance degradation with a missing child under the root

  • With failure detection/recovery enabled

    • Negligible disruption of performance


Planetlab
PlanetLab Mesh

  • 47 nodes for deployment

  • Similar results


Related work
Related Work Mesh

  • Kazza

    • Perpendicular downloads

    • Does not use erasure code

    • Bandwidth consuming

  • BitTorrent

    • Centralized tracker

  • FastReplica

    • Not bandwidth aware


Related work1
Related Work Mesh

  • Scalable Reliable Multicast

    • Difficult to configure

  • Epidemic approaches

    • Do not avoid duplicates

  • Narada

    • Use overlay meshes

    • Bandwidth still limited by parent


Related work2
Related Work Mesh

  • Overcast

    • More heavyweight when nodes leave a tree

  • Splitstream

    • Not bandwidth aware

  • CoopNet

    • Centralized


ad