Democratizing transactional programming

Control transactions without compromising their simplicity for the sake of expressiveness, application concurrency, or performance.

[1]  Rachid Guerraoui,et al.  Principles of Transactional Memory , 2010, Synthesis Lectures on Distributed Computing Theory.

[2]  Pascal Felber,et al.  Atomic Boxes: Coordinated Exception Handling with Transactional Memory , 2011, ECOOP.

[3]  Nancy A. Lynch,et al.  Multilevel atomicity—a new correctness criterion for database concurrency control , 1983, TODS.

[4]  Michael F. Spear,et al.  Toxic Transactions∗ , 2011 .

[5]  Barbara Liskov,et al.  Guardians and actions: linguistic support for robust, distributed programs , 1982, POPL '82.

[6]  GhemawatSanjay,et al.  The Google file system , 2003 .

[7]  Maurice Herlihy,et al.  Committing conflicting transactions in an STM , 2009, PPoPP '09.

[8]  Takeo Kanade,et al.  High Performance Embedded Architectures and Compilers , 2009, Lecture Notes in Computer Science.

[9]  Michel Raynal,et al.  A speculation‐friendly binary search tree , 2012, PPoPP '12.

[10]  Nir Shavit,et al.  Software transactional memory , 1995, PODC '95.

[11]  Pascal Felber,et al.  On the Input Acceptance of Transactional Memory , 2010, Parallel Process. Lett..

[12]  Maged M. Michael,et al.  Software Transactional Memory: Why Is It Only a Research Toy? , 2008, ACM Queue.

[13]  Colin J. Fidge,et al.  Integrating hardware and software information flow analyses , 2009, LCTES '09.

[14]  Andreas Reuter,et al.  Concurrency on high-traffic data elements , 1982, PODS.

[15]  Michael Hohmuth,et al.  Sane Semantics of Best-effort Hardware Transactional Memory , 2010 .

[16]  Michael B. Greenwald,et al.  Two-handed emulation: how to build non-blocking implementations of complex data-structures using DCAS , 2002, PODC '02.

[17]  Maurice Herlihy,et al.  A Lazy Concurrent List-Based Set Algorithm , 2005, OPODIS.

[18]  Jan Vitek,et al.  STMBench7: a benchmark for software transactional memory , 2007, EuroSys '07.

[19]  Timothy L. Harris,et al.  A Pragmatic Implementation of Non-blocking Linked-Lists , 2001, DISC.

[20]  J. Eliot B. Moss Open Nested Transactions: Semantics and Support , 2006 .

[21]  William N. Scherer,et al.  Advanced contention management for dynamic software transactional memory , 2005, PODC '05.

[22]  Maged M. Michael,et al.  High performance dynamic lock-free hash tables and list-based sets , 2002, SPAA '02.

[23]  Sean White,et al.  Hybrid NOrec: a case study in the effectiveness of best effort hardware transactional memory , 2011, ASPLOS XVI.

[24]  Andrew P. Black,et al.  The Eden System: A Technical Review , 1985, IEEE Transactions on Software Engineering.

[25]  Rachid Guerraoui,et al.  Nesting Actions through Asynchronous Message Passing: the ACS Protocol , 1992, ECOOP.

[26]  Torvald Riegel,et al.  A Lazy Snapshot Algorithm with Eager Validation , 2006, DISC.

[27]  Barbara Liskov,et al.  The Argus Language and System , 1984, Advanced Course: Distributed Systems.

[28]  Maurice Herlihy,et al.  Transactional Memory: Architectural Support For Lock-free Data Structures , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.

[29]  Rachid Guerraoui,et al.  Stretching transactional memory , 2009, PLDI '09.

[30]  Rachid Guerraoui,et al.  The Velox Transactional Memory Stack , 2010, IEEE Micro.

[31]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[32]  Nir Shavit,et al.  Transactional Locking II , 2006, DISC.

[33]  Patrick E. O'Neil,et al.  The Escrow transactional method , 1986, TODS.

[34]  Simon L. Peyton Jones,et al.  Composable memory transactions , 2005, CACM.

[35]  Leslie Lamport,et al.  Distributed Systems: Methods and Tools for Specification, An Advanced Course, April 3-12, 1984 and April 16-25, 1985, Munich, Germany , 1985, Advanced Course: Distributed Systems.

[36]  DiceDave,et al.  Early experience with a commercial hardware transactional memory implementation , 2009 .

[37]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[38]  Rachid Guerraoui,et al.  Why STM can be more than a research toy , 2011, Commun. ACM.

[39]  David Holmes,et al.  Java Concurrency in Practice , 2006 .

[40]  Bratin Saha,et al.  Open nesting in software transactional memory , 2007, PPOPP.

[41]  Christof Fetzer,et al.  Extensible transactional memory testbed , 2010, J. Parallel Distributed Comput..

[42]  Barbara Liskov,et al.  Guardians and Actions: Linguistic Support for Robust, Distributed Programs , 1983, TOPL.

[43]  Dan Grossman,et al.  Enforcing isolation and ordering in STM , 2007, PLDI '07.

[44]  Rachid Guerraoui,et al.  TM2C: a software transactional memory for many-cores , 2012, EuroSys '12.

[45]  Thomas F. Knight An architecture for mostly functional languages , 1986, LFP '86.

[46]  Mark Moir,et al.  Early experience with a commercial hardware transactional memory implementation , 2009, ASPLOS.

[47]  Maurice Herlihy,et al.  Software transactional memory for dynamic-sized data structures , 2003, PODC '03.

[48]  Maurice Herlihy,et al.  Transactional boosting: a methodology for highly-concurrent transactional objects , 2008, PPoPP.