Download ppt

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

CAN bus wikipedia , lookup

Airborne Networking wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

IEEE 1355 wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Transcript
Bullet: High Bandwidth Data
Dissemination Using an Overlay Mesh
by
Dejan Kostic, Adolfo Rodriguez,
Jeannie Albrecht and Amin Vahdat
presented by
Jon Turner
Introduction
 Problem:
large-scale data dissemination.
» focus on high bandwidth streaming media
 Current
solutions
» IP multicast – not complete solution and not deployed
» overlay multicast – too dependent on quality of multicast trees
 Proposed
approach.
» partial distribution using multicast tree
– all data distributed, but each node gets only fraction from parent
» peer-to-peer distribution of remainder
– periodic distribution of information about data present at random
subsets of entire group
– nodes request missing data from peers
» system combines number of elements developed earlier
– erasure encoding (redundant tornado codes)
– random subset distribution
– informed content-delivery
– TCP friendly rate control
4-‹#› - Jon Turner - 8/3/2017
Overview of Bullet Operation

Distribute data over tree
» limited replication
» uses bandwidth feedback


Nodes retrieve missing
data from peers.
Periodic distribution of
content availability info.
» random subset of nodes
» summary of their content

Limited set of peering
relationships.
» each node receives from
limited set of senders
» each node limits receivers
» sets evolve over time to
improve utility of peers

Data sent using TCP
friendly rate control.
4-‹#› - Jon Turner - 8/3/2017
Data Distribution
 System
operates in series of epochs (typ. 5 seconds).
»at start of epoch, nodes learn # of descendants children have
»child i is assigned a sending factor sfi equal to its share of
descendants (child with 20% of descendants has sfi=.2)
 Nodes
forward data received from parent to children.
»packets are “assigned” to children according to their sf values
»additional copies forwarded to children with spare bandwidth
–use limiting factors, lfi to determine which children have spare bw
–lf values are adjusted dynamically in (0,1] based on bw
 Algorithm
sketch – executed for each input packet p
Find child t that has been assigned
fewer than its share of packets.
» attempt to send p to t (transport
protocol blocks send if sending rate
too high)
» if attempt succeeds, assign p to t
4-‹#› - Jon Turner - 8/3/2017
For each child c
» attempt to send to c if no successful
attempt yet or if c has spare bw
» if attempt succeeds and this is first
successful attempt, assign p to c
» if attempt succeeds, but not first
success, increase lfc
» if attempt fails, decrease lfc
Finding Prospective Data Sources
 At
start of each epoch, each node receives information
about data present at a random subset of peers.
» summary ticket describing data present at each peer from
current “working set”
» by comparing peer summary tickets to its own, node determines
similarity of peers’ data to its data
» select new peers with dissimilar data sets
» limit on number of concurrent senders
– discard senders that have been supplying too few new packets
– creates space in sender list for new sender
 Computing
summary ticket
» if node has packets i1,i2,...,in
» let tj=min{fj(i1), fj(i2),...} for 1≤j≤k where fj(ik)=(aj ik+bj) mod U
» summary ticket is (t1, t2,....,tk)
» each tj depends on the entire sequence
» similarity of two tickets is fraction of values in common
4-‹#› - Jon Turner - 8/3/2017
Recovering Data From Peers
 Node
periodically supplies its senders with a
representation of the set of packets it currently has.
» limited to current “working set” (range of sequence numbers)
» set is represented by a Bloom filter
» each sender is also assigned a fraction of the working set
– packets with sequence numbers equal to i mod s where s is
number of senders
 Senders
transmit missing packets using available bw.
» packets checked against Bloom filter
– don’t send if packet’s sequence number is in Bloom filter
» because senders selected for dissimilarity, most packets should
pass check
 Example
of numerical parameters.
» 5 second epoch, 30 second working set, 500 Kb/s=50 p/s,
10 senders
» so asking each sender for at most 150 packets
– simpler and possibly more efficient to use bit vector
4-‹#› - Jon Turner - 8/3/2017
Distributing Random Subsets
 Objective
– give each node a random sample of other
nodes in the tree, excluding its descendants.
 Two phases
»collect phase – propagate random subsets up the tree
»distribute phase – propagate random subsets back down tree
–mix subset received from parent with child subsets
S=subset of {u}S1...Sk
n=1+n1+...+nk
u
S1,n1
S2,n2
4-‹#› - Jon Turner - 8/3/2017
Sk,nk
D,N
D1=subset of {u}DS2...Sk
N1=1+N+n2+...+nk
u
Other Features
 Formation
of overlay tree.
»not a focus of this work
»paper cites variety of previous tree construction algorithms
»argues that use of mesh makes tree quality less important
»most results use random tree
 Data
encoding
»not a focus of this work
»suggests use of erasure codes or multiple-description codes
»reported results neglect encoding
 Transport
protocol
»unreliable version of TFRC
»adjusts sending rate to match fair-share bandwidth based on
detected loss probability
»feedback from transport sender used by Bullet to adjust rates
at which it attempts to send to children
4-‹#› - Jon Turner - 8/3/2017
Performance Evaluation
 Most
results emulated in ModelNet (Duke network
emulation system, similar to Emulab)
» uses 50 machines (2 GHz P4s running Linux) to emulate 1,000 node
overlay

20,000 node network topology generated using INET
» link delays determined by geographic separation
» random subset of network “client” nodes selected for overlay
» random node in overlay selected as root

Link bandwidths
» four classes of links
» three scenarios
low bandwidth
medium
client-stub
stub-stub
transit-stub
transittransit
.3-.6 Mb/s
.5-1 Mb/s
1-2 Mb/s
3-4 Mb/s
.8-2.8 Mb/s
1-4 Mb/s
1-4 Mb/s
5-10 Mb/s
2-8 Mb/s
2-8 Mb/s
10-20 Mb/s
high 1.6-5.6 Mb/s
4-‹#› - Jon Turner - 8/3/2017
Tree Quality for Streaming Data
bottleneck bandwidth
tree constructed
heuristically to have no
small capacity links
(off-line construction)
point is to show that
bottleneck tree is much
better than random tree
used by Bullet.
bottleneck bandwidth tree
random tree
4-‹#› - Jon Turner - 8/3/2017
Baseline Bullet Performance
not too much
excess traffic
raw total
useful total
most data
from mesh
±std. deviation
from parent
4-‹#› - Jon Turner - 8/3/2017
average better
than bottlneck
tree for
streaming case
3s point
suggests a
few percent
get less than
half average
Cum. Dist. of Received Bandwidth
about 100 nodes get
<80% of median
about 50 nodes get
<70% of median
4-‹#› - Jon Turner - 8/3/2017
median about
525 Kb/s
Comparing Bullet to Streaming
when plenty of
bandwidth both
do well
Bullet does better
when bandwidth
limited
high bandwidth
medium
Bullet
Bottleneck
4-‹#› - Jon Turner - 8/3/2017
much better when
bandwidth scarce
low
Effect of Oblivious Data Distribution
tree nodes attempt to
forward all received
packets to all children
raw total
average
throughput
drops by 25%
useful total
from parent
4-‹#› - Jon Turner - 8/3/2017
Bullet vs “Epidemic Routing”
 Push
gossiping
»nodes forward non-duplicate packets to randomly chosen set of
peers in their local view
»packets forwarded as they arrive
»no tree required
 Streaming
with anti-entropy
»data streamed over multicast tree
»gossip with random peers to retrieve missing data
»anti-entropy (?) used to locate missing data
–apparently, this means periodically select a random peer and send
it list of missing packets, peer supplies missing packets it has
 Experiments
done on 5000 node topology.
»no physical losses
»link bandwidths chosen from medium range
4-‹#› - Jon Turner - 8/3/2017
Bullet vs “Epidemic Routing”
gossiping has high overhead,
bullet and streaming w/AE are
comparable
push gossiping
streaming w/AE
bullet
raw
useful
bullet
bullet outperforms
push gossiping epidemic routing
streaming w/AE
4-‹#› - Jon Turner - 8/3/2017
Performance on Lossy Links
non-transit links lose 0 to .3% of packets
transit links lose 0 to .1%
5% of links lose 5 to 10%
Bullet dramatically better
than streaming over
bottleneck tree topology
Bullet – high bw, medium
bottleneck
high, medium
Bullet – low
bottleneck – low
4-‹#› - Jon Turner - 8/3/2017
Performance with Failing Node
 Child
of root with 110 descendants fails at time 250.
 Assume no underlying tree recovery.
 Evaluate effect of failure detection and establishment
of new peer relationships
new peers disabled
bandwidth received
useful total
degraded
throughput
using existing
peers
from parent
4-‹#› - Jon Turner - 8/3/2017
adding new peers
eliminates
new peers enabled
degradation
bandwidth received
useful total
from parent
Bullet Performance on Planet Lab
 47
nodes with 10 in Europe, including root.
 Compare to streaming over hand-crafted trees.
Bullet
good tree
worst tree
4-‹#› - Jon Turner - 8/3/2017
European
nodes all near
tree root
select children of root
to have poor
bandwidth from root,
recurse
Related Work
 Peer-to-peer
data dissemination
»Snoeren et. al. – 2001
»Fast Replica – Cherkasova & Lee – 2003
»Kazaa and Bit Torrent
 Epidemic
data propagation
»pbcast – Birman et. al. – 1999
»lbpcast – Eugster et. al. – 2001
 Multicast
»Scalable Reliable Multicast – Floyd et. al. – 1997
»Narada – Chu et. al. – 2000
»Overcast – Janotti et. al. – 2000
 Content
streaming
»Split Stream – Castro et. al. – 2003
»CoopNet – Padmanabhan et. al. – 2003
4-‹#› - Jon Turner - 8/3/2017
Conclusions
 Overlay
mesh is superior to streaming over overlay
multicast tree.
 Bullet demonstrates this and includes some novel
features.
»method of distributing data to subtrees to equalize
availability
»scalable method of finding peers who can supply missing
data
 Large-scale
performance evaluation
»supports claims for Bullet’s performance advantages
»explores performance under variety of conditions
4-‹#› - Jon Turner - 8/3/2017
Discussion Questions
 What
are the contributions?
»what’s novel? what’s borrowed?
»does it represent an improvement? how much?
»are the authors’ claims justified?
»for what applications might system be useful?
 Are
the authors’ design choices adequately justified?
»method for distributing data over tree?
»acquiring information about peer data?
»use of summary tickets? use of Bloom filters? use of TFRC?
 Is
performance evaluation satisfactory?
»what about other network topologies, link bandwidths?
»what about different group sizes? tree characteristics?
»why no detailed examination of specific design choices?
»why isn’t cross traffic emulated?
»what about processing requirements? what’s the average
number of cycles executed per packet received?
»is it repeatable by others?
4-‹#› - Jon Turner - 8/3/2017