[ 1 ] Agenda Overview of transactional memory (now) Two talks on challenges of transactional memory Rebuttals/panel discussion.

Slides:



Advertisements
Similar presentations
Inferring Locks for Atomic Sections Cornell University (summer intern at Microsoft Research) Microsoft Research Sigmund CheremTrishul ChilimbiSumit Gulwani.
Advertisements

Transactional Memory Challenges: Workloads, Execution Model, and Implementation Colin Blundell & Milo M. K. Martin University of Pennsylvania {blundell,
Transactional Memory Parag Dixit Bruno Vavala Computer Architecture Course, 2012.
Principles of Transaction Management. Outline Transaction concepts & protocols Performance impact of concurrency control Performance tuning.
Hardware Transactional Memory for GPU Architectures Wilson W. L. Fung Inderpeet Singh Andrew Brownsword Tor M. Aamodt University of British Columbia In.
Transactional Memory Supporting Large Transactions Anvesh Komuravelli Abe Othman Kanat Tangwongsan Hardware-based.
Chapter 6: Process Synchronization
1 Lecture 20: Speculation Papers: Is SC+ILP=RC?, Purdue, ISCA’99 Coherence Decoupling: Making Use of Incoherence, Wisconsin, ASPLOS’04 Selective, Accurate,
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
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.
Copyright © 2006, CS 612 Transactional Memory Architectural Support for a Lock-Free Data Structure Some material borrowed from : Konrad Lai, Microprocessor.
Transactional Memory (TM) Evan Jolley EE 6633 December 7, 2012.
Lock-free Cache-friendly Software Queue for Decoupled Software Pipelining Student: Chen Wen-Ren Advisor: Wuu Yang 學生 : 陳韋任 指導教授 : 楊武 Abstract Multicore.
1 Lecture 21: Transactional Memory Topics: consistency model recap, introduction to transactional memory.
October 2003 What Does the Future Hold for Parallel Languages A Computer Architect’s Perspective Josep Torrellas University of Illinois
CS533 Concepts of Operating Systems Class 20 Summary.
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.
Deconstructing Transactions: The Subtleties of Atomicity Colin Blundell, E Christopher Lewis, Milo M. K. Martin University of Pennsylvania {blundell, lewis,
Christopher J. Rossbach, Owen S. Hofmann, Donald E. Porter, Hany E. Ramadan, Aditya Bhandari, and Emmett Witchel - Presentation By Sathish P.
Unbounded Transactional Memory Paper by Ananian et al. of MIT CSAIL Presented by Daniel.
(C) 2004 Daniel SorinDuke Architecture Using Speculation to Simplify Multiprocessor Design Daniel J. Sorin 1, Milo M. K. Martin 2, Mark D. Hill 3, David.
Synchronization CSCI 444/544 Operating Systems Fall 2008.
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.
Transactional Memory Prof. Hsien-Hsin S. Lee School of Electrical and Computer Engineering Georgia Tech (Adapted from Stanford TCC group and MIT SuperTech.
A Qualitative Survey of Modern Software Transactional Memory Systems Virendra J. Marathe Michael L. Scott.
Colorama: Architectural Support for Data-Centric Synchronization Luis Ceze, Pablo Montesinos, Christoph von Praun, and Josep Torrellas, HPCA 2007 Shimin.
Hybrid Transactional Memory Sanjeev Kumar, Michael Chu, Christopher Hughes, Partha Kundu, Anthony Nguyen, Intel Labs University of Michigan Intel Labs.
Cache Coherence Protocols 1 Cache Coherence Protocols in Shared Memory Multiprocessors Mehmet Şenvar.
Shared Memory Consistency Models. SMP systems support shared memory abstraction: all processors see the whole memory and can perform memory operations.
Transactional Coherence and Consistency Presenters: Muhammad Mohsin Butt. (g ) Coe-502 paper presentation 2.
YEAR 2006 The University of Auckland | New Zealand PRESENTATION Computer Science 703 Advance Computer Architecture 2006 Semester 1 Preparation for Test.
CS510 Concurrent Systems Why the Grass May Not Be Greener on the Other Side: A Comparison of Locking and Transactional Memory.
Concurrency unlocked Programming
© 2008 Multifacet ProjectUniversity of Wisconsin-Madison Pathological Interaction of Locks with Transactional Memory Haris Volos, Neelam Goyal, Michael.
Making the Fast Case Common and the Uncommon Case Simple in Unbounded Transnational Memory Qi Zhu CSE 340, Spring 2008 University of Connecticut Paper.
Martin Kruliš by Martin Kruliš (v1.1)1.
Solving Difficult HTM Problems Without Difficult Hardware Owen Hofmann, Donald Porter, Hany Ramadan, Christopher Rossbach, and Emmett Witchel University.
1 Lecture 20: Speculation Papers: Is SC+ILP=RC?, Purdue, ISCA’99 Coherence Decoupling: Making Use of Incoherence, Wisconsin, ASPLOS’04.
On Transactional Memory, Spinlocks and Database Transactions Khai Q. Tran Spyros Blanas Jeffrey F. Naughton (University of Wisconsin Madison)
ECE 1747: Parallel Programming Short Introduction to Transactions and Transactional Memory (a.k.a. Speculative Synchronization)
Lecture 20: Consistency Models, TM
James Larus and Christos Kozyrakis
Irina Calciu Justin Gottschlich Tatiana Shpeisman Gilles Pokam
Speculative Lock Elision
Minh, Trautmann, Chung, McDonald, Bronson, Casper, Kozyrakis, Olukotun
Virtualizing Transactional Memory
Transactional Memory : Hardware Proposals Overview
Prof. Onur Mutlu Carnegie Mellon University 10/12/2012
PHyTM: Persistent Hybrid Transactional Memory
Why The Grass May Not Be Greener On The Other Side: A Comparison of Locking vs. Transactional Memory By McKenney, Michael, Triplett and Walpole.
Hardware Transactional Memory
Two Ideas of This Paper Using Permissions-only Cache to deduce the rate at which less-efficient overflow handling mechanisms are invoked. When the overflow.
Lecture 19: Transactional Memories III
Changing thread semantics
Lecture 6: Transactions
Christopher J. Rossbach, Owen S. Hofmann, Donald E. Porter, Hany E
Transactional Memory An Overview of Hardware Alternatives
Lecture 22: Consistency Models, TM
Lecture 2 Part 2 Process Synchronization
Hybrid Transactional Memory
Design and Implementation Issues for Atomicity
Co-designed Virtual Machines for Reliable Computer Systems
Lecture: Consistency Models, TM
Advanced Operating Systems (CS 202) Memory Consistency and Transactional Memory Feb. 6, 2019.
CSE 542: Operating Systems
Presentation transcript:

[ 1 ] Agenda Overview of transactional memory (now) Two talks on challenges of transactional memory Rebuttals/panel discussion

Transactional Memory Overview Colin Blundell, E Christopher Lewis, Milo Martin University of Pennsylvania {blundell, lewis,

[ 3 ] The Challenge of Multithreaded SW Goal: Parallelization Problem: Unrestricted concurrency  bugs Solution: Synchronization New problem: Synchronization Tension between performance and correctness

[ 4 ] Current Mechanism: Locks Locks: objects only one thread can hold at a time Organization: lock for each shared structure Usage: (block)  acquire  access  release Correctness issues Under-locking  data races Acquires in different orders  deadlock Performance issues Conservative serialization Overhead of acquiring Difficult to find right granularity Blocking Correctness, efficiency, simplicity: choose two

[ 5 ] Enter Transactions Code segments with three features: a)Atomicity b)Serialization only on conflicts c)Rollback support

[ 6 ] Transactions vs. Locks Lock issues: – Under-locking – Acquires in different orders – Blocking – Conservative serialization How transactions help: + Simpler interface + No ordering + Can cancel transactions + Serialization only on conflicts Locks  simplicity/performance tension Transactions  (potentially) simple and efficient

[ 7 ] Agenda Transactions: what all the hoopla’s about Research Proposals Usages Implementations Disclaimer 1: Covering only hardware support Disclaimer 2: Purely an overview

[ 8 ] Execution Strategy Four main components: 1.Logging/buffering 2.Conflict detection 3.Abort/rollback 4.Commit Many implementation approaches

[ 9 ] Transactional Memory (TM) Goal: lock-free data structures Approach: multi-location atomic sequences (transactions) Implementation: special caches + traditional CC protocol Buffering? Transactional cache Conflict detection? Cache interventions Rollback? Invalidate transactional cache Commit? Validate transactional cache Transactions limited Bounded size Can’t survive interrupts No I/O [Herlihy & Moss, ISCA ‘93]

[ 10 ] Transactional Lock Removal (TLR) Goal: Lock-based code that serializes only on conflicts Approach: Execute critical sections as transactions Dynamically identify acquire/release pairs Handle conflicts using timestamps (no locks) Implementation: Buffer in caches + coherence protocol Reverts to locks in rare cases I/O Resource exhaustion Interrupts [Rajwar & Goodman, ASPLOS ‘02]

[ 11 ] Transactional Coherence and Consistency (TCC) Goal (1): Transactions for synchronization and parallelization Goal (2): Eliminate traditional cache coherence protocols Approach: All code in transactions Communication via transactions’ write packets Cache coherence at transaction-level granularity Programming model features Primitives for speculative parallelization Unbounded transactions and I/O via “early commit” [Hammond+, ISCA ‘04 & ASPLOS ‘04]

[ 12 ] Unbounded Transactional Memory Goal: Transactions for general-purpose synchronization Approach: In-progress transactions part of architected state + Unbounded & persistent transactions – Implementation difficulties (only abstract design) Compromise: LTM (caches + overflow table in memory) + More practical implementation – Transactions can’t survive interrupts [Ananian+, HPCA ‘05]

[ 13 ] Recent Proposals Virtualized Transactional Memory (VTM) [Rajwar+, ISCA ‘05] Goal: persistent transactions with less overhead Approach: group transactions by process Implementation: buffer in cache + overflow table in virtual memory + various interesting optimizations Go to talk! Thread-Level Transactional Memory (TTM) [Moore+, TR ‘05]

[ 14 ] Summary Transactions: Promising approach to synchronization Simple interface + efficient implementation Uses: optimistic lock removal, lock-free data structures, general-purpose synchronization, parallelization, ?? Challenges Implementation Interface OS involvement I/O + rollback See next two talks

[ 15 ] References Ananian+. Unbounded Transactional Memory. (HPCA 2005) Hammond+. Transactional Coherence & Consistency. (ISCA 2004) Hammond+. Programming with Transactional Coherence & Consistency (TCC). (ASPLOS 2004) Herlihy & Moss. Transactional Memory: Architectural Support for Lock-Free Data Structures. (ISCA 1993) Moore+. Thread-Level Transactional Memory. (UW TR 2005) Rajwar & Goodman. Transactional Lock-Free Execution of Lock-Base Programs. (ASPLOS 2004) Rajwar+. Virtualizing Transactional Memory. (ISCA 2005)