KAUSHIK LAKSHMINARAYANAN MICHAEL ROZYCZKO VIVEK SESHADRI Transactional Memory: Hybrid Hardware/Software Approaches.

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

Transactional Memory Parag Dixit Bruno Vavala Computer Architecture Course, 2012.
Maurice Herlihy (DEC), J. Eliot & B. Moss (UMass)
Privatization Techniques for Software Transactional Memory Michael F. Spear, Virendra J. Marathe, Luke Dalessandro, and Michael L. Scott University of.
Transactional Locking Nir Shavit Tel Aviv University (Joint work with Dave Dice and Ori Shalev)
Transactional Memory Supporting Large Transactions Anvesh Komuravelli Abe Othman Kanat Tangwongsan Hardware-based.
Pessimistic Software Lock-Elision Nir Shavit (Joint work with Yehuda Afek Alexander Matveev)
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.
Transactional Memory (TM) Evan Jolley EE 6633 December 7, 2012.
HW Support for STM Breakout Session Summary Christos Kozyrakis Pervasive Parallelism Laboratory Stanford University
PARALLEL PROGRAMMING with TRANSACTIONAL MEMORY Pratibha Kona.
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.
[ 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.
EPFL - March 7th, 2008 Interfacing Software Transactional Memory Simplicity vs. Flexibility Vincent Gramoli.
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.
1 Lecture 8: Transactional Memory – TCC Topics: “lazy” implementation (TCC)
1 Lecture 24: Transactional Memory Topics: transactional memory implementations.
Supporting Nested Transactional Memory in LogTM Authors Michelle J Moravan Mark Hill Jayaram Bobba Ben Liblit Kevin Moore Michael Swift Luke Yen David.
Christopher J. Rossbach, Owen S. Hofmann, Donald E. Porter, Hany E. Ramadan, Aditya Bhandari, and Emmett Witchel - Presentation By Sathish P.
The Cost of Privatization Hagit Attiya Eshcar Hillel Technion & EPFLTechnion.
Unbounded Transactional Memory Paper by Ananian et al. of MIT CSAIL Presented by Daniel.
1 RAKSHA: A FLEXIBLE ARCHITECTURE FOR SOFTWARE SECURITY Computer Systems Laboratory Stanford University Hari Kannan, Michael Dalton, Christos Kozyrakis.
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.
Highly Available ACID Memory Vijayshankar Raman. Introduction §Why ACID memory? l non-database apps: want updates to critical data to be atomic and persistent.
An Integrated Hardware-Software Approach to Transactional Memory Sean Lie Theory of Parallel Systems Monday December 8 th, 2003.
TRANSACT 2006 Hardware Acceleration of Software Transactional Memory 1 Hardware Acceleration of Software Transactional Memory Arrvindh Shriraman, Virendra.
Programming Paradigms for Concurrency Part 2: Transactional Memories Vasu Singh
Microsoft Research Faculty Summit Panacea or Pandora’s Box? Software Transactional Memory Panacea or Pandora’s Box? Christos Kozyrakis Assistant.
Maximum Benefit from a Minimal HTM Owen Hofmann, Chris Rossbach, and Emmett Witchel The University of Texas at Austin.
Reduced Hardware NOrec: A Safe and Scalable Hybrid Transactional Memory Alexander Matveev Nir Shavit MIT.
Sutirtha Sanyal (Barcelona Supercomputing Center, Barcelona) Accelerating Hardware Transactional Memory (HTM) with Dynamic Filtering of Privatized Data.
A Qualitative Survey of Modern Software Transactional Memory Systems Virendra J. Marathe Michael L. Scott.
Lowering the Overhead of Software Transactional Memory Virendra J. Marathe, Michael F. Spear, Christopher Heriot, Athul Acharya, David Eisenstat, William.
Low-Overhead Software Transactional Memory with Progress Guarantees and Strong Semantics Minjia Zhang, 1 Jipeng Huang, Man Cao, Michael D. Bond.
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.
CS510 Concurrent Systems Why the Grass May Not Be Greener on the Other Side: A Comparison of Locking and Transactional Memory.
Concurrency unlocked Programming
Processes and Virtual Memory
Software Transactional Memory Should Not Be Obstruction-Free Robert Ennals Presented by Abdulai Sei.
© 2008 Multifacet ProjectUniversity of Wisconsin-Madison Pathological Interaction of Locks with Transactional Memory Haris Volos, Neelam Goyal, Michael.
Hardware and Software transactional memory and usages in MRE
HARD: Hardware-Assisted lockset- based Race Detection P.Zhou, R.Teodorescu, Y.Zhou. HPCA’07 Shimin Chen LBA Reading Group Presentation.
Atom-Aid: Detecting and Surviving Atomicity Violations Brandon Lucia, Joseph Devietti, Karin Strauss and Luis Ceze LBA Reading Group 7/3/08 Slides by Michelle.
Solving Difficult HTM Problems Without Difficult Hardware Owen Hofmann, Donald Porter, Hany Ramadan, Christopher Rossbach, and Emmett Witchel University.
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)
Architectural Features of Transactional Memory Designs for an Operating System Chris Rossbach, Hany Ramadan, Don Porter Advanced Computer Architecture.
Transactional Memory Coherence and Consistency Lance Hammond, Vicky Wong, Mike Chen, Brian D. Carlstrom, John D. Davis, Ben Hertzberg, Manohar K. Prabhu,
Lecture 20: Consistency Models, TM
Maurice Herlihy, Victor Luchangco, Mark Moir, William N. Scherer III
Maurice Herlihy and J. Eliot B. Moss,  ISCA '93
James Larus and Christos Kozyrakis
Irina Calciu Justin Gottschlich Tatiana Shpeisman Gilles Pokam
Minh, Trautmann, Chung, McDonald, Bronson, Casper, Kozyrakis, Olukotun
Transactional Memory : Hardware Proposals Overview
PHyTM: Persistent Hybrid 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
Arrvindh Shriraman, Michael F. Spear, Hemayet Hossain, Virendra J
Transactional Memory An Overview of Hardware Alternatives
Lecture 22: Consistency Models, TM
Hybrid Transactional Memory
Lecture 23: Transactional Memory
Presentation transcript:

KAUSHIK LAKSHMINARAYANAN MICHAEL ROZYCZKO VIVEK SESHADRI Transactional Memory: Hybrid Hardware/Software Approaches

Transactional Memory Lock-free data structures Atomic code sections  Abstraction – what instead of how Ideas from database community Means a lot to parallel programming

Hardware vs Software TM Hardware Transactional Memory (HTM)  Modify cache coherence protocol, ISA extensions  Best-effort (bounded resources)  Transactions cannot exceed processor resources  UTM (unbounded resources)  Supports large transactions – hard to realize Software Transactional Memory (STM)  Software bookkeeping  Overhead Hybrid Transactional Memory (?)  Combine benefits of both models

Hybrid TM Design Issues Naming Hardware support Software mechanism Policy ISA extensions Other issues

HyTM Overview HyTM  Peter Damron, Alexandra Fedorova, Yossi Lev, Victor Luchangco, Mark Moir and Daniel Nussbaum HyTM Library Best-effort HTM STM

Overview of Implementations II RTM  Arvindh Shriraman, Michael F. Spear, Hemayat Hossain, Virendra J. Marathe, Sandhya Dwarkadas and Michael L. Scott Application HTM Handler

Overview of Implementations III SigTM  Chi Chao Minh, Martin Trautmann, JaeWoong Chung, Austen McDonald, Nathan Bronson, Jared Casper, Christos Kozyrakis, Kunle Olukotun STM Hardware Bookkeeping (Signatures)

Hardware Support/Software Mechanisms HyTM  Does not assume any hardware support  Runs on existing HTM (if one exists)  Full-fledged STM library  Object records (for every word in memory) Meta-information about the state of the word  Handlers Conflict management Hardware/Software interface

Hardware Support/Software Mechanisms RTM  Cache coherence protocol modifications – TMESI  Additional registers (transaction metadata)  Application-specific handlers  Conflict detection  Aborted hardware transactions

Hardware Support/Software Mechanisms SigTM  Hardware signatures (bookkeeping)  Bloom filter  User-level configuration registers (policy)  Slight modification to cache coherence  Hardware check on signature hits  Software handlers to handle hits (based on policy)  Software write-set bookkeeping  Required to update on successful commit

Policy Upon conflict/eviction, something must be done to resolve the situation Conflict detection – write-read, write-write  When to do conflict detection? Eager/Lazy  What to do when conflict encountered? Which to abort. Retrying aborted transactions  Immediate retry vs. back off  HyTM – hardware vs. software transaction  SigTM – API policy management

RTM Policy RTM – flexible policy  Application-specific handlers  Speculative execution  Application can decide to allow read-write and write-write  Programmable Data Isolation (PDI)  Can configure exclusivity of data  Alert on Update (AOU)  Inform application when a conflict/eviction occurs

ISA extensions Hybrid TM generally use special instructions to interface compiler and TM hardware  Instructions to delimit beginning and ending of transactions (Most implementations)  Instructions to set application-specific handlers (RTM)  Instructions to check whether the hardware can read or write (HyTM)  Update the signatures of addresses (SigTM)

Other Issues False sharing  Cache lines – unwanted abort and retries Unnecessarily shared variables  Collecting statistics Memory allocation/Freeing  Malloc and free in aborted transactions Deadlocks  Issue with lock based mechanisms Strong isolation and ordering  Interaction with non-transactional writes

KAUSHIK LAKSHMINARAYANAN MICHAEL ROZYCZKO VIVEK SESHADRI Transactional Memory: Hybrid Hardware/Software Approaches