Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Karlsruhe Parallel 2014

Presentation for Transact 13
by

Maurice Herlihy

on 20 June 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Karlsruhe Parallel 2014

Contribution
Lockelision
Benchmarks
Results
What's
Different?
Lock Elision
Contribution
Design
Space
Energy
Energy-Delay Product
Delay
Snoops transactional bus traffic,
detects and resolves conflicts
Sleep that knits up
the ravell’d sleave of care
Lock Elision
Contention Management
Lock Removal
Contention Management
EDP: Speculation vs Locks
Memcached
EDP: Speculation vs Locks
Today’s Embedded Devices
No Complex HW or SW
Designs must be Simple
No Software Transactional Memory!
Hardware Transactional Memory
Try critical section speculatively.
If it succeeds, we're done...
If it fails, roll back and lock.
Try critical section speculatively.
If it succeeds, we're done...
If it fails, use priority to pick a winner
Cycle-accurate simulator with a power model
Sleep mode increases delay, reduces energy
Mostly improves EDP
Lesson: EDP suffers if you abort transactions eagerly
How Many Times to Retry Speculation?
One or two times is best
high contention: once
low contention: more
Persistence does not pay off
get() conflicts on stats_lock
set() speculation usually wins
Timestamp more effective than priority
Although it requires more complex HW
Thank You!
Added HTM
Data Structures
Transactional
Memory

2014
not scalable
hard to get right
code in block
executed atomically
what's the catch?
relies on conventions
locking does not compose
"transactional memory"
"multicore processor"
Embedded
Systems
1993
Where are we?
Works on legacy code
Built-in fallback if transactions fail
Full transcript