200 likes | 285 Views
Self-tuning Reactive Distributed Trees for Counting and Balancing. Phuong Hoai Ha Marina Papatriantafilou Philippas Tsigas. OPODIS ’04, Grenoble, France Dec. 15 – 17, 2004. Schedule. Introduction Coordinating Objects Reactive Shared Objects Self-tuning Reactive Trees Algorithms
E N D
Self-tuning Reactive Distributed Trees for Counting and Balancing Phuong Hoai Ha Marina Papatriantafilou Philippas Tsigas OPODIS ’04, Grenoble, France Dec. 15 – 17, 2004
Schedule • Introduction • Coordinating Objects • Reactive Shared Objects • Self-tuning Reactive Trees • Algorithms • Evaluation • Conclusions OPODIS '04
check-in check-in What are coordinating objects? Coordination • Data structures that evenly distribute processes into small groups, which each accesses different shared objects in a coordinated manner. high collision! high load! OPODIS '04
F, E, D, C, B, A ( F(k), k++) F:5, E:4, D:3, C:2, B:1, A:0 C5 C7 C4 C1 E:4, ( F(4k), k++) ( F(4k+1), k++) F:5, ( F(4k+2), k++) C:2 ( F(4k+3), k++) D:3 Example: Diffracting trees • 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 B2 A:0 B:1 C6 B1 F, E, D, C, B, A B3 OPODIS '04
Schedule • Introduction • Coordinating Objects • Reactive Shared Objects • Self-tuning Reactive Trees • Algorithms • Evaluation • Conclusions OPODIS '04
Why 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. OPODIS '04
B2 C7 C5 E:4, C:2, ( F(2k), k++) F:5, ( F(4k+1), k++) C6 C2 C4 ( F(4k+3), k++) D:3 Example: Reactive diffracting trees • 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 A:0 B:1 B1 F, E, D, C, B, A B3 OPODIS '04
Reactive policy OPODIS '04
Schedule • Introduction • Coordinating Objects • Reactive Shared Objects • Self-tuning Reactive Trees • Algorithms • Evaluation • Conclusions OPODIS '04
Self-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. OPODIS '04
Reactive policy • Problem: balancing the trade-off between two key measures, the contention level and the depth of the tree. OPODIS '04
Expand a leaf only when the estimated current total load is the highest so far in the present transaction phase, • When expanding, expand just enough to keep the competitive ratio c = - (-1)/1/(-1), where = P/2 When 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 OPODIS '04
3 5 Expanding a leaf to a subtree IN 12 2 8 2 pending processors 10 6 OPODIS '04
3 5 Shrinking 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 OPODIS '04
Results: Full contention benchmark OPODIS '04
Results: Index distribution benchmark OPODIS '04
Results: Surge load benchmark OPODIS '04
Schedule • Introduction • Coordinating Objects • Reactive Shared Objects • Self-tuning Reactive Trees • Algorithms • Evaluation • Conclusions OPODIS '04
Conclusions • 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: • Ideally, reactive algorithms 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. OPODIS '04
Thank you! OPODIS '04