Performance Pathologies in Hardware Transactional Memory

Slides:



Advertisements
Similar presentations
Maurice Herlihy (DEC), J. Eliot & B. Moss (UMass)
Advertisements

Raphael Eidenbenz Roger Wattenhofer Roger Wattenhofer Good Programming in Transactional Memory Game Theory Meets Multicore Architecture.
1 Lecture 18: Transactional Memories II Papers: LogTM: Log-Based Transactional Memory, HPCA’06, Wisconsin LogTM-SE: Decoupling Hardware Transactional Memory.
© 2006 Mulitfacet ProjectUniversity of Wisconsin-Madison Supporting Nested Transactional Memory in LogTM Michelle J. Moravan, Jayaram Bobba, Kevin E. Moore,
Transactional Memory Supporting Large Transactions Anvesh Komuravelli Abe Othman Kanat Tangwongsan Hardware-based.
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.
1 Lecture 21: Transactional Memory Topics: consistency model recap, introduction to transactional memory.
1 Lecture 10: TM Pathologies Topics: scalable lazy implementation, paper on TM performance pathologies.
[ 1 ] Agenda Overview of transactional memory (now) Two talks on challenges of transactional memory Rebuttals/panel discussion.
1 Lecture 23: Transactional Memory Topics: consistency model recap, introduction to transactional memory.
1 Lecture 8: Eager Transactional Memory Topics: implementation details of eager TM, various TM pathologies.
1 Lecture 8: Transactional Memory – TCC Topics: “lazy” implementation (TCC)
Transactions – T4.3 Title: Concurrency Control Performance Modeling: Alternatives and Implications Authors: R. Agarwal, M. J. Carey, M. Livny ACM TODS,
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.
Selfishness in Transactional Memory Raphael Eidenbenz, Roger Wattenhofer Distributed Computing Group Game Theory meets Multicore Architecture.
1 Lecture 6: TM – Eager Implementations Topics: Eager conflict detection (LogTM), TM pathologies.
Scalable, Reliable, Power-Efficient Communication for Hardware Transactional Memory Seth Pugsley, Manu Awasthi, Niti Madan, Naveen Muralimanohar and Rajeev.
Unbounded Transactional Memory Paper by Ananian et al. of MIT CSAIL Presented by Daniel.
1 Lecture 5: TM – Lazy Implementations Topics: TM design (TCC) with lazy conflict detection and lazy versioning, intro to eager conflict detection.
1 Lecture 9: TM Implementations Topics: wrap-up of “lazy” implementation (TCC), eager implementation (LogTM)
1 Lecture 7: Lazy & Eager Transactional Memory Topics: details of “lazy” TM, scalable lazy TM, implementation details of eager TM.
1 Lecture 10: TM Implementations Topics: wrap-up of eager implementation (LogTM), scalable lazy implementation.
LogTM: Log-Based Transactional Memory Kevin E. Moore, Jayaram Bobba, Michelle J. Moravan, Mark D. Hill, & David A. Wood Presented by Colleen Lewis.
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.
Adaptive Transaction Scheduling for Transactional Memory Systems Richard M. Yoo Hsien-Hsin S. Lee Georgia Tech.
Reduced Hardware NOrec: A Safe and Scalable Hybrid Transactional Memory Alexander Matveev Nir Shavit MIT.
EazyHTM: Eager-Lazy Hardware Transactional Memory Saša Tomić, Cristian Perfumo, Chinmay Kulkarni, Adrià Armejach, Adrián Cristal, Osman Unsal, Tim Harris,
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.
Implementing Signatures for Transactional Memory Daniel Sanchez, Luke Yen, Mark Hill, Karu Sankaralingam University of Wisconsin-Madison.
Kevin E. Moore, Jayaram Bobba, Michelle J. Moravan, Mark D. Hill & David A. Wood Presented by: Eduardo Cuervo.
Page 1 Concurrency Control Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
StealthTest: Low Overhead Online Software Testing Using Transactional Memory Jayaram Bobba, Weiwei Xiong*, Luke Yen †, Mark D. Hill, and David A. Wood.
© 2008 Multifacet ProjectUniversity of Wisconsin-Madison Pathological Interaction of Locks with Transactional Memory Haris Volos, Neelam Goyal, Michael.
© 2006 Mulitfacet ProjectUniversity of Wisconsin-Madison LogTM: Log-Based Transactional Memory Kevin E. Moore, Jayaram Bobba, Michelle J. Moravan, Mark.
1 Lecture 10: Transactional Memory Topics: lazy and eager TM implementations, TM pathologies.
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.
Maurice Herlihy and J. Eliot B. Moss,  ISCA '93
Algorithmic Improvements for Fast Concurrent Cuckoo Hashing
Speculative Lock Elision
Minh, Trautmann, Chung, McDonald, Bronson, Casper, Kozyrakis, Olukotun
Transactional Memory : Hardware Proposals Overview
Hardware Transactional Memory
Log-Based 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
Is Transactional Memory an Oxymoron?
A Qualitative Survey of Modern Software Transactional Memory Systems
Lecture 11: Transactional Memory
Log-based Transactional Memory
Arrvindh Shriraman, Michael F. Spear, Hemayet Hossain, Virendra J
Lecture 12: TM, Consistency Models
Lecture 21: Transactional Memory
Transactional Memory An Overview of Hardware Alternatives
Improving Multiple-CMP Systems with Token Coherence
Part 1: Concepts and Hardware- Based Approaches
Lecture 22: Consistency Models, TM
Hybrid Transactional Memory
TokenTM: Token-Based Hardware Transactional Memory
LogTM-SE: Decoupling Hardware Transactional Memory from Caches
BulkCommit: Scalable and Fast Commit of Atomic Blocks
Performance Pathologies in Hardware Transactional Memory
Lecture 23: Transactional Memory
Lecture 21: Transactional Memory
Lecture: Transactional Memory
Controlled Interleaving for Transactions
Presentation transcript:

Performance Pathologies in Hardware Transactional Memory Jayaram Bobba, Kevin E. Moore, Haris Volos, Luke Yen, Mark D. Hill, Michael M. Swift, and David A. Wood Multifacet Project (www.cs.wisc.edu/multifacet) Computer Sciences Dept., University of Wisconsin Madison

Executive Summary (1/2) Multiple Hardware Transactional Memory Designs Best Performance ? Depends ! Livelock © 2007 Multifacet Project University of Wisconsin Madison

Executive Summary (2/2) Why? Performance Pathologies What to do? Better Conflict Resolution pa●thol●o●gy: any deviation from a normal, healthy or efficient condition Livelock Performance Pathologies Performance © 2007 Multifacet Project University of Wisconsin Madison

Talk Outline Motivation Base HTM Results Performance Pathologies Enhanced HTM Systems © 2007 Multifacet Project University of Wisconsin Madison

Motivation Which HTM system performs best? Different Assumptions Hardware Broadcast vs Directory Based Software: Continuous Transactions vs Critical Section Transactions How to compare? © 2007 Multifacet Project University of Wisconsin Madison

LL EE EL HTM Design Space Version Management Conflict Detection Lazy Eager Stanford TCC Illinois Bulk LL No HTMs (yet) Herlihy/Moss TM MIT LTM Intel/Brown VTM MIT UTM Wisconsin LogTM EL EE Conflict Resolution: Adhoc “Better By Design” ? © 2007 Multifacet Project University of Wisconsin Madison

LL EL EE Experimental Setup Base HTM Systems Common Hardware Platform 32 core CMP Directory-Based Coherence Common TM Programming Model Critical Section Based Transactions Common Workloads 5 SPLASH + 2 Microbenchmarks (Btree, LFUCache) LL EL EE © 2007 Multifacet Project University of Wisconsin Madison

Performance Pathologies And the winner is… Performance Pathologies Livelock Low Contention: Similar High Contention: Depends © 2007 Multifacet Project University of Wisconsin Madison

Talk Outline Motivation Base HTM Results Performance Pathologies Enhanced HTM Systems © 2007 Multifacet Project University of Wisconsin Madison

Performance Pathologies StarvingElder SerializedCommit RestartConvoy FriendlyFire DuelingUpgrades FutileStall StarvingWriter EE EL LL © 2007 Multifacet Project University of Wisconsin Madison

LL System Conflict Detection: Lazy Version Management: Lazy Detect conflicts at commit time (Validation) Version Management: Lazy New value elsewhere, Update on commit + Abort - Commit Conflict Resolution: Committer Wins compare with TCC, Bulk © 2007 Multifacet Project University of Wisconsin Madison

StarvingElder CAUSE Committer Wins Time EFFECT(S) Starvation Load Imbalance FIX Elder gets Priority ? T1 T2 T3 store A load A ABORT Time store A load A ABORT store A load A ABORT COMMITING STALLED ABORTING © 2007 Multifacet Project University of Wisconsin Madison

RestartConvoy CAUSE Fast Abort + Immediate Restart EFFECT(S) Resource Contention Serialized Execution ≈ Lock Convoys FIX Stagger Restarts ? T2 T3 T4 load A store A ABORT load A store A ABORT load A © 2007 Multifacet Project University of Wisconsin Madison

LL LL LL_B Pathologies Pathology (% ExecutionTime) Enhancement Linear Backoff on Abort Eliminate RestartConvoys StarvingElder Serialized Commit Restart Convoy SerializedCommit Raytrace 45 27 5.2 0.1 0.3 1.0 LL LL_B © 2007 Multifacet Project University of Wisconsin Madison

LL_B LL_B LL Enhanced LL ( ) Pathology (% ExecutionTime) Performance StarvingElder Serialized Commit Restart Convoy SerializedCommit Raytrace 45 27 5.2 0.1 0.3 1.0 LL LL_B © 2007 Multifacet Project University of Wisconsin Madison

Performance Pathologies StarvingElder SerializedCommit RestartConvoy FriendlyFire DuelingUpgrades FutileStall StarvingWriter LL EL EE © 2007 Multifacet Project University of Wisconsin Madison

EL System Conflict Detection: Eager Version Management: Lazy Detect conflicts immediately Version Management: Lazy New Value elsewhere, Update on commit + Abort - Commit Conflict Resolution: Requester Wins Exponential Backoff on Abort compare with HMTM, LTM © 2007 Multifacet Project University of Wisconsin Madison

FriendlyFire CAUSE Requester Wins EFFECT(S) Unnecessary Aborts load A store A ABORT CAUSE Requester Wins EFFECT(S) Unnecessary Aborts Livelock FIX Priority Based Conflict Resolution ? load A store A ABORT © 2007 Multifacet Project University of Wisconsin Madison

EL EL EL_T Pathologies Pathology (% ExecutionTime) Enhancement Timestamp Based Conflict Resolution Eliminate FriendlyFire Friendly Fire FriendlyFire Raytrace 73 0.2 EL EL_T © 2007 Multifacet Project University of Wisconsin Madison

EL_T EL EL_T Enhanced EL ( ) Pathology (% ExecutionTime) Performance Friendly Fire FriendlyFire Raytrace 73 0.2 EL EL_T © 2007 Multifacet Project University of Wisconsin Madison

Performance Pathologies StarvingElder SerializedCommit RestartConvoy FriendlyFire DuelingUpgrades FutileStall StarvingWriter LL EL EE © 2007 Multifacet Project University of Wisconsin Madison

EE System Conflict Detection: Eager Version Management: Eager Detect conflicts immediately Version Management: Eager New Value in-place, Restore on Abort - Abort + Commit Conflict Resolution Stall Requester Abort Requester on possible deadlock (Conservative Deadlock Avoidance) compare with LogTM © 2007 Multifacet Project University of Wisconsin Madison

DuelingUpgrades CAUSE Conservative Deadlock Avoidance EFFECT(S) load A store A T1 T2 STALL ABORT CAUSE Conservative Deadlock Avoidance EFFECT(S) Unnecessary Stall Unnecessary Abort FIX Acquire Store Permissions Early ? © 2007 Multifacet Project University of Wisconsin Madison

StarvingWriter CAUSE Stall Requester EFFECT(S) Starvation store A load A T1 T2 T3 T4 CAUSE Stall Requester EFFECT(S) Starvation Load Imbalance ≈ Reader/Writer Locks FIX Writer Priority ? © 2007 Multifacet Project University of Wisconsin Madison

EE EE_HP EE Pathologies Pathology (% ExecutionTime) Enhancements DuelingUpgrades: Store-Set Predictor StarvingWriter: Writer Aborts Readers immediately % Execution Time Aborts /Transaction FutileStall StarvingWriter Dueling Upgrades Futile Stall Raytrace 1.0 4.6 4.2 <0.1 0.3 EE EE_HP © 2007 Multifacet Project University of Wisconsin Madison

EE_HP EE EE_HP Enhanced EE ( ) Pathology (% ExecutionTime) Performance Aborts /Transaction FutileStall StarvingWriter Dueling Upgrades Futile Stall Raytrace 1.0 4.6 4.2 <0.1 0.3 EE EE_HP © 2007 Multifacet Project University of Wisconsin Madison

LL LL_B Caveats / FutureWork High Contention Scenarios Restart Convoy StarvingElder Serialized Commit RestartConvoy SerializedCommit Mp3d 21 36 30 9.0 28 25 High Contention Scenarios Better Conflict Resolution Unidentified Pathologies Better TM Workloads LL LL_B © 2007 Multifacet Project University of Wisconsin Madison

Executive Summary Performance Pathologies Enhanced HTM systems Livelock © 2007 Multifacet Project University of Wisconsin Madison

FutileStall DuelingUpgrades FriendlyFire RestartConvoy StarvingWriter StarvingElder SerializedCommit