Privatization Techniques for Software Transactional Memory Michael F. Spear, Virendra J. Marathe, Luke Dalessandro, and Michael L. Scott University of.

Slides:



Advertisements
Similar presentations
Copyright 2008 Sun Microsystems, Inc Better Expressiveness for HTM using Split Hardware Transactions Yossi Lev Brown University & Sun Microsystems Laboratories.
Advertisements

Concurrency Control III. General Overview Relational model - SQL Formal & commercial query languages Functional Dependencies Normalization Physical Design.
Optimistic Methods for Concurrency Control By : H.T. Kung & John T. Robinson Presenters: Munawer Saeed.
1 Integrity Ioan Despi Transactions: transaction concept, transaction state implementation of atomicity and durability concurrent executions serializability,
Enabling Speculative Parallelization via Merge Semantics in STMs Kaushik Ravichandran Santosh Pande College.
Principles of Transaction Management. Outline Transaction concepts & protocols Performance impact of concurrency control Performance tuning.
Architecture-aware Analysis of Concurrent Software Rajeev Alur University of Pennsylvania Amir Pnueli Memorial Symposium New York University, May 2010.
IDIT KEIDAR DMITRI PERELMAN RUI FAN EuroTM 2011 Maintaining Multiple Versions in Software Transactional Memory 1.
Monitoring Data Structures Using Hardware Transactional Memory Shakeel Butt 1, Vinod Ganapathy 1, Arati Baliga 2 and Mihai Christodorescu 3 1 Rutgers University,
Background Concurrent access to shared data can lead to inconsistencies Maintaining data consistency among cooperating processes is critical What is wrong.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 5: Process Synchronization.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Rich Transactions on Reasonable Hardware J. Eliot B. Moss Univ. of Massachusetts,
Pessimistic Software Lock-Elision Nir Shavit (Joint work with Yehuda Afek Alexander Matveev)
1 CSIS 7102 Spring 2004 Lecture 8: Recovery (overview) Dr. King-Ip Lin.
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture X: Transactions.
Thread-Level Transactional Memory Decoupling Interface and Implementation UW Computer Architecture Affiliates Conference Kevin Moore October 21, 2004.
Transactional Memory (TM) Evan Jolley EE 6633 December 7, 2012.
CMPT Dr. Alexandra Fedorova Lecture X: Transactions.
PARALLEL PROGRAMMING with TRANSACTIONAL MEMORY Pratibha Kona.
Submitted by: Omer & Ofer Kiselov Supevised by: Dmitri Perelman Networked Software Systems Lab Department of Electrical Engineering, Technion.
DMITRI PERELMAN IDIT KEIDAR TRANSACT 2010 SMV: Selective Multi-Versioning STM 1.
1 Lecture 21: Transactional Memory Topics: consistency model recap, introduction to transactional memory.
1 Lecture 7: Transactional Memory Intro Topics: introduction to transactional memory, “lazy” implementation.
1 Lecture 23: Transactional Memory Topics: consistency model recap, introduction to transactional memory.
Nonblocking Transactions Without Indirection Using Alert-on-Update Michael Spear Arrvindh Shriraman Luke Dalessandro Sandhya Dwarkadas Michael Scott University.
CS510 Concurrent Systems Class 13 Software Transactional Memory Should Not be Obstruction-Free.
The Cost of Privatization Hagit Attiya Eshcar Hillel Technion & EPFLTechnion.
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.
KAUSHIK LAKSHMINARAYANAN MICHAEL ROZYCZKO VIVEK SESHADRI Transactional Memory: Hybrid Hardware/Software Approaches.
1 Thread Synchronization: Too Much Milk. 2 Implementing Critical Sections in Software Hard The following example will demonstrate the difficulty of providing.
Software Transactional Memory for Dynamic-Sized Data Structures Maurice Herlihy, Victor Luchangco, Mark Moir, William Scherer Presented by: Gokul Soundararajan.
Accelerating Precise Race Detection Using Commercially-Available Hardware Transactional Memory Support Serdar Tasiran Koc University, Istanbul, Turkey.
Reduced Hardware NOrec: A Safe and Scalable Hybrid Transactional Memory Alexander Matveev Nir Shavit MIT.
School of Information Technologies Michael Cahill 1, Uwe Röhm and Alan Fekete School of IT, University of Sydney {mjc, roehm, Serializable.
A Qualitative Survey of Modern Software Transactional Memory Systems Virendra J. Marathe Michael L. Scott.
Enhanced Operating System Security Through Efficient and Fine-grained Address Space Randomization Vikram Reddy Enukonda.
Maged M.Michael Michael L.Scott Department of Computer Science Univeristy of Rochester Presented by: Jun Miao.
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.
Transactional Memory Lecturer: Danny Hendler. 2 2 From the New York Times…
Transactions and Concurrency Control. Concurrent Accesses to an Object Multiple threads Atomic operations Thread communication Fairness.
Wait-Free Multi-Word Compare- And-Swap using Greedy Helping and Grabbing Håkan Sundell PDPTA 2009.
CS510 Concurrent Systems Why the Grass May Not Be Greener on the Other Side: A Comparison of Locking and Transactional Memory.
Chapter 15: Transactions Loc Hoang CS 157B. Definition n A transaction is a discrete unit of work that must be completely processed or not processed at.
MULTIVIE W Slide 1 (of 21) Software Transactional Memory Should Not Be Obstruction Free Paper: Robert Ennals Presenter: Emerson Murphy-Hill.
On Transactional Memory, Spinlocks and Database Transactions Khai Q. Tran Spyros Blanas Jeffrey F. Naughton (University of Wisconsin Madison)
4 November 2005 CS 838 Presentation 1 Nested Transactional Memory: Model and Preliminary Sketches J. Eliot B. Moss and Antony L. Hosking Presented by:
COMP 430 Intro. to Database Systems Transactions, concurrency, & ACID.
Transactions Introduction.
Irina Calciu Justin Gottschlich Tatiana Shpeisman Gilles Pokam
Minh, Trautmann, Chung, McDonald, Bronson, Casper, Kozyrakis, Olukotun
Virtualizing Transactional Memory
Part 2: Software-Based Approaches
Faster Data Structures in Transactional Memory using Three Paths
COS 418: Advanced Computer Systems Lecture 5 Michael Freedman
Transactions Introduction.
Transaction Management
Changing thread semantics
Kernel Synchronization II
Concurrency Control II (OCC, MVCC)
Lecture 6: Transactions
Lecture 22: Consistency Models, TM
Hassium: Hardware Assisted Database Synchronization
Hybrid Transactional Memory
Introduction of Week 13 Return assignment 11-1 and 3-1-5
Atomic Commit and Concurrency Control
Software Transactional Memory Should Not be Obstruction-Free
Transaction management
Concurrency control (OCC and MVCC)
Don Porter Portions courtesy Emmett Witchel
Presentation transcript:

Privatization Techniques for Software Transactional Memory Michael F. Spear, Virendra J. Marathe, Luke Dalessandro, and Michael L. Scott University of Rochester

2 Motivation for Privatization Limitations of Memory Transactions Semantic limitations (cannot permit I/O in txns) Performance Overheads (software txns still too slow) Solution: Move objects from transactional (shared)  non-transactional (local) space, and then Non-transactional (local)  transactional (shared) space

3 Privatization Privatization is a simple (natural?) programming idiom // Object “O” is usually shared among transactions, but may // occasionally be privatized using the “shared” flag // privatizing thread// concurrent txn 1:transaction {transaction { 2: // privatizes “O” if (shared == true) { 3: shared = false;// txnal processing 4:}shared_foo(O); 5:// non-transactional code } 6:private_foo(O);} Semantically simple, not so simple implementations  Why? Implementations use optimistic concurrency control (OCC) techniques Does not interoperate with privatization correctly

4 Privatization Problem 1: Transactions cause incorrect private ops T1’s write to O privatizes O’ T2 continues to execute optimistically Problem: T2 commits, but privatizer reads old version, OR: T2 aborts, but privatizer read T2’s intermediate updates Thrd 2 Thrd 1 (privatizer) read Obegin T2 begin T1write O (commit / abort) T2 commit T1 write O’ read/write O’ TIME

5 Privatization Problem 1: Transactions cause incorrect private ops T1’s write to O privatizes O’ T2 continues to execute optimistically Problem: T2 commits, but privatizer reads old version, OR: T2 aborts, but privatizer read T2’s intermediate updates Thrd 2 Thrd 1 (privatizer) read Obegin T2 begin T1write O commit T2 commit T1 write O’ read/write O’ TIME

6 Privatization Problem 1: Transactions cause incorrect private ops T1’s write to O privatizes O’ T2 continues to execute optimistically Problem: T2 commits, but privatizer reads old version, OR: T2 aborts, but privatizer read T2’s intermediate updates Thrd 2 Thrd 1 (privatizer) read Obegin T2 begin T1write O abort T2 commit T1 write O’ read/write O’ TIME

7 Privatization Problem 2: Private writes cause incorrect transaction ops T1’s write to O privatizes O’ T2 is doomed to abort But, T2 optimistically reads T1’s update to O’ States of O and O’ accessed by T2 are mutually inconsistent – may cause arbitrary failures read Obegin T2 begin T1write O abort T2 commit T1 read O’ write O’ TIME Inconsistency window Thrd 2 Thrd 1 (privatizer)

8 Privatization Techniques/ Solutions Strong Isolation: Transactions are isolated from non-transactional memory accesses as well Seems impractical without extensive hardware support Runtime Techniques we explored Fences: Force privatizer to wait for concurrent transactions to reach a safe point Nonblocking Privatization: Instrument non- transactional code to check for conflicts with transactions

9 Privatization: Challenges and Opportunities Challenge: Performance, performance, performance!!! All existing solutions pose significant overheads Opened opportunities for exploring a new dimension of runtime systems program analysis based solutions Important criterion for programming models for Transactional Memory

10 Thank You! Questions?