Performance Pathologies in Hardware Transactional Memory Jayaram Bobba
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 Livelock – Best Performance ? • Depends ! © 2007 Multifacet Project 2 University of Wisconsin Madison
Executive Summary (2/2) • • Why? – Performance Pathologies What to do? pa●thol●o●gy: any deviation from a normal, healthy or efficient condition Livelock – Better Conflict Resolution Performance Pathologies © 2007 Multifacet Project Performance 3 University of Wisconsin Madison
Talk Outline • Motivation • Base HTM Results • Performance Pathologies • Enhanced HTM Systems © 2007 Multifacet Project 4 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 5 University of Wisconsin Madison
HTM Design Space Version Management C o n fl i c t D e te c ti o n Lazy Eager Stanford TCC No HTMs (yet) Illinois Bulk Herlihy/Moss TM Eager MIT LTM Intel/Brown VTM MIT UTM Wisconsin Log. TM Conflict Resolution: Resolution Adhoc “Better By Design” ? © 2007 Multifacet Project 6 University of Wisconsin Madison
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) © 2007 Multifacet Project 7 University of Wisconsin Madison
Livelock And the winner is… • Low Contention: Similar • High Contention: Depends © 2007 Multifacet Project 8 University of Wisconsin Madison
Talk Outline • Motivation • Base HTM Results • Performance Pathologies • Enhanced HTM Systems © 2007 Multifacet Project 9 University of Wisconsin Madison
Performance Pathologies • Starving. Elder • Serialized. Commit • Restart. Convoy • Friendly. Fire • Dueling. Upgrades • Futile. Stall • Starving. Writer © 2007 Multifacet Project 10 University of Wisconsin Madison
System • Conflict Detection: 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 11 University of Wisconsin Madison
Time Starving. Elder CAUSE Committer Wins load A store A EFFECT(S) ABORT • Starvation load A store A • Load Imbalance ABORT FIX load A Elder gets Priority ? store A ABORT COMMITING STALLED ABORTING © 2007 Multifacet Project 12 University of Wisconsin Madison
Serialized. Commit Time CAUSE Serial Validation EFFECT(S) • Unnecessary Stall FIX Parallel Validation ? © 2007 Multifacet Project 13 University of Wisconsin Madison
Restart. Convoy CAUSE load A store A load A Immediate Restart ABORT load A Fast Abort + store A EFFECT(S) • Resource Contention • Serialized Execution ABORT load A ≈ Lock Convoys FIX Stagger Restarts ? © 2007 Multifacet Project 14 University of Wisconsin Madison
Pathologies • Pathology (% Execution. Time) Starving Elder Raytrace 45 Serialized Restart Commit Convoy 27 5. 2 Starving Elder Serialized Commit 0. 1 0. 3 Restart Convoy 1. 0 • Enhancement – Linear Backoff on Abort – Eliminate Restart. Convoys © 2007 Multifacet Project 15 University of Wisconsin Madison
Enhanced LL ( ) • Pathology (% Execution. Time) Starving Elder Raytrace 45 Serialized Restart Commit Convoy 27 5. 2 Starving Elder Serialized Commit 0. 1 0. 3 Restart Convoy 1. 0 • Performance © 2007 Multifacet Project 16 University of Wisconsin Madison
Performance Pathologies • Starving. Elder • Serialized. Commit • Restart. Convoy • Friendly. Fire • Dueling. Upgrades • Futile. Stall • Starving. Writer © 2007 Multifacet Project 17 University of Wisconsin Madison
System • Conflict Detection: Eager – 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 18 University of Wisconsin Madison
Friendly. Fire CAUSE Requester Wins load A store A ABORT load A EFFECT(S) store A • Unnecessary Aborts load A ABORT FIX store A ABORT Priority Based Conflict Resolution ? load A ABORT © 2007 Multifacet Project • Livelock store A 19 University of Wisconsin Madison
Pathologies • Pathology (% Execution. Time) Raytrace Friendly Fire 73 0. 2 • Enhancement – Timestamp Based Conflict Resolution – Eliminate Friendly. Fire © 2007 Multifacet Project 20 University of Wisconsin Madison
Enhanced EL ( ) • Pathology (% Execution. Time) Friendly Fire 73 0. 2 Raytrace • Performance © 2007 Multifacet Project 21 University of Wisconsin Madison
Performance Pathologies • Starving. Elder • Serialized. Commit • Restart. Convoy • Friendly. Fire • Dueling. Upgrades • Futile. Stall • Starving. Writer © 2007 Multifacet Project 22 University of Wisconsin Madison
System • Conflict Detection: 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 Log. TM © 2007 Multifacet Project 23 University of Wisconsin Madison
Dueling. Upgrades CAUSE Conservative Deadlock Avoidance load A store A STALL EFFECT(S) load A • Unnecessary Stall store A • Unnecessary Abort ABORT FIX Acquire Store Permissions Early ? load A store A © 2007 Multifacet Project 24 University of Wisconsin Madison
Futile. Stall CAUSE Stall Requester load A store A EFFECT(S) STALL • Unnecessary Stall ABORT FIX No simple fix ? © 2007 Multifacet Project 25 University of Wisconsin Madison
Starving. Writer CAUSE Stall Requester store A EFFECT(S) load A • Starvation load A • Load Imbalance load A ≈ Reader/Writer Locks load A FIX Writer Priority ? © 2007 Multifacet Project 26 University of Wisconsin Madison
Pathologies • Pathology (% Execution. Time) Raytrace % Execution Time Aborts /Transaction Futile. Stall Dueling Upgrades Futile Stall Dueling Upgrades Starving Writer 1. 0 4. 6 4. 2 <0. 1 Starving Writer 0. 3 <0. 1 • Enhancements – Dueling. Upgrades: Store-Set Predictor – Starving. Writer: Writer Aborts Readers immediately © 2007 Multifacet Project 27 University of Wisconsin Madison
Enhanced EE ( ) • Pathology (% Execution. Time) Raytrace % Execution Time Aborts /Transaction Futile. Stall Dueling Upgrades Futile Stall Dueling Upgrades 1. 0 Starving Writer 4. 6 4. 2 <0. 1 Starving Writer 0. 3 <0. 1 • Performance © 2007 Multifacet Project 28 University of Wisconsin Madison
Caveats / Future. Work Restart Convoy Mp 3 d 21 Starving Elder Serialized Restart Commit Convoy 36 30 9. 0 Starving Elder Serialized Commit 28 25 • High Contention Scenarios – Better Conflict Resolution – Unidentified Pathologies • Better TM Workloads © 2007 Multifacet Project 29 University of Wisconsin Madison
Executive Summary Livelock • Performance Pathologies • Enhanced HTM systems © 2007 Multifacet Project 30 University of Wisconsin Madison
Futile. Stall Dueling. Upgrades Friendly. Fire Restart. Convoy Starving. Writer Starving. Elder Serialized. Commit © 2007 Multifacet Project 31 University of Wisconsin Madison
- Slides: 31