window based greedy contention
play

Window-Based Greedy Contention Management for Transactional Memory - PowerPoint PPT Presentation

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 -


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. Roadmap • Previous TM models and problem complexity • Our TM model • Our algorithms and proof ideas 6 DISC 2010 - 24th International Symposium on Distributed Computing

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend