performance pathologies in hardware transactional memory
Post on 01-Jan-2016
17 Views
Preview:
DESCRIPTION
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
© 2007 Multifacet Project University of Wisconsin Madison
• Multiple Hardware Transactional Memory Designs– Best Performance ?
• Depends !
Executive Summary (1/2)
0
0.5
1
1.5
2
2.5
Sp
eed
up
Norm
alized
to E
E
Cholesky Radiosity Raytrace
EE
EL
LL
EE_HP
EL_T
LL_B
Liv
elo
ck
© 2007 Multifacet Project University of Wisconsin Madison
0
0.5
1
1.5
2
2.5
Sp
eed
up
Norm
alized
to E
E
Cholesky Radiosity Raytrace
EE
EL
LL
EE_HP
EL_T
LL_B
Executive Summary (2/2)
• Why?
– Performance Pathologies
• What to do?– Better Conflict Resolution
Performance Pathologies Performance
Liv
elo
ck
pa●thol●o●gy: any deviation from a normal, healthy or efficient condition
© 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
HTM Design Space
Version ManagementVersion Management
Co
nflict D
etection
Co
nflict D
etection
Lazy Eager
Lazy
Eager
Herlihy/Moss TM
MIT LTM
Intel/Brown VTM
Stanford TCC
Illinois Bulk
MIT UTM
Wisconsin LogTM
No HTMs (yet)
Conflict ResolutionConflict Resolution: Adhoc
“Better By Design” ?
© 2007 Multifacet Project 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 University of Wisconsin Madison
And the winner is…
• Low Contention: Similar• High Contention: Depends
0
0.2
0.4
0.6
0.8
1
1.2S
peed
up
Norm
alized
to E
E
Cholesky Radiosity Raytrace
EE
EL
LL
Liv
elo
ck
© 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
© 2007 Multifacet Project University of Wisconsin Madison
System
• Conflict Detection: LazyDetect conflicts at commit time (Validation)
• Version Management: LazyNew value elsewhere, Update on commit
+ Abort
- Commit
• Conflict Resolution: Committer Wins
compare with TCC, Bulk
© 2007 Multifacet Project University of Wisconsin Madison
COMMITING
STALLED
ABORTING
CAUSE
Committer Wins
EFFECT(S)
• Starvation
• Load Imbalance
FIX
Elder gets Priority ?
StarvingElder
store A
load A
ABORT
store A
load A
ABORT
store A
load A
ABORT
Tim
e
© 2007 Multifacet Project University of Wisconsin Madison
SerializedCommit
CAUSE
Serial Validation
EFFECT(S)
• Unnecessary Stall
FIX
Parallel Validation ?
Tim
e
© 2007 Multifacet Project University of Wisconsin Madison
RestartConvoy
load A load A load A
CAUSE
Fast Abort +
Immediate Restart
EFFECT(S)
• Resource Contention
• Serialized Execution
≈ Lock Convoys
FIX
Stagger Restarts ?
load A load A load A
load A store A
ABORTABORTABORT
load A
load A load A load Astore A
ABORT ABORT ABORT
© 2007 Multifacet Project University of Wisconsin Madison
Pathologies
• Pathology (% ExecutionTime)
• Enhancement– Linear Backoff on Abort– Eliminate RestartConvoys
StarvingElder
Serialized Commit
Restart Convoy
StarvingElder
SerializedCommit
Restart Convoy
Raytrace 45 27 5.2 0.1 0.3 1.0
© 2007 Multifacet Project University of Wisconsin Madison
0
0.5
1
1.5
2
2.5
Raytrace
Sp
ee
du
p N
orm
ali
ze
d t
o E
E
LL
LL_B
Enhanced LL ( )
• Pathology (% ExecutionTime)
• Performance
StarvingElder
Serialized Commit
Restart Convoy
StarvingElder
SerializedCommit
Restart Convoy
Raytrace 45 27 5.2 0.1 0.3 1.0
© 2007 Multifacet Project University of Wisconsin Madison
Performance Pathologies
• StarvingElder• SerializedCommit• RestartConvoy
• FriendlyFire
• DuelingUpgrades• FutileStall• StarvingWriter
© 2007 Multifacet Project 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 University of Wisconsin Madison
FriendlyFire
load Astore A
load A
store A
ABORT
ABORT
load A
store A
load A
store A
ABORT
ABORT
ABORT
CAUSE
Requester Wins
EFFECT(S)
• Unnecessary Aborts
• Livelock
FIX
Priority Based Conflict Resolution ?
© 2007 Multifacet Project University of Wisconsin Madison
Pathologies
• Pathology (% ExecutionTime)
• Enhancement– Timestamp Based Conflict Resolution– Eliminate FriendlyFire
Friendly Fire
FriendlyFire
Raytrace 73 0.2
© 2007 Multifacet Project University of Wisconsin Madison
Enhanced EL ( )
• Pathology (% ExecutionTime)
• Performance
0
0.5
1
1.5
2
2.5
Raytrace
Sp
ee
du
p N
orm
ali
zed
to
EE
EL
EL_T
Friendly Fire
FriendlyFire
Raytrace 73 0.2
© 2007 Multifacet Project University of Wisconsin Madison
Performance Pathologies
• StarvingElder• SerializedCommit• RestartConvoy
• FriendlyFire
• DuelingUpgrades• FutileStall• StarvingWriter
© 2007 Multifacet Project 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 LogTM
© 2007 Multifacet Project University of Wisconsin Madison
DuelingUpgrades
load A
load Astore A
store A
load A
store A
STALL
ABORT
CAUSE
Conservative Deadlock Avoidance
EFFECT(S)
• Unnecessary Stall
• Unnecessary Abort
FIX
Acquire Store Permissions Early ?
© 2007 Multifacet Project University of Wisconsin Madison
FutileStall
store Aload A
ABORT
CAUSE
Stall Requester
EFFECT(S)
• Unnecessary Stall
FIX
No simple fix ?
STALL
© 2007 Multifacet Project University of Wisconsin Madison
StarvingWriter
store Aload A
load A
load Aload A
load A
CAUSE
Stall Requester
EFFECT(S)
• Starvation
• Load Imbalance
≈ Reader/Writer Locks
FIX
Writer Priority ?
© 2007 Multifacet Project University of Wisconsin Madison
Pathologies
• Pathology (% ExecutionTime)
• Enhancements– DuelingUpgrades: Store-Set Predictor– StarvingWriter: Writer Aborts Readers immediately
% Execution Time Aborts /Transaction
% Execution Time Aborts /Transaction
FutileStall StarvingWriter
Dueling Upgrades
Futile Stall
StarvingWriter
Dueling Upgrades
Raytrace 1.0 4.6 4.2 <0.1 0.3 <0.1
© 2007 Multifacet Project University of Wisconsin Madison
Enhanced EE ( )
• Pathology (% ExecutionTime)
• Performance
0
0.5
1
1.5
2
2.5
Raytrace
Sp
ee
du
p N
orm
ali
zed
to
EE
EE
EE_HP
% Execution Time Aborts /Transaction
% Execution Time Aborts /Transaction
FutileStall StarvingWriter
Dueling Upgrades
Futile Stall
StarvingWriter
Dueling Upgrades
Raytrace 1.0 4.6 4.2 <0.1 0.3 <0.1
© 2007 Multifacet Project University of Wisconsin Madison
Caveats / FutureWork
• High Contention Scenarios– Better Conflict Resolution– Unidentified Pathologies
• Better TM Workloads
Restart Convoy
StarvingElder
Serialized Commit
RestartConvoy
StarvingElder
SerializedCommit
Mp3d 21 36 30 9.0 28 25
© 2007 Multifacet Project University of Wisconsin Madison
0
0.5
1
1.5
2
2.5
Sp
eed
up
Norm
alized
to E
E
Cholesky Radiosity Raytrace
EEELLLEE_HPEL_TLL_B
Executive Summary
• Performance Pathologies• Enhanced HTM systems
Liv
elo
ck
top related