Title: Self-tuning Reactive Distributed Trees for Counting and Balancing
1Self-tuning Reactive Distributed Trees for
Counting and Balancing
- Phuong Hoai Ha
- Marina Papatriantafilou
- Philippas Tsigas
OPODIS 04, Grenoble, France Dec. 15 17, 2004
2Schedule
- Introduction
- Coordinating Objects
- Reactive Shared Objects
- Self-tuning Reactive Trees
- Algorithms
- Evaluation
- Conclusions
3What are coordinating objects?
Coordination
?
?
?
high collision!
high load!
?
?
?
- Data structures that evenly distribute processes
into small groups, which each accesses different
shared objects in a coordinated manner.
4Example Diffracting trees
B2
A0
B1
C6
B1
A
B,
F, E, D, C,
B3
- A highly distributed data structure
- Small groups of processes locally access shared
data in a global coordinated manner. - A disadvantage
- Optimal only for a small range of contention
levels
5Schedule
- Introduction
- Coordinating Objects
- Reactive Shared Objects
- Self-tuning Reactive Trees
- Algorithms
- Evaluation
- Conclusions
6Why are reactive objects useful?
- Performance of concurrent objects heavily rely on
their surrounding environment. - Challenges
- In multiprocessor systems, processors
surrounding environment changes too fast compared
with their reactions. - Multiprogramming systems are unpredictable
- Interference among processes ? traffic on the
bus/network, contention on memory modules, load
on processors etc. are unpredictable.
?
?
?
?
?
?
?
?
?
7Example Reactive diffracting trees
A0
B1
B1
A
B,
F, E, D, C,
B3
- Each counter locally react according to its
current load. - Disadvantages
- Require experimentally tuned parameters for each
system and each application - Inefficient reactive scheme
- Shrink/expand one level in one adjustment step
- Costly adjustment
8Reactive policy
9Schedule
- Introduction
- Coordinating Objects
- Reactive Shared Objects
- Self-tuning Reactive Trees
- Algorithms
- Evaluation
- Conclusions
10Self-tuning trees
- Advantages
- No need of any experimentally tuned parameters
- Efficient reactive scheme
- Ability to shrink and expand many levels at one
time - Reasonable costs for adjustments.
11Reactive policy
- Problem balancing the trade-off between two key
measures, the contention level and the depth of
the tree.
?
?
?
?
?
?
?
?
?
?
?
12When to expand/shrink ?
Rules for expansion (cf. threat-based algorithm)
- Advantages
- Reduce contention keep traversal short
- Favor to expand leaves with high contention.
- Similar for shrinkage
13Expanding a leaf to a subtree
IN
12
2
8
2 pending processors
10
6
14Shrinking a subtree to a leaf
- Elect2Shrink check whether half the number of
leaves in the subtree vote for the leaf - Shrink
IN
8
12
3/4 ? shrink
4
6
5 active processors
2
15Results Full contention benchmark
16Results Index distribution benchmark
17Results Surge load benchmark
18Schedule
- Introduction
- Coordinating Objects
- Reactive Shared Objects
- Self-tuning Reactive Trees
- Algorithms
- Evaluation
- Conclusions
19Conclusions
- We have presented a new data structure that
- Distributes a set of processors to many smaller
groups accessing disjoint critical sections in a
global coordinated manner. - Collects information about the contention at the
leaves and then efficiently adjusts itself to
attain optimal performance without using any
experimental parameters. - Methodology
- Reactive objects should be able to observe the
changes in the environment and react
automatically. - Fixed/tuned parameters cannot support good
reactive schemes in dynamic environments such as
multiprocessor systems. - Online algorithms and competitive analysis seem
to be a promising direction.
20Thank you!