Multicast Group Management for
Interactive Distributed Applications
Carsten Griwodz
[email protected]
September 25, 2008
based on the thesis work of
Knut-Helge Vik, [email protected]
Group communication management
Large-scale interactive applications
− one application
− large number of users
− users interact in groups
− group membership changes dynamically
Examples
− Games
• including Second Life
− VoIP Conferencing
• including Skype
− Social Networks
• including some MSN IM
Game environment
Typical multiplayer online games today
− Central server-based
− Experience high latency
Physical world and virtual world locality are unrelated
Real-World Proximity
Virtual World Proximity
Game environment
Anarchy Online servers are located in the US
− Here most action is in Europe
− At other times of day the center of action shifts
North America
Europe
Asia
Group communication management
Large-scale interactive applications
− Users interact in groups
− Communication demands vary even within an application
• low latency demands
• high bandwidth demands
• frequent group membership changes
• consistency
− Build overlay routing
• with a small diameter
• with degree limitations
• using algorithms with low execution times
• with stable reconfigurations
− Data acquisition in the Internet
− Also: comparison with meshes
Real-World Proximity
Virtual World Proximity
Motivation – MMOGs
Large number
of users
Long distances
Group players
Motivation
Reduce (or match) problem to graph theory
− Clients are vertices V, links are edges E. Edge cost may be latency. Graph G=(V,E,c).
− Events are sent by all to all, therefore G is undirected. (Ex: position updates)
− Multicast events within a shared tree. Create a group tree T from group graph G.
Motivation
Optimizations – Goal: Reduce latency, and make it cheap.
− Given a graph G=(V,E,c). Create a shared tree T.
− Optimizations in trees: Total cost, diameter, node degree (stress).
− Optimizations of algorithms. Ex: Reduce size of G and reduce execution time.
Proxy Proxy
Proxy
Research - Group Dynamics
Dynamic membership – nodes join and leave the multicast tree dynamically
− Must insert and remove nodes online
Needs algorithm to reconfigure the tree
Steiner tree heuristics
− Shortest path heuristics (SPH) - O(pn
2)
− Distance network heuristics (DNH) - O(pn
2)
− Average distance heuristics (ADH) - O(n
3)
Bounded tree heuristics
− Degree-limited shortest path tree (dl-SPT) - O(n
2)
− mddl-OTTC - heuristic for minimum diameter degree-limited spanning
tree problem - O(n
3)
Research - Optimization
Application layer graphs are fully meshed− Ex: |V|=100, |E| = 4950 edges. Edges in tree: |E_T|= |V| - 1 = 99 (0.02 % of the edges)
− Tree algorithms build trees using graphs
Graph optimization techniques− Reduce reconfiguration sets – reconfigure smaller parts of a group
Core selection heuristics:− Include stronger nodes in the input graph – higher stress capacity
− Group center, topological center
Goal: Reduce reconfiguration time and preserve tree qualityTarget metrics:
Stress – node degree in the tree Diameter – maximum pairwise latency Total tree cost – sum of edge weights Reconfiguration time – algorithm time Edge change – link changes in a reconfig.
Research - Group Dynamics
Dynamic membership – nodes join and leave the multicast tree dynamically− Must insert and remove nodes online
Needs algorithm to reconfigure the tree
Contradictory goals− Reconfiguration time – fast algorithms
− Efficient tree – low diameter, low total cost.
− Tree stability – low number of edge changes between reconfigurations
− Stress - Bound node degree
Impossible to satisfy every goalTarget metrics:
Stress – node degree in the tree Diameter – maximum pairwise latency Total tree cost – sum of edge weights Reconfiguration time – algorithm time Edge change – link changes in a reconfig.
Research – Reconfiguration Set
Reconfiguration set – nodes involved in reconfiguration
Entire group
− Pros: Tree efficiency
− Cons: High reconfiguration time, tree stability
Reduced size of reconfiguration set
− Pros: Low reconfiguration time, increased stability
− Cons: Reduced tree efficiency
Target metrics:
Stress – node degree in the tree Diameter – maximum pairwise latency Total tree cost – sum of edge weights Reconfiguration time – algorithm time Edge change – link changes in a reconfig.
Research – Reconfiguration Set
Reconfiguration set – nodes involved in reconfiguration
Entire group
− Pros: Tree efficiency
− Cons: High reconfiguration time, tree stability
Reduced size of reconfiguration set
− Pros: Low reconfiguration time, increased stability
− Cons: Reduced tree efficiency
Target metrics:
Stress – node degree in the tree Diameter – maximum pairwise latency Total tree cost – sum of edge weights Reconfiguration time – algorithm time Edge change – link changes in a reconfig.
Dynamic algorithms: Insert strategies
Basic insertion choices− Insert as leaf – no edge change
− Insert and reconfigure – increased tree efficiency but reconfiguration time
Implemented some (8) insert algorithms− I-MC : insert minimum cost edge
− I-CN : Insert Center Node
− I-MDDL : insert minimum diameter degree limited edge
Node is joining
Connect to tree as leaf Insert strong core Use as intersection
Three configuration examples
I-MC I-CN I-MDDL
Dynamic algorithms: Remove strategies
Basic remove choices− Remove leaf – easy
− Remove non-leaf – MUST reconfigure
• reconfigure and add/remove non-member node
Implemented some (11) algorithms− RK – convert member to a non-member node
− RTR-MC – reconfiguration includes neighbor of leaving node
− RTR-P – larger reconfiguration, prune non members
RTR-MC RTR-P
m is leaving sn
RK
reconfiguration set convert to
non member node
well connected node member node
sn
sn so
non member node
sn
sn
sn sn sn sn sn
so
so
so so
so so
Dynamic Algorithms – Insert/Remove
MDDL I-MDDL 25
20
15
10
5 0 20 40 60 80 100
diameter
group size / number of nodes
Dynamic algorithm: I-MDDL/RTR-MC
MDDL
I-MDDL 25
20
15
10
5 0 20 40 60 80 100
diameter
group size / number of nodes
Dynamic algorithm: I-MDDL/RTR-P
RTR-P RTR-MC
leaving
reconfigure set reconfigure set
Dynamic Algorithms - Results
Dynamic Algorithms – insert/remove (reconfigure smaller parts of a tree)
− Execution time is low for dynamic algorithms
− Low number of edge changes between configurations.
Main issues: tree efficiency suffers
− Always local optimizations
− Crowded with non member nodes
Algorithms address issues: Vary reconfiguration set size, prune non-members, switch non members to stronger cores
− Cons: Increased reconfiguration time, reduced stability
− Pros: Tree efficiency
Edge changes – remove algorithms (100 nodes)
Non-member nodes
SPH RTR-P RTR-MC RK
Latency estimation in the Internet
Difficult to maintain updated information between all
node pairs
Evaluate use of latency estimation
− Netvigator
• landmark-based technique
• establish a fully meshed network of landmark nodes
• measure distance to each of them
− Vivaldi
• multi-dimensional scaling technique
• model nodes as masses connected by spring
• relax springs until minimal energy state is reached
• works with an arbitrary number of measurements
diameter difference: all-to-all vs. estimation (seconds)
CDF (pairs)
Latency estimation in the Internet
Divergance for the degree-limited shortest path tree
0.1 0.15 0.2 0.25 0.35 0.3
Diameter based on Vivaldi estimation Diameter based on Netvigator estimation Diameter based on ping measurements
I-CN I-MDDL ITR-MDDL SPT Dl-SPT