Window-Based Greedy Contention Management for Transactional Memory Gokarna Sharma ( LSU ) Brett Estrade ( Univ. of Houston ) Costas Busch ( LSU ) 1 DISC 2010 - 24th International Symposium on Distributed Computing
Transactional Memory - Background • The emergence of multi-core architectures – Opportunities and challenges • How to handle access to shared data? – Locks, Monitors, … • Transactional memory (TM) is an alternative synchronization abstraction – Simple, composable, … • Three types – Hardware, Software, and Hybrid TMs – Our focus is on STM Systems 2 DISC 2010 - 24th International Symposium on Distributed Computing
STM Systems • Progress is ensured through contention management (CM) policy • If transactions modify different data – everything is OK • If transactions modify same data – conflicts arise that must be resolved - job of a contention management policy • Of particular interest are greedy contention managers – Transactions immediately restart after every abort 3 DISC 2010 - 24th International Symposium on Distributed Computing
Prior Work • Mostly empirical evaluation • Theoretical Analysis – [Guerraoui et al., PODC ’ 05] • Greedy Contention Manager • Competitive ratio = O(s 2 ) (s is the number of shared resources) – [Attiya et al., PODC ’ 06] • Improved to O(s) – [Schneider & Wattenhofer, ISAAC ’ 09] • RandomizedRounds Contention Manager • Competitive ratio = O(C . log n) (C is the maximum number of conflicting transactions and n is the number of transactions) – [Attiya & Milani, OPODIS ’ 09] • Bimodal Scheduler • Competitive ratio = O(s) (for bimodal workload with equi-length transactions) 4 DISC 2010 - 24th International Symposium on Distributed Computing
Our Contributions • Execution window model for TM Transactions . . . 1 2 3 N 1 2 3 M . Threads . . M N • Makespan bound of any CM algorithm based on the contention measure C with in the window and the window parameters M and N • Two new randomized contention management algorithms that are very close to O(s) -competitive • An adaptive version that adapts to the amount of contention C 5 DISC 2010 - 24th International Symposium on Distributed Computing
Roadmap • Previous TM models and problem complexity • Our TM model • Our algorithms and proof ideas 6 DISC 2010 - 24th International Symposium on Distributed Computing
Previous TM Models • One-shot scheduling problem – n transactions, a single transaction per thread – Best bound proven to be achievable is O(s) • Problem Complexity: directly related to vertex coloring – Coloring problem -> One-shot scheduling problem -> One-shot scheduling Solution -> Coloring Solution • NP-Hard to approximate an optimal vertex coloring • Can we do better under the limitations of coloring reduction? 7 DISC 2010 - 24th International Symposium on Distributed Computing
Execution Window Model • A M × N window W – M threads with a sequence of N transactions per thread, i.e., collection of N one-shot transaction sets Transactions . . . 1 2 3 N 1 2 3 M Threads . . . M N 8 DISC 2010 - 24th International Symposium on Distributed Computing
Makespan Bounds • Let C denote the maximum number of conflicting transactions for any transaction inside the window • Trivial Makespan Bounds: – Straightforward upper bound : τ . min (CN,MN), where τ is the execution time duration – One-shot analysis bound [Attiya et al., PODC ’ 06]: O(sN) – Using RandomizedRounds [Schneider & Wattenhofer, ISAAC ’ 09] N times, makespan bound: O( τ . CN logM) • Our Bounds: – Offline-Greedy: Makespan bound = O( τ . (C + N log(MN))) and Competitive Ratio = O(s + log(MN) ) with high probability – Online-Greedy: Makespan bound = O( τ . (C log(MN) + N log 2 (MN))) and Competitive Ratio = O(s . log(MN) + log 2 (MN)) high probability 9 DISC 2010 - 24th International Symposium on Distributed Computing
Intuition N ’ . . . 1 2 3 N 1 2 3 N M M N Random interval N • The random delays help conflicting transactions shift inside the window and their execution time may not coincide • More apparent in scenarios where conflicts are more frequent inside the same column transactions and less frequent in different column transactions 10 DISC 2010 - 24th International Symposium on Distributed Computing
How it works? (1/2) • Random intervals: Assume each thread P i knows C i and each transaction has same duration τ (this assumption can be removed) • Conflicts: Divide time steps into frames [each time step is of size τ ] – Frame size depends on the conflict resolution strategy of the algorithm • Number of frames in random intervals: Each thread chooses a random number q i independently, uniformly, and randomly from the range [0, α i -1], where α i = C i / log( MN) • Handling conflicts: Use priorities 11 DISC 2010 - 24th International Symposium on Distributed Computing
How it works? (2/2) Second frame of Thread 1 where T 12 executes First frame of Thread 1 where T 11 executes q 1 ϵ [0, α 1 -1], Frames α 1 = C 1 / log( MN) F 1N F 3N F 11 F 12 1 2 3 N Thread 1 Thread 2 Thread 3 M Thread M N C =max i C i , 1 ≤ i ≤ M Makespan = (C / log( MN) + Number of frames) × Frame Size = (C / log( MN) + N) × Frame Size 12 DISC 2010 - 24th International Symposium on Distributed Computing
Offline-Greedy Algorithm (1/2) • Initialization: – Frames are of size Φ = Θ ( τ . ln (MN)) time steps – Each thread P i is assigned initially a random period of q i ϵ [0, α i -1] frames, α i = C i / log( MN) – Each transaction T ij is assigned to frame F ij = q i + (j-1) • Priority assignment: each transaction has two priorities: low or high – Transaction T ij is initially in low priority – T ij switches to high priority in the first time step of frame F ij and remains in high priority thereafter • Conflict resolution: uses conflict graph explicitly to resolve conflicts – Conflict graph is dynamic and evolves while the execution of the transactions progresses 13 DISC 2010 - 24th International Symposium on Distributed Computing
Offline-Greedy Algorithm (2/2) • Proof Intuition: With high probability each transaction commits in its assigned frame – Let A ’ ⊆ A denote the subset of conflicting transactions with T ij in frame F ij • |A ’ | ≤ log( MN ) – 1, then T ij commits in frame F ij 2 • |A ’ | ≥ log( MN ) with probability at most (1/ MN ) • Makespan: O ( 𝜐 ⋅ ( C + N log( MN ))) with high probability – Pro: For C ≤ N log( MN ) makespan is log( MN ) factor far from optimal, since N is a trivial lower bound – Con: Need to know dependency graph to resolve conflicts • Competitive ratio: O ( s + log( MN )) with high probability – Pro: Independent with any choice of C 14 DISC 2010 - 24th International Symposium on Distributed Computing
Online-Greedy Algorithm (1/2) • Online in the sense that it does not depend on knowing the dependency graph to resolve conflicts • Similar to Offline-Greedy except the conflict resolution strategy • Priority assignment – Two different priorities associated with each transaction as a vector π (1), π (2) – π (1) represent the Boolean priority as in Offline-Greedy – π (2) ∈ [1, M ] represent random priorities: A transaction chooses π (2) uniformly at random on the start of frame F ij and after every abort [Idea from Schneider & Wattenhofer, ISAAC ’ 09] • Conflict resolution – On conflict of T ij with T kl : if π ij (2) < π kl (2 ) then abort ( T ij , T kl ) otherwise abort ( T kl , T ij ) 15 DISC 2010 - 24th International Symposium on Distributed Computing
Online-Greedy Algorithm (2/2) • Proof Intuition: frame duration is now Φ’ = O( 𝜐 ⋅ log 2 (MN)) – Analysis is similar to Offline-Greedy • Makespan: O ( 𝜐 ⋅ ( C log( MN ) + N log 2 ( MN ))) with high probability – Pro: no need to know dependency graph to resolve conflicts – Con: makespan is worse in comparison to Offline-Greedy 2 ( MN )) with high • Competitive ratio: O ( s ⋅ log( MN ) + log probability • Pro: Independent of the contention measure C 16 DISC 2010 - 24th International Symposium on Distributed Computing
Adaptive-Greedy Algorithm • Limitations of Offline-Greedy and Online-Greedy algorithms – The values of C i need to be known in advance • Adaptive-Greedy: each thread starts with guessing C i = 1 – Similar to the exponential back-off strategy used by Polka – Based on current C i estimate, the thread attempts to execute Online-Greedy algorithm – If a thread P i is unable to commit transactions ( bad event ) then P i assumes choice of C i is incorrect and starts over again by assuming C i ’ = 2 ⋅ C i for remaining transactions • Correct choice of C i is reached in log C i iterations 17 DISC 2010 - 24th International Symposium on Distributed Computing
Discussions • For variable length transactions – 𝜐 on makespan bounds is replaced with 𝜐 max , which is the maximum duration of any transaction in the window – 𝜐 max / 𝜐 min factor in competitive ratio bounds, where 𝜐 min is the minimum duration of any transaction in the window • Future extensions – Instead of one randomization interval at the beginning of window, random periods of low priority between subsequent transactions – Dynamic expansion and contraction of the execution window to preserve the contention measure C 18 DISC 2010 - 24th International Symposium on Distributed Computing
Recommend
More recommend