CS218 Final Project A SmallScale ApplicationLevel Multicast Tree Protocol - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

CS218 Final Project A SmallScale ApplicationLevel Multicast Tree Protocol

Description:

Big Picture: part of a larger project, Hybrid Overlay Multicast Architecture. Small-Scale ... Simulation 1 - Churning. Start with N nodes already in the tree ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 37
Provided by: prabashna
Learn more at: http://web.cs.ucla.edu
Category:

less

Transcript and Presenter's Notes

Title: CS218 Final Project A SmallScale ApplicationLevel Multicast Tree Protocol


1
CS218 Final ProjectA Small-Scale
Application-Level Multicast Tree Protocol
  • Jason Lee, Lih Chen
  • Prabash Nanayakkara
  • Tutor Li Lao

2
Overview
  • Big Picture part of a larger project, Hybrid
    Overlay Multicast Architecture
  • Small-Scale Application-Level Multicasts
  • Two-tier Grouping Algorithms, featuring Euclidean
    Distance-Based Clustering
  • Results

3
Hybrid Overlay Multicast Architecture
  • Combines the idea "overlay multicast" and
    application-level multicast.
  • A network of backbone (or transit) domains and
    stub domains

4
Backbone and Stub Domains
  • image from http//www.arl.wustl.edu/sherlia/amcas
    t.html

5
Proxy Nodes Stub Domains
  • Inside the backbone domains, a set of fixed proxy
    nodes are deployed to form an overlay network.
  • These proxy nodes also responsible for setting up
    overlay multicast trees within the backbone
    domain.
  • In each stub domain, end users and one proxy node
    form application-level multicast trees.

6
Motivation
  • Advantages
  • overlay multicast - efficient resource usage and
    better multicast performance
  • application-level multicast - flexibility and its
    ability to adapt to network dynamics
  • two-tier infrastructure more scalable to large
    group size because control messages between end
    users are limited to the local scope

7
Small-Scale Application-Level Multicast Tree
Construction
  • Assumptions
  • Use of a centralized proxy node to set up and
    maintain multicast trees.
  • Metric used is link delay (for now)

8
Project Goals
  • Implement a application level multicast protocol
    to be incorporated into an overlay network
  • Algorithm to construct a multicast tree based on
    some metric (e.g., latency, bandwidth)
  • Algorithm to construct a optimized tree for best
    resiliency and performance
  • Limited fanout per node

9
Challenges
  • Construct a tree based on an arbitrary metric
  • Have to address scalability
  • Have to assign parents and children relationships
  • Handle arbitrary client joins/leaves

10
Implementation
  • Linux/C implementation
  • Proxy node
  • Use clustering algorithm to create tree
  • Aware of the whole tree.
  • Handles all joins and leaves and repairing
  • Client nodes
  • basically dumb nodes
  • Used to distribute data and answer proxys
    messages

11
ImplementationDetails
  • Since testing done on 1 machine, implemented code
    to simulate latencies between nodes
  • Total lines of code gt 8kLibraries, Utilities
    5kNode (proxy, client) 2.4k
  • Started from scratch no framework given, no
    pre-existing source code, or libraries for
    sockets and serialization

12
ImplementationCodeBasic Framework
13
Another Two-Tier Approach
  • New nodes get assigned to the un-optimized
    balanced tree.
  • Used for simplicity and as a baseline for
    reliability that the more optimized solution
    should provide
  • Stables nodes rewarded with a clustered multicast
    tree based on Euclidean mean distances

14
ImplementationBasic Tree
  • Simple un-optimized balanced tree
  • Each parent is responsible at most MaxFanout
    children.
  • When a parent gets filled, new clients are added
    to open parents or leaf nodes

15
Basic Tree Algorithm
PROXY NODE
NEW NODE
16
Dynamic Join and LeaveOptimized Cluster Tree
  • New clients go to the bottom of the tree as
    leaves
  • If a node dies, we use the most recently added
    node to plug in the hole

17
Basic Tree Algorithm
PROXY NODE
18
Basic Tree Algorithm
PROXY NODE
19
ImplementationOptimized Cluster Tree
  • Squared Euclidean Mean Distances - geometric
    distance between objects, emphasizing the weight
    on objects further apart
  • Between-groups linkage - average similarity
    within each cluster is calculated.

20
ImplementationOptimized Cluster Tree Details
PROXY NODE
21
ImplementationOptimized Cluster Tree Details
PROXY NODE
22
ImplementationOptimized Cluster Tree Details
PROXY NODE
23
ImplementationOptimized Cluster Tree Details
24
Cluster Dynamic Join
  • Simultaneously maintain two multicast trees
  • Clustered
  • Un-optimized
  • New nodes get placed on the un-optimized tree
    until the entire network is clustered.

25
ImplementationOptimized Cluster Tree Details
  • Proxy sends out ping requests to nodes results
    used to fill a NxN matrix with ping latencies
    (can be easily extended for b/w)
  • Proxy calculates clusters based on max fanout per
    node. If too many nodes for a given clusterhead,
    recursively calculate the clusters for this
    subgroup.

26
Dynamic Join and LeaveOptimized Cluster Tree
Details
  • Recalculate the clusters (if appropriate) at the
    parent of the dead node
  • If the parent of such a dead node is the proxy,
    the proxy just adopts the dead nodes children

27
Cluster Dynamic Departures
  • Re-cluster from parent of dead child

28
Cluster Dynamic Departures
  • Re-cluster from parent of dead child

29
Simulations
  • Simulation 1
  • - Test the tree under conditions of constantly
    joining and leaving nodes
  • Simulation 2
  • - Test effects of heavy, but highly bursty
    traffic conditions
  • Measurements- Average latency- Average rate of
    successful transmission
  • For
  • Clustered Nodes vs. Balanced Tree
  • Fanouts of size 2 and 6

30
SimulationSimulation 1 - Churning
  • Start with N nodes already in the tree
  • Extended period of constant leaving and joining
    (1-3 nodes)
  • Allow the tree to stabilize

31
SimulationSimulation 2 Mass join / leave
  • Start with N nodes
  • Inactive period to ensure nodes have stabilized
  • 0.5N leave the tree
  • Short duration
  • 2N join the tree

32
Measurements 1 Average latency
  • Start the multicast process.
  • Measure delay to each node in the tree
  • Compare results between balanced tree and
    clustered nodes

33
Measurements 2 Average Delivery Rate
  • Start the multicast process
  • Measure percentage of delivery of the original
    data to each node
  • Compare results between balanced tree and
    clustered nodes

34
Other Multicast Algorithms
  • Focusing on small-scale, so take advantage of the
    proxy nodes total awareness
  • Minimum Spanning Trees and Shortest Path Trees
    are not optimized for latencies and/or bandwidth
  • Other application-level multicast protocols, e.g.
    NICE and Narada

35
Issues
  • Clustering algorithms handling of proxys dead
  • Currently using latency only
  • The un-optimized tree constructed without regards
    to link metrics
  • However, all limitations can easily be changed
    and tested against this current implementation

36
Conclusion
  • Implementation of a two-tier multicast tree using
    Squared Euclidean distance clustering multicast
    algorithm for the optimized tree
  • Extensible, and can create performance benchmarks
    with other multicast algorithms
  • Addresses small-scale multicast without requiring
    any information of neighbors upon initiation
Write a Comment
User Comments (0)
About PowerShow.com