Adaptive Multicast Tree Construction for Elastic Data Streams - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Adaptive Multicast Tree Construction for Elastic Data Streams

Description:

University of Ontario Institute of Technology (UOIT), Canada ... to use a utility function Uv to map receiving rate to a measure of preference for receiver v ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 23
Provided by: ledaScie
Category:

less

Transcript and Presenter's Notes

Title: Adaptive Multicast Tree Construction for Elastic Data Streams


1
Adaptive 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

2
Overlay 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

3
Multicasting 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

4
Construction 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

5
Node 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

6
Receiver 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

7
Receiver 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
8
Receiver 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
9
Receiver 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
10
Receiver 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.
11
Multicast 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

12
Path 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

13
Problem 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

14
Path 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.

15
Optimal-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

16
Single 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).

17
Multiple 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

18
Multiple 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

19
Simulation 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.

20
Simulation Results (2)
  • The iterative algorithm converges within 50
    iterations, for all three network sizes.

21
Simulation 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.

22
Future Work
Write a Comment
User Comments (0)
About PowerShow.com