Title: Adaptive Multicast Tree Construction for Elastic Data Streams
1Adaptive Multicast Tree Construction for Elastic
Data Streams
- Ying Zhu, Ken Q. Pu
- University of Ontario Institute of Technology
(UOIT), Canada - IEEE Global Communications Conference (GLOBECOM
2008) - ying.zhu_at_uoit.ca, ken.pu_at_uoit.ca
2Overlay Multicast
- Multicast in overlay peer-to-peer networks
- Fast deployable and flexible
- Applications to P2P file sharing, multimedia
streaming, content distribution, - Approach construction of multicast tree or trees
in the overlay network - Some challenges
- Limited available bandwidth in bottleneck links
- Node dynamics and variations in transmission
rates - Cross-traffic interference among competing
multicast sessions
3Multicasting of Elastic Data
- Multimedia data stream can be downsampled
- Using packet drop policies to change from a
higher transmission rate to a lower transmission
rate - Examples of such elastic data
- voice data
- video streams
- sensor readings
- stock quotes
- Downsampling provides potential for better
utilization of underlying network resources - Easily implementable on overlay nodes which have
capabilities of data replication and manipulation
4Construction of Multicast Trees for Elastic Data
- Problem
- Multiple multicast sessions
- Each multicast session consists of a source node
and a set of receiver nodes - A multicast tree is constructed for each
multicast session - Every receiver in a given session can express a
quality-of-service requirement on its received
data stream through a utility function - Goal is to maximize receivers utilities while
minimizing network load
5Node Capabilities
- A fundamental advantage of overlay multicast is
the assumption that each node has the following
capabilities - Each node maintains the list of multicast
sessions for each of its outgoing links - Each node performs bandwidth allocation of its
outgoing links for their respective multicast
sessions - Each node performs replication and downsampling
(if necessary) of data before multicasting to its
children
6Receiver Utility Function
- Different receivers may have differing
requirements or preferences in receiving the same
multicast data - We propose to use a utility function Uv to map
receiving rate to a measure of preference for
receiver v - Examples
7Receiver Utility Function
- Different receivers may have differing purposes
hence requirements in receiving the same
multicast data - We propose to use a utility function Uv to map
receiving rate to a measure of preference for
receiver v - Examples
This receiver prefers rates up to 5 but gives no
more preference for higher rates
8Receiver Utility Function
- Different receivers may have differing purposes
hence requirements in receiving the same
multicast data - We propose to use a utility function Uv to map
receiving rate to a measure of preference for
receiver v - Examples
This receiver requires at least rate of 2 but no
preference for higher rates
9Receiver Utility Function
- Different receivers may have differing purposes
hence requirements in receiving the same
multicast data - We propose to use a utility function Uv to map
receiving rate to a measure of preference for
receiver v - Examples
This receiver always prefers higher rates
10Receiver Utility Function
- Different receivers may have differing purposes
hence requirements in receiving the same
multicast data - We propose to use a utility function Uv to map
receiving rate to a measure of preference for
receiver v - Examples
NOTE Utility functions are always monotonic.
11Multicast Trees Construction
- Given A set of multicast sessions and for each
session, a source and a set of receivers - Objectives
- Construct a multicast tree for every session
- For each link, the sum of flows from all the
trees does not exceed the capacity of the link - Receivers utilities are maximized
- A trees utility is the sum of all its
receivers utilities - A receiver vs utility, Uv(r), maps its rate r
in the tree to a preference measure - r is simply the capacity of the lowest-capacity
link in the path from source to v in the tree - Network load is mnimized
- Network load is the sum of all the flows from
all the multicast trees
12Path Construction by Lexicographical Ordering
- Given a path p from s to t
- utility of p, U(p) is the utility of t
- load of p, L(p), is the sum of flows on links in
p - Goal Find a path from source s to target t that
maximizes U while minimizing L - Multi-objective optimization by lexicographical
ordering - if U(p1) gt U(p2), p1 is better than p2
- if U(p1) U(p2) and L(p1) lt L(p2), p1 is better
than p2 - otherwise, p2 is better than p1
- Optimal path can be computed by Dijkstras
algorithm by using the above ordering instead of
distance comparison
13Problem with Lexicographical Ordering
- Because we order by U first, the utility is
weighted much more than the load in finding the
optimal path - Example
- Path p1 (a,d) is clearly better than path p2
(a,b,c,d)? it has a slightly lower rate but much
lower network load - But p1 will be selected over p2 by
lexicographical ordering - Need more control over the tradeoff between U and
L
14Path Optimizing by Scoring Function
- We propose to use a scoring function f(u,l)
maps u and l to a single score - We define a simple separable scoring function
- f(u,l) u e-al, for some constant a gt 0
- Separable means f(u,l) is in the form g(u)
h(l) - By varying a, we can control preference between
utility maximizing and load minimizing - Proposition If a path p is optimal according to
a separable scoring function f, then any prefix
subpath of p is optimal w.r.t. f.
15Optimal-Path Algorithm
- Proposition Dijkstras algorithm can be used to
find an optimal path w.r.t. any separable scoring
function. - The Optimal-Path algorithm is a slight variation
of Dijkstras shortest path algorithm - Paths are compared using scoring function on the
flows instead of distances - A maximum in-flow to the source is added
16Single Session Multicast Tree
- Optimal tree construction is NP-complete
- We propose an iterative heuristic algorithm using
Optimal-Path algorithm - Initially tree contains only the source.
- For each receiver r, find an optimal path in the
network from any node already in the tree to r. - Add this path to the tree.
- To avoid introducing cycles, if r is already in
the tree (from an earlier iteration), then detach
r and its subtree, and do 2) and 3).
17Multiple Session Multicast Trees
- Path construction requires more information than
for single-session case - Need to manage allocation of bandwidth of single
link to multiple sessions - Each P2P downstream link maintains these
information - total bandwidth of link
- bandwidth allocation to each session for this
link - available unused bandwidth for this link
- The P2P management layer manages bandwidth used
by multiple sessions and performs fair bandwidth
allocation if total requested rate exceeds
physical capacity
18Multiple Session Multicast Construction
- Construction of multiple session trees uses
- Information of per-session available bandwidth
(fairly allocated and maintained by upstream node
of each P2P link) - An iterative algorithm that does incremental
adjustment by continually re-building multicast
trees for the sessions - Except for the first iteration, it uses a slight
variation of the single session multicast tree
algorithm by starting with an existing tree
instead of an empty tree
19Simulation Results (1)
- Set up
- Random networks were generated using network
generator Brite. - 3 types of networks generated, with various
network sizes and numbers of multicast receivers. - Each network has 15 multicast sessions.
20Simulation Results (2)
- The iterative algorithm converges within 50
iterations, for all three network sizes.
21Simulation Results (3)
- Network size 250
- receivers 50
- During runtime, a network failure is introduced
by randomly removing links in the network. - Iterative algorithm recovers quickly from the
failure. - It is adaptive to network dynamics.
- The lower throughput is due to sparser network
links, hence more sharing of physical capacity by
multiple sessions.
22Future Work