Transactional Memory Overview Olatunji Ruwase 15-740 Fall 2007 Oct 4 2007.

Slides:



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

Maurice Herlihy (DEC), J. Eliot & B. Moss (UMass)
1 Concurrency Control Chapter Conflict Serializable Schedules  Two actions are in conflict if  they operate on the same DB item,  they belong.
Transactional Memory Part 1: Concepts and Hardware- Based Approaches 1Dennis Kafura – CS5204 – Operating Systems.
1 Hardware Transactional Memory Royi Maimon Merav Havuv 27/5/2007.
Transactional Memory: Architectural Support for Lock- Free Data Structures Herlihy & Moss Presented by Robert T. Bauer.
Thread-Level Transactional Memory Decoupling Interface and Implementation UW Computer Architecture Affiliates Conference Kevin Moore October 21, 2004.
Copyright © 2006, CS 612 Transactional Memory Architectural Support for a Lock-Free Data Structure Some material borrowed from : Konrad Lai, Microprocessor.
Concurrent Data Structures in Architectures with Limited Shared Memory Support Ivan Walulya Yiannis Nikolakopoulos Marina Papatriantafilou Philippas Tsigas.
Transactional Memory (TM) Evan Jolley EE 6633 December 7, 2012.
Transactional Memory Yujia Jin. Lock and Problems Lock is commonly used with shared data Priority Inversion –Lower priority process hold a lock needed.
1 Lecture 21: Transactional Memory Topics: consistency model recap, introduction to transactional memory.
The Performance of Spin Lock Alternatives for Shared-Memory Microprocessors Thomas E. Anderson Presented by David Woodard.
1 MetaTM/TxLinux: Transactional Memory For An Operating System Hany E. Ramadan, Christopher J. Rossbach, Donald E. Porter and Owen S. Hofmann Presenter:
[ 1 ] Agenda Overview of transactional memory (now) Two talks on challenges of transactional memory Rebuttals/panel discussion.
Lock vs. Lock-Free memory Fahad Alduraibi, Aws Ahmad, and Eman Elrifaei.
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.
CS510 Concurrent Systems Class 13 Software Transactional Memory Should Not be Obstruction-Free.
Concurrency and Software Transactional Memories Satnam Singh, Microsoft Faculty Summit 2005.
Synchron. CSE 4711 The Need for Synchronization Multiprogramming –“logical” concurrency: processes appear to run concurrently although there is only one.
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.
Transactional Memory CDA6159. Outline Introduction Paper 1: Architectural Support for Lock-Free Data Structures (Maurice Herlihy, ISCA ‘93) Paper 2: Transactional.
Maximum Benefit from a Minimal HTM Owen Hofmann, Chris Rossbach, and Emmett Witchel The University of Texas at Austin.
Sutirtha Sanyal (Barcelona Supercomputing Center, Barcelona) Accelerating Hardware Transactional Memory (HTM) with Dynamic Filtering of Privatized Data.
1 Hardware Transactional Memory (Herlihy, Moss, 1993) Some slides are taken from a presentation by Royi Maimon & Merav Havuv, prepared for a seminar given.
CS510 Concurrent Systems Jonathan Walpole. Transactional Memory: Architectural Support for Lock-Free Data Structures By Maurice Herlihy and J. Eliot B.
Maged M.Michael Michael L.Scott Department of Computer Science Univeristy of Rochester Presented by: Jun Miao.
Hybrid Transactional Memory Sanjeev Kumar, Michael Chu, Christopher Hughes, Partha Kundu, Anthony Nguyen, Intel Labs University of Michigan Intel Labs.
YEAR 2006 The University of Auckland | New Zealand PRESENTATION Computer Science 703 Advance Computer Architecture 2006 Semester 1 Preparation for Test.
Darko Makreshanski Department of Computer Science ETH Zurich
CS510 Concurrent Systems Why the Grass May Not Be Greener on the Other Side: A Comparison of Locking and Transactional Memory.
Concurrency unlocked Programming
Chapter 20 Transaction Management Thomas Connolly, Carolyn Begg, Database System, A Practical Approach to Design Implementation and Management, 4 th Edition,
Software Transactional Memory Should Not Be Obstruction-Free Robert Ennals Presented by Abdulai Sei.
Hardware and Software transactional memory and usages in MRE
Transactional Memory Student Presentation: Stuart Montgomery CS5204 – Operating Systems 1.
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:
Commutativity and Coarse-Grained Transactions Maurice Herlihy Brown University Joint work with Eric Koskinen and Matthew Parkinson (POPL 10)
Advanced Operating Systems (CS 202) Transactional memory Jan, 27, 2016 slide credit: slides adapted from several presentations, including stanford TCC.
ECE 1747: Parallel Programming Short Introduction to Transactions and Transactional Memory (a.k.a. Speculative Synchronization)
Transactional Memory Companion slides for
Lecture 20: Consistency Models, TM
Maurice Herlihy and J. Eliot B. Moss,  ISCA '93
Irina Calciu Justin Gottschlich Tatiana Shpeisman Gilles Pokam
Speculative Lock Elision
Minh, Trautmann, Chung, McDonald, Bronson, Casper, Kozyrakis, Olukotun
Transactional Memory : Hardware Proposals Overview
Prof. Onur Mutlu Carnegie Mellon University 10/12/2012
Why The Grass May Not Be Greener On The Other Side: A Comparison of Locking vs. Transactional Memory By McKenney, Michael, Triplett and Walpole.
The University of Adelaide, School of Computer Science
The University of Adelaide, School of Computer Science
CMSC 611: Advanced Computer Architecture
Transaction Management
Lecture: Consistency Models, TM
Lecture 6: Transactions
Lecture 21: Transactional Memory
Transactional Memory An Overview of Hardware Alternatives
Yiannis Nikolakopoulos
Part 1: Concepts and Hardware- Based Approaches
Lecture 22: Consistency Models, TM
Hybrid Transactional Memory
Software Transactional Memory Should Not be Obstruction-Free
The University of Adelaide, School of Computer Science
Lecture 21: Transactional Memory
Lecture: Consistency Models, TM
Lecture: Transactional Memory
The University of Adelaide, School of Computer Science
Advanced Operating Systems (CS 202) Memory Consistency and Transactional Memory Feb. 6, 2019.
Presentation transcript:

Transactional Memory Overview Olatunji Ruwase Fall 2007 Oct

Future PCs are Multicore

Parallel s/w for performance Locks Deadlocks Priority Inversion Buggy Convoy Effect Limited concurrency

Transactions Borrowed from Databases Definition : A transaction is a finite sequence of machine instructions executed by a single process, that satisfies the following properties Atomicity Serializability Herlihy and Moss. “Transactional Memory: Architectural Support for Lock-free Data Structures, ISCA’93

How transactions work Make private copy of shared data Make updates on private copy If shared data is unchanged Update shared data with private copy Else conflict has occurred Discard private copy and repeat transaction

Requirements for supporting transactions Buffering Conflict detection Abort/Rollback Commit

Transactional Memory Herlihy and Moss, ISCA ’93 ISA changes LT,LTX, ST, COMMIT, VALIDATE, ABORT Fully associative transactional cache Per processor Contents are exclusive of regular cache Cache coherence protocol changes Transactional cache line states Transactional bus messages Snoopy bus based implementation

TM support for transactions BufferingTransactional cache Conflict detectionCache coherence protocol Abort/RecoveryInvalidate transactional cache line CommitValidate transactional cache line

Transactional Cache Fully set associative cache Each cache line can be in only one of transactional or regular cache Holds transactional writes Transactional writes are hidden from other processors and memory Makes updated lines available for snooping on COMMIT Invalidate updated line on ABORT

Herlihy and Moss, ISCA ‘93 M S S XCommit XAbort CacheTransaction Cache CPU Memory

Sample Counter code

Exposing more concurrency Doubly linked list implementation of queue Head, Tail pointers If queue not empty Only head pointer is used for dequeuing Only tail pointer is used for enqueuing Concurrent enqueuing/dequeuing Possible in TM Not possible with locks

Challenges of TM Long transactions I/O Nested transactions Interrupts

Other TM Ideas Speculative Lock Elision Software Transactional Memory Requires no hardware changes Allows composition of transactions

Speculative Lock Elision Ravi and Goodman, MICRO ‘01 Speculatively remove lock acquire and removal instructions Microarchitectural changes No changes to cache systems No changes to ISA Can work with existing lock based code

SLE example

Credits for slides Bryant Lee (CMU) Transactional Memory: Principles and Current Research Colin Blundell (UPenn) Transaction Memory Overview Kevin Moore (UW) Thread-Level Transactional Memory

Compare TM and TLS TM is optimistic synchronization TLS is optimistic parallelization Any other similarities or differences

Questions/Discussions