Selfishness in Transactional Memory Raphael Eidenbenz, Roger Wattenhofer Distributed Computing Group Game Theory meets Multicore Architecture.

Slides:



Advertisements
Similar presentations
Transactional Memory Parag Dixit Bruno Vavala Computer Architecture Course, 2012.
Advertisements

The many faces of TM Tim Harris. Granularity Distributed, large-scale atomic actions Composable shared memory data structures Leaf shared memory data.
Raphael Eidenbenz Roger Wattenhofer Roger Wattenhofer Good Programming in Transactional Memory Game Theory Meets Multicore Architecture.
Privatization Techniques for Software Transactional Memory Michael F. Spear, Virendra J. Marathe, Luke Dalessandro, and Michael L. Scott University of.
Impossibilities for Disjoint-Access Parallel Transactional Memory : Alessia Milani [Guerraoui & Kapalka, SPAA 08] [Attiya, Hillel & Milani, SPAA 09]
Timing Analysis of Concurrent Programs Running on Shared Cache Multi-Cores Presented By: Rahil Shah Candidate for Master of Engineering in ECE Electrical.
Steal-on-abort Improving Transactional Memory Performance through Dynamic Transaction Reordering Mohammad Ansari University of Manchester.
A Rely-Guarantee-Based Simulation for Verifying Concurrent Program Transformations Hongjin Liang, Xinyu Feng & Ming Fu Univ. of Science and Technology.
Transactional Contention Management as a Non-Clairvoyant Scheduling Problem Alessia Milani [Attiya et al. PODC 06] [Attiya and Milani OPODIS 09]
Ali Saoud Object Based Transactional Memory. Introduction Resent trends go towards object based SMT because it’s dynamic Word-based STM systems are more.
Transactional Memory Overview Olatunji Ruwase Fall 2007 Oct
Thread-Level Transactional Memory Decoupling Interface and Implementation UW Computer Architecture Affiliates Conference Kevin Moore October 21, 2004.
Concurrent Data Structures in Architectures with Limited Shared Memory Support Ivan Walulya Yiannis Nikolakopoulos Marina Papatriantafilou Philippas Tsigas.
Nested Parallelism in Transactional Memory Kunal Agrawal, Jeremy T. Fineman and Jim Sukha MIT.
Transactional Memory (TM) Evan Jolley EE 6633 December 7, 2012.
PARALLEL PROGRAMMING with TRANSACTIONAL MEMORY Pratibha Kona.
TOWARDS A SOFTWARE TRANSACTIONAL MEMORY FOR GRAPHICS PROCESSORS Daniel Cederman, Philippas Tsigas and Muhammad Tayyab Chaudhry.
1 Johannes Schneider Transactional Memory: How to Perform Load Adaption in a Simple And Distributed Manner Johannes Schneider David Hasenfratz Roger Wattenhofer.
1 MetaTM/TxLinux: Transactional Memory For An Operating System Hany E. Ramadan, Christopher J. Rossbach, Donald E. Porter and Owen S. Hofmann Presenter:
Formalisms and Verification for Transactional Memories Vasu Singh EPFL Switzerland.
Lock vs. Lock-Free memory Fahad Alduraibi, Aws Ahmad, and Eman Elrifaei.
1 New Architectures Need New Languages A triumph of optimism over experience! Ian Watson 3 rd July 2009.
1 Scalable Transactional Memory Scheduling Gokarna Sharma (A joint work with Costas Busch) Louisiana State University.
Software Transaction Memory for Dynamic-Sized Data Structures presented by: Mark Schall.
Why The Grass May Not Be Greener On The Other Side: A Comparison of Locking vs. Transactional Memory Written by: Paul E. McKenney Jonathan Walpole Maged.
A Transaction-Friendly Dynamic Memory Manager for Embedded Multicore Systems Maurice Herlihy Joint with Thomas Carle, Dimitra Papagiannopoulou Iris Bahar,
Advances in Language Design
An Introduction to Software Transactional Memory
1 Scalable and transparent parallelization of multiplayer games Bogdan Simion MASc thesis Department of Electrical and Computer Engineering.
Software Transactional Memory for Dynamic-Sized Data Structures Maurice Herlihy, Victor Luchangco, Mark Moir, William Scherer Presented by: Gokul Soundararajan.
Window-Based Greedy Contention Management for Transactional Memory Gokarna Sharma (LSU) Brett Estrade (Univ. of Houston) Costas Busch (LSU) 1DISC 2010.
University of Michigan Electrical Engineering and Computer Science 1 Dynamic Acceleration of Multithreaded Program Critical Paths in Near-Threshold Systems.
View-Oriented Parallel Programming for multi-core systems Dr Zhiyi Huang World 45 Univ of Otago.
Programming Paradigms for Concurrency Part 2: Transactional Memories Vasu Singh
Incentive Compatible Privacy-Preserving Data Analysis.
CS5204 – Operating Systems Transactional Memory Part 2: Software-Based Approaches.
Integrating and Optimizing Transactional Memory in a Data Mining Middleware Vignesh Ravi and Gagan Agrawal Department of ComputerScience and Engg. The.
Low-Overhead Software Transactional Memory with Progress Guarantees and Strong Semantics Minjia Zhang, 1 Jipeng Huang, Man Cao, Michael D. Bond.
On the Performance of Window-Based Contention Managers for Transactional Memory Gokarna Sharma and Costas Busch Louisiana State University.
Transactions and Concurrency Control. Concurrent Accesses to an Object Multiple threads Atomic operations Thread communication Fairness.
ETH Zurich – Distributed Computing Group Raphael Eidenbenz, PhD Thesis 1ETH Zurich – Distributed Computing Group PhD Thesis Raphael Eidenbenz Prof. Roger.
Parallelism without Concurrency Charles E. Leiserson MIT.
Software Transactional Memory Should Not Be Obstruction-Free Robert Ennals Presented by Abdulai Sei.
Copyright © Curt Hill Concurrent Execution An Overview for Database.
MULTIVIE W Slide 1 (of 21) Software Transactional Memory Should Not Be Obstruction Free Paper: Robert Ennals Presenter: Emerson Murphy-Hill.
Parallel Computing Presented by Justin Reschke
On Transactional Memory, Spinlocks and Database Transactions Khai Q. Tran Spyros Blanas Jeffrey F. Naughton (University of Wisconsin Madison)
Architectural Features of Transactional Memory Designs for an Operating System Chris Rossbach, Hany Ramadan, Don Porter Advanced Computer Architecture.
4 November 2005 CS 838 Presentation 1 Nested Transactional Memory: Model and Preliminary Sketches J. Eliot B. Moss and Antony L. Hosking Presented by:
Window-Based Greedy Contention Management for Transactional Memory Gokarna Sharma (LSU) Brett Estrade (Univ. of Houston) Costas Busch (LSU) DISC
Transactional Contention Management as a Non-Clairvoyant Scheduling Problem Hagit Attiya, Alessia Milani Technion, Haifa-LABRI, University of Bordeaux.
Gargamel: A Conflict-Aware Contention Resolution Policy for STM Pierpaolo Cincilla, Marc Shapiro, Sébastien Monnet.
Lecture 20: Consistency Models, TM
Mihai Burcea, J. Gregory Steffan, Cristiana Amza
James Larus and Christos Kozyrakis
Part 2: Software-Based Approaches
Transactional Memory: How to Perform Load Adaption
PHyTM: Persistent Hybrid Transactional Memory
Hongjin Liang, Xinyu Feng & Ming Fu
Transactions are back But are they the same? R. Guerraoui , EPFL
Gokarna Sharma Costas Busch Louisiana State University, USA
Lecture 22: Consistency Models, TM
Does Hardware Transactional Memory Change Everything?
Hybrid Transactional Memory
Software Transactional Memory Should Not be Obstruction-Free
Lecture 2 The Art of Concurrency
Performance Pathologies in Hardware Transactional Memory
Performance Pathologies in Hardware Transactional Memory
Lecture: Consistency Models, TM
Controlled Interleaving for Transactions
Presentation transcript:

Selfishness in Transactional Memory Raphael Eidenbenz, Roger Wattenhofer Distributed Computing Group Game Theory meets Multicore Architecture

Raphael Eidenbenz, SPAA 2009, Calgary2 Transactional Memory Multicore Architecture –Parallel concurrent threads –Communication through shared memory –Traditionally explicit locking of shared resources Hard task for software developers [Herlihy et al. 1993]: Transactional Memory –Wrap critical code into transactions –The system then guarantees exclusive execution

Raphael Eidenbenz, SPAA 2009, Calgary3 Contention Management When threads interfere, a contention manager (CM) resolves conflict –Let one transaction continue –Abort the others But which transaction to abort?

Raphael Eidenbenz, SPAA 2009, Calgary4 Contention Managers Timestamp –Oldest transaction wins Polite –Exponential backoff Karma –Transaction with most locked resources wins –Priority is carried over to next attempt when aborted Polka –Karma with exponential backoff Randomized –Pick a random winner priority based non-priority based

Raphael Eidenbenz, SPAA 2009, Calgary5 Good Programming Incentives What code is beneficial for a TM system? –Transactions as short as semantically possible No unnecessary locks Commit as early as possible Assumptions –Developers are selfish –Competition among thread developers Do TM systems offer good programming incentives (GPIs)? –A CM is GPI compatible iff it rewards partitioning and punishes unnecessary locking Theorem: Polite, Greedy, Karma, Timestamp and Polka are not GPI compatible. Randomized is GPI compatible.

Raphael Eidenbenz, SPAA 2009, Calgary6 Simulation Setup Implement „free-riding“ threads in DSTM2 using coarse transaction granularity – ¸ 20 accesses per transaction Let them compete against collaborative threads with granularity 1 Polite, Karma, Polka, Timestamp, Randomized 16 threads on 16 cores do random updates on shared ordered list or red-black tree during 10 s. –Test runs with 1 or 8 free-riders –High contention

Raphael Eidenbenz, SPAA 2009, Calgary7 Simulation Results I

Raphael Eidenbenz, SPAA 2009, Calgary8 Simulation Results II

Raphael Eidenbenz, SPAA 2009, Calgary9 Conclusion Current priority based CMs do not offer the right incentives to software developers –Tuning one thread potentially slows down the system Non-priority based CMs seem to be GPI compatible more naturally Further work: –Design GPI compatible CM –Classification framework –Relax GPI compatibility –Trace effect in „real“ software –Assess importance of incentive compatibility Thank you!