TRAMP Workshop Some Challenges Facing Transactional Memory Craig Zilles and Lee Baugh University of Illinois at Urbana-Champaign.

Slides:



Advertisements
Similar presentations
Declarative Programming Languages for Multicore Architecures Workshop 15 January 2006.
Advertisements

Inferring Locks for Atomic Sections Cornell University (summer intern at Microsoft Research) Microsoft Research Sigmund CheremTrishul ChilimbiSumit Gulwani.
Software Re-engineering
Safe Open-Nested Transactions Jim Sukha MIT CSAIL Supercomputing Technologies Group Kunal Agrawal, I-Ting Angelina Lee, Bradley C. Kuszmaul, Charles E.
Transactional Memory Challenges: Workloads, Execution Model, and Implementation Colin Blundell & Milo M. K. Martin University of Pennsylvania {blundell,
Transactional Memory Parag Dixit Bruno Vavala Computer Architecture Course, 2012.
The many faces of TM Tim Harris. Granularity Distributed, large-scale atomic actions Composable shared memory data structures Leaf shared memory data.
Performance Tuning ECEN5043 Software Engineering of Multi-Program Systems University of Colorado.
Enabling Speculative Parallelization via Merge Semantics in STMs Kaushik Ravichandran Santosh Pande College.
ILP: IntroductionCSCE430/830 Instruction-level parallelism: Introduction CSCE430/830 Computer Architecture Lecturer: Prof. Hong Jiang Courtesy of Yifeng.
Alias Speculation using Atomic Regions (To appear at ASPLOS 2013) Wonsun Ahn*, Yuelu Duan, Josep Torrellas University of Illinois at Urbana Champaign.
OSDI ’10 Research Visions 3 October Epoch parallelism: One execution is not enough Jessica Ouyang, Kaushik Veeraraghavan, Dongyoon Lee, Peter Chen,
Transactional Memory Supporting Large Transactions Anvesh Komuravelli Abe Othman Kanat Tangwongsan Hardware-based.
Department of Computer Science iGPU: Exception Support and Speculative Execution on GPUs Jaikrishnan Menon, Marc de Kruijf Karthikeyan Sankaralingam Vertical.
Evaluating Database-Oriented Replication Schemes in Software Transacional Memory Systems Roberto Palmieri Francesco Quaglia (La Sapienza, University of.
Pessimistic Software Lock-Elision Nir Shavit (Joint work with Yehuda Afek Alexander Matveev)
Enabling Thread Level Speculation via A Transactional Memory System Richard M. YooGeorgia Tech Hsien-Hsin Sean LeeGeorgia Tech Helper Transactions In Workshop.
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.
TOWARDS A SOFTWARE TRANSACTIONAL MEMORY FOR GRAPHICS PROCESSORS Daniel Cederman, Philippas Tsigas and Muhammad Tayyab Chaudhry.
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.
1 Lecture 7: Transactional Memory Intro Topics: introduction to transactional memory, “lazy” implementation.
1 Lecture 23: Transactional Memory Topics: consistency model recap, introduction to transactional memory.
TxLinux: Using and Managing Hardware Transactional Memory in an Operating System Christopher J. Rossbach, Owen S. Hofmann, Donald E. Porter, Hany E. Ramadan,
1 New Architectures Need New Languages A triumph of optimism over experience! Ian Watson 3 rd July 2009.
Department of Computer Science Presenters Dennis Gove Matthew Marzilli The ATOMO ∑ Transactional Programming Language.
XCalls: Safe I/O in Memory Transactions Haris Volos, Andres Jaan Tack, Neelam Goyal +, Michael Swift, Adam Welc § University of Wisconsin - Madison + §
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.
Software Reengineering 2003 년 12 월 2 일 최창익, 고광 원.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Accelerating Precise Race Detection Using Commercially-Available Hardware Transactional Memory Support Serdar Tasiran Koc University, Istanbul, Turkey.
1 Parallelizing FPGA Placement with TMSteffan Parallelizing FPGA Placement with Transactional Memory Steven Birk*, Greg Steffan**, and Jason Anderson**
Synchronization Transformations for Parallel Computing Pedro Diniz and Martin Rinard Department of Computer Science University of California, Santa Barbara.
Chapter 5: Software Re-Engineering Omar Meqdadi SE 3860 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
CS510 Concurrent Systems Why the Grass May Not Be Greener on the Other Side: A Comparison of Locking and Transactional Memory.
Solving Difficult HTM Problems Without Difficult Hardware Owen Hofmann, Donald Porter, Hany Ramadan, Christopher Rossbach, and Emmett Witchel University.
CS757 Lock Behaviour Characterization of Commercial Workloads Jichuan Chang Xidong Wang.
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.
ECE 1747: Parallel Programming Short Introduction to Transactions and Transactional Memory (a.k.a. Speculative Synchronization)
Gargamel: A Conflict-Aware Contention Resolution Policy for STM Pierpaolo Cincilla, Marc Shapiro, Sébastien Monnet.
Adaptive Software Lock Elision
Lecture 20: Consistency Models, TM
Deterministic Communication with SpaceWire
Presented by: Daniel Taylor
Algorithmic Improvements for Fast Concurrent Cuckoo Hashing
Speculative Lock Elision
Minh, Trautmann, Chung, McDonald, Bronson, Casper, Kozyrakis, Olukotun
Transactional Memory : Hardware Proposals Overview
Why The Grass May Not Be Greener On The Other Side: A Comparison of Locking vs. Transactional Memory By McKenney, Michael, Triplett and Walpole.
Faster Data Structures in Transactional Memory using Three Paths
Automatic Detection of Extended Data-Race-Free Regions
Enforcing Isolation and Ordering in STM Systems
Changing thread semantics
Lecture: Consistency Models, TM
Lecture 6: Transactions
Lecture 21: Transactional Memory
Christopher J. Rossbach, Owen S. Hofmann, Donald E. Porter, Hany E
Lecture 22: Consistency Models, TM
Hybrid Transactional Memory
Deferred Runtime Pipelining for contentious multicore transactions
Lecture 23: Transactional Memory
Lecture 21: Transactional Memory
rePLay: A Hardware Framework for Dynamic Optimization
Lecture: Consistency Models, TM
Support for Adaptivity in ARMCI Using Migratable Objects
Lecture: Transactional Memory
Dynamic Performance Tuning of Word-Based Software Transactional Memory
Controlled Interleaving for Transactions
Presentation transcript:

TRAMP Workshop Some Challenges Facing Transactional Memory Craig Zilles and Lee Baugh University of Illinois at Urbana-Champaign

Craig ZillesTRAMP Workshop 2 Talk Outline Evaluating TM Workloads TM and Legacy code I/O Hardware TM building blocks

Craig ZillesTRAMP Workshop 3 Evaluating Transactional Memory Transactional Memory: Solves many of the problems with locks Programmer (no synch. var, composition, …) Performance (fine-grain, optimistic exec) But has problems Creates some new problems (side-effects) Lots of open issues (semantics, implementation) Will require significant software effort to deliver Will it be worth it?

Craig ZillesTRAMP Workshop 4 Evaluating Transactional Memory Transactional Memory: Solves many of the problems with locks Programmer (no synch. var, composition, …) Performance (fine-grain, optimistic exec) But has problems Creates some new problems (side-effects) Lots of open issues (semantics, implementation) Will require significant software effort to deliver Will it be worth it? Most of the existing evaluation has focused on

Craig ZillesTRAMP Workshop 5 Much easier ways of getting perf. benefits Speculative Lock Elision (SLE) Fine-grain, optimistic exec. of critical sections Performance as good as any HTM Limitations: Bounded storage size, no I/O Fall back on lock acquire Straight-forward implementation: Already commercially shipping (Azul) No re-writing software necessary

Craig ZillesTRAMP Workshop 6 Much easier ways of getting perf. benefits Speculative Lock Elision (SLE) Fine-grain, optimistic exec. of critical sections Performance as good as any HTM Limitations: Bounded storage size, no I/O Fall back on lock acquire Straight-forward implementation: Already commercially shipping (Azul) No re-writing software necessary Need to evaluate programmability benefits!

Craig ZillesTRAMP Workshop 7 Evaluating Programmability Write meaningful applications Study programmer productivity Involve software engineers We need some real data! Compare not just to locks. Also, compare to SLE-execution of locks

Craig ZillesTRAMP Workshop 8 Workloads The biggest short-term need in TM Need to anticipate how TM will actually be used Current workloads: Microbenchmarks (hash table, red-black tree) Splash, automatically transactified Neither are representative of how TM will be used If they are, we should just use SLE.

Craig ZillesTRAMP Workshop 9 Real TM workloads Composition a major motivation for TM Composition suggests larger transactions If TM enables/facilitates parallelization Good workloads = programs not previously parallelized

Craig ZillesTRAMP Workshop 10 Experiences from WTW Workshop on Transactional Memory Workloads Held in conjunction with PLDI 2006 Lessons learned: Lack of consensus about programming model Barrier to portable workloads Hard to find good TM workloads best WTW workload: transformations necessary for concurrency obviated the need for TM

Craig ZillesTRAMP Workshop 11 TM and Legacy Code Not all code will be re-written for TM Challenges to automatically converting code Peaceful co-existence of TM & locks? Naively, via scheduling Can we do better? Static analysis to determine when not necessary?

Craig ZillesTRAMP Workshop 12 TM and I/O Precluding I/O not realistic I/O often in critical sections in existing code Multiple proposed mechanisms to handle I/O Defer, go non-spec., open/pause + compensate Our data suggests no single approach dominates

Craig ZillesTRAMP Workshop 13 Hardware TM building blocks Hardware TM systems built out of: Checkpointing, isolated (speculative) execution, conflict detection, etc. These mechanisms have other uses, as well: SLE Making processors better compiler targets: Speculative optimizations w/o compensation code

Craig ZillesTRAMP Workshop 14 Using atomicity to simplify optimizations Generate speculative code, revert to original code if needed Perform speculative optimizations with non-speculative formulations VS.