Language support for lightweight transactions
By T. Harris, Keir Fraser. Conference on Object-Oriented Programming Systems, Languages, and Applications, 2003
622 citations recorded by the source corpus.
Subfields: Computer Networks and Communications, Hardware and Architecture
View Paper: https://www.semanticscholar.org/paper/df13980520b892dabde28eb80fed810edb33e85f
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computer Networks and Communications
- Håkan Grahn
- T. Harris
- Maurice Herlihy
- Keir Fraser
- Christos Kozyrakis
- Nir Shavit
- Michael Lee Scott
- Chi Cao Minh
In Hardware and Architecture
- Håkan Grahn
- T. Harris
- Christos Kozyrakis
- Cormac Flanagan
- Keir Fraser
- Yuanyuan Zhou
- Maurice Herlihy
- Shan Lu
Citations in the corpus
- Practical lock-freedom (2003, background): “Together with Harris I have made some progress in this area: they discuss how transactions can be presented in the Java programming language by introducing the atomic f. . .g construction [ Harris03 ].”
- LogTM-SE: Decoupling Hardware Transactional Memory from Caches (2007, background): “While some TM systems operate completely in software (STMs) [12, 14, 27], this paper concentrates on those implemented with hardware support (HTMs).”
- Transactional Locking II (2006, methodology): “Current efficient STM implementations [18, 17, 5, 11] require closed memory systems as well as managed runtime environments capable of containing irregular effects.”
- Atomizer: a dynamic atomicity checker for multithreaded programs (2004, background): “A more recent approach to supporting atomicity uses lightweight transactions implemented in the run-time system [29].”
- Optimistic parallelism requires abstractions (2007, background): “There is growing interest in supporting transactions efficiently with software and hardware implementations of transactional memory [1, 12, 13, 21, 34].”
- Learning from mistakes: a comprehensive study on real world concurrency bug characteristics (2008, neutral): “Along this direction, transactional memory (TM) [1,2,15,16,25,26,27,36] is one of the popular trends.”
- The tao of parallelism in algorithms (2011, methodology): “Lock manipulation is performed entirely by the methods in the graph class; in addition, to enable rollback, each graph API method that modifies the graph makes a copy of the data before modification, as is done in other systems that use speculation such as transactional memory and thread-level specu”
- An effective hybrid transactional memory system with strong isolation guarantees (2007, methodology): “STM systems implement all bookkeeping in software using instrumentation code (read and write barriers) and software data structures [14, 22, 11, 15].”
- STAMP: Stanford Transactional Applications for Multi-Processing (2008, neutral): “There have been many proposed designs for TM systems based on hardware (HTM) [6, 16, 29], software (STM) [13, 17, 19, 27, 34], and hybrid hardware/software techniques [8, 12, 25, 33, 36, 39].”
- Composable memory transactions (2005, methodology): “Using transactional memory instead of locks brings well-known advantages: freedom from dead-lock and priority inversion, automatic roll-back on exceptions or timeouts, and freedom from the tension between lock granularity and concurrency.”
- Transactional memory (2010, background): “Word-Based Software Transactional Memory (WSTM) [84] is the first software transactional memory that was an integral part of an object-oriented programming language, in this case Java.”
- X10: an object-oriented approach to non-uniform cluster computing (2005, background): “X10 eschews monitors and locks, which are the main means of synchronization in Java, C#, and Titanium, in favor of atomic blocks [27].”
- Unbounded transactional memory (2005, background): “The “Oversized xaction,” “Biggest xaction,” and “Overflow %” columns show that some applications contain transactions whose footprints would overflow any reasonably-sized cache.”
- Dynamic performance tuning of word-based software transactional memory (2008, background): “Word-based TMs (e.g., [16, 3, 7]) access memory at the granularity of machine words or larger chunks of memory and keep TM metadata external (i.e., at other areas of main memory).”
- Concurrent programming without locks (2007, methodology): “…of these, most notably integrating transactional memories into managed runtime environments and investigating the programming language abstractions that can be provided as a consequence [Harris and Fraser 2003; Harris 2004; Welc et al. 2004; Ringenburg and Grossman 2005; Harris et al. 2005].”
- Advanced contention management for dynamic software transactional memory (2005, background): “The tradeoff between visible and invisible reads remains application-speci.c: visible reads reduce the overhead for incremental validation when opening new objects, but the requisite bookkeeping exacerbates contention for the memory interconnect.”
- Hybrid transactional memory (2006, background): “4.4 rand-array benchmark In this section, we report on our simulation studies, in which we used the simple rand-array microbenchmark to evaluate HyTM s ability to mix HTM and STM transactions, and to compare its performance in various con.gurations against standard lock-based approaches.”
- AVIO: detecting atomicity violations via access interleaving invariants (2006, positive): “Recently there is an emerging trend toward transactional memory programming model via hardware or software support [1, 13, 16, 18].”