WG5: Applications & Performance Evaluation Pascal Felber

Slides:



Advertisements
Similar presentations
Copyright 2008 Sun Microsystems, Inc Better Expressiveness for HTM using Split Hardware Transactions Yossi Lev Brown University & Sun Microsystems Laboratories.
Advertisements

Transactional Memory Parag Dixit Bruno Vavala Computer Architecture Course, 2012.
Serializability in Multidatabases Ramon Lawrence Dept. of Computer Science
Impossibilities for Disjoint-Access Parallel Transactional Memory : Alessia Milani [Guerraoui & Kapalka, SPAA 08] [Attiya, Hillel & Milani, SPAA 09]
Transaction Management: Concurrency Control CS634 Class 17, Apr 7, 2014 Slides based on “Database Management Systems” 3 rd ed, Ramakrishnan and Gehrke.
Enabling Speculative Parallelization via Merge Semantics in STMs Kaushik Ravichandran Santosh Pande College.
Principles of Transaction Management. Outline Transaction concepts & protocols Performance impact of concurrency control Performance tuning.
1 CS 194: Elections, Exclusion and Transactions Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
IDIT KEIDAR DMITRI PERELMAN RUI FAN EuroTM 2011 Maintaining Multiple Versions in Software Transactional Memory 1.
Inherent limitations on DAP TMs 1 Inherent Limitations on Disjoint-Access Parallel Transactional Memory Hagit Attiya, Eshcar Hillel, Alessia Milani Technion.
Hybrid Transactional Memory Nir Shavit MIT and Tel-Aviv University Joint work with Alex Matveev (and describing the work of many in this summer school)
Transactional Memory (TM) Evan Jolley EE 6633 December 7, 2012.
We should define semantics for languages, not for TM Tim Harris (MSR Cambridge)
DMITRI PERELMAN IDIT KEIDAR TRANSACT 2010 SMV: Selective Multi-Versioning STM 1.
Idit Keidar and Dmitri Perelman Technion 1 SPAA 2009.
Elastic Transactions Pascal Felber Vincent Gramoli Rachid Guerraoui.
1 Johannes Schneider Transactional Memory: How to Perform Load Adaption in a Simple And Distributed Manner Johannes Schneider David Hasenfratz Roger Wattenhofer.
Formalisms and Verification for Transactional Memories Vasu Singh EPFL Switzerland.
Algorithmics for Software Transactional Memory Hagit Attiya Technion.
Graph Processing Recap: data-intensive cloud computing – Just database management on the cloud – But scaling it to thousands of nodes – Handling partial.
Elastic Transactions Unleashing Concurrency of Transactional Memory Pascal Felber Vincent Gramoli Rachid Guerraoui.
Persistent State Service 1 Distributed Object Transactions  Transaction principles  Concurrency control  The two-phase commit protocol  Services for.
TM Input Acceptance Vincent Gramoli, Derin Harmanci, Pascal Felber EPFL LPD - University of Neuchâtel Switzerland.
CS510 Concurrent Systems Class 13 Software Transactional Memory Should Not be Obstruction-Free.
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.
Tianzheng Wang Ryan Johnson Alan Fekete Ippokratis Pandis The Serial Safety Net: Efficient concurrency control on modern hardware 1.
Lecture 37: Chapter 7: Multiprocessors Today’s topic –Introduction to multiprocessors –Parallelism in software –Memory organization –Cache coherence 1.
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.
An Introduction to Software Transactional Memory
AN OPTIMISTIC CONCURRENCY CONTROL ALGORITHM FOR MOBILE AD-HOC NETWORK DATABASES Brendan Walker.
Automatic Data Partitioning in Software Transactional Memories Torvald Riegel, Christof Fetzer, Pascal Felber (TU Dresden, Germany / Uni Neuchatel, Switzerland)
Programming Paradigms for Concurrency Part 2: Transactional Memories Vasu Singh
Reduced Hardware NOrec: A Safe and Scalable Hybrid Transactional Memory Alexander Matveev Nir Shavit MIT.
School of Information Technologies Michael Cahill 1, Uwe Röhm and Alan Fekete School of IT, University of Sydney {mjc, roehm, Serializable.
CS5204 – Operating Systems Transactional Memory Part 2: Software-Based Approaches.
Consistent and Efficient Database Replication based on Group Communication Bettina Kemme School of Computer Science McGill University, Montreal.
A Consistency Framework for Iteration Operations in Concurrent Data Structures Yiannis Nikolakopoulos A. Gidenstam M. Papatriantafilou P. Tsigas Distributed.
This project and the research leading to these results has received funding from the European Community's Seventh Framework Programme [FP7/ ] under.
Low-Overhead Software Transactional Memory with Progress Guarantees and Strong Semantics Minjia Zhang, 1 Jipeng Huang, Man Cao, Michael D. Bond.
A Discipline of Multiprogramming: Programming Theory for Distributed Applications by Jayadev Misra Chapter 1, Mikhail Nesterenko.
Lecture 13 Advanced Transaction Models. 2 Protocols considered so far are suitable for types of transactions that arise in traditional business applications,
Transactions and Concurrency Control. Concurrent Accesses to an Object Multiple threads Atomic operations Thread communication Fairness.
CS510 Concurrent Systems Why the Grass May Not Be Greener on the Other Side: A Comparison of Locking and Transactional Memory.
Software Transactional Memory Should Not Be Obstruction-Free Robert Ennals Presented by Abdulai Sei.
Transaction Management Overview. Transactions Concurrent execution of user programs is essential for good DBMS performance. – Because disk accesses are.
On Transactional Memory, Spinlocks and Database Transactions Khai Q. Tran Spyros Blanas Jeffrey F. Naughton (University of Wisconsin Madison)
Concurrent Revisions: A deterministic concurrency model. Daan Leijen & Sebastian Burckhardt Microsoft Research (OOPSLA 2010, ESOP 2011)
Tools and Libraries for Manycore Computing Kathy Yelick U.C. Berkeley and LBNL.
Concurrency Control A database must provide a mechanism that will ensure that all possible schedules are either conflict or view serializable, and are.
Lecture 20: Consistency Models, TM
Semantic Concurrency Control for Real-Time Diagramming
Part 2: Software-Based Approaches
PHyTM: Persistent Hybrid Transactional Memory
Faster Data Structures in Transactional Memory using Three Paths
Challenges in Concurrent Computing
Transactions.
Concurrent Data Structures Concurrent Algorithms 2017
Omega: flexible, scalable schedulers for large compute clusters
A Qualitative Survey of Modern Software Transactional Memory Systems
Consistency Models.
Hybrid Transactional Memory
Distributed Transactions
Atomic Commit and Concurrency Control
Software Transactional Memory Should Not be Obstruction-Free
Transactions and Concurrency
Dynamic Performance Tuning of Word-Based Software Transactional Memory
Controlled Interleaving for Transactions
Concurrency control (OCC and MVCC)
Presentation transcript:

WG5: Applications & Performance Evaluation Pascal Felber

Goals of STM Simplify concurrent computing... (like sequential programming)...while providing good performance... (like fine-grained locking or custom concurrent algorithms)...and “usable” semantics... (e.g., progress)...for a wide range of applications Are these goals compatible?

Simplicity? (vs. semantics) Strong atomicity Weak atomicity Privatization Obstruction-free Blocking “Almost” wait-free Linearizable Serializable Disjoint-access-parallel Open nesting Closed nesting Opaque Publication Boosting Snapshot isolation

Performance? (vs. semantics) Performance: what metrics? Throughput vs. scalability vs. #aborts? Progress? Fairness? Also depends on semantics Weaker semantics make TM faster... (less guarantees to provide)...but make programming harder (make sure application remains correct)

Performance? (vs. semantics)

Applications? TM is not good for all applications There should be some conflicts... (otherwise no synchronization necessary)...but not too many... (otherwise pessimistic CC is better)...with not-too-long transactions... (to keep the cost of aborts reasonable)...involving data not known statically (otherwise no simpler than locks)

Workload properties Transaction length, number of atomic blocks and call frequency, read-only vs. update,...

1: Snapshot isolation Widely used in DBs Read from initial snapshot, commit if no write-write conflict In TM, performance gain negligible, higher programming complexity Must add writes to force conflicts Bottom line: SI not (very) useful for TMs, bad for programmer

2: Serializability More concurrency, sufficiently strong for the programmer Must keep track of conflict graph Runtime overhead, little benefits (higher C-A ratio, lower throughput!) Useful only if aborts are costly (e.g., ms+ transactions) Right workload for TM? Bottom line: not very useful for TMs

3. CM Many CM proposed in the literature Kill self/other, older, shorter, nearer to completion,..., or wait Differ in terms of complexity and (progress) guarantees Performance of CM depends on the types of conflicts in the workload

3. CM Fairness between different types of transactions often degrades “raw throughput” (right metrics?) Any clear winner? [Scherer,Scott] Bottom line: unless fairness required, use simple all-around CM

4. Early release & elastic Early release tells TM that memory location will not be accessed anymore Not trivial to use (2PL) Elastic transactions can be cut at runtime into sub-transactions Must tag elastic transactions Bottom line: better performance, less conflicts, but harder to use

Which semantics? Keep it simple (for the programmer) E.g., snapshot isolation, causal serializability hard to reason about E.g., SGLA: familiar to developer, simple operational semantics Weak is fine if well specified, easy to use, and noticeable performance gain What is dis-/allowed by a specific model

What performance? Even more than simplicity of use, good performance is necessary for wide adoption of STMs Need HTM or HyTM? Performance measured in terms of Scalability (exploit many cores) Speedup over sequential

Scalable ≠ fast

Wrapping up Balance between simple semantics and efficient implementation Adoption: standardization, (multiple) language support, HW support? There is no one-size-fits-all TM Effectiveness depends on workload Often: simple+scalable but slow Still looking for good TM applications!