2006 · 72 citations · 34 references
ComputingComputer ScienceCompilersOperating SystemsProgramming LanguagesConcurrency AnalysisConcurrency ControlConcurrent ProgrammingInterprocess CommunicationProcess CoordinationSynchronization PrimitivesAtomicity ViolationsCompiler SupportContention AnalysisContention ManagementInter-process CommunicationOptimistic LockingSource-to-source TranslationTransactions
We present an implementation and evaluation of atomicity (also known as software transactions) for a dialect of Java. Our implementation is fundamentally different from prior work in three respects: (1) It is entirely a source-to-source translation, producing Java source code that can be compiled by any Java compiler and run on any Java Virtual Machine. (2) It can enforce "strong" atomicity without assuming special hardware or a uniprocessor. (3) The implementation uses locks rather than optimistic concurrency, but it cannot deadlock and requires inter-thread communication only when there is data contention.
34
Willem Visser, Klaus Havelund, Guillaume Brat et al. · Automated Software Engineering · 2003 · 1.4K citations
Nir Shavit, Dan Touitou · 1995 · 1.2K citations · Full text
Software transactional memory for dynamic-sized data structures
Maurice Herlihy, Victor Luchangco, Mark Moir et al. · 2003 · 999 citations
Jeremy Manson, William Pugh, Sarita V. Adve · 2005 · 732 citations · Full text
Composable memory transactions
Tim Harris, Simon Marlow, Simon Peyton-Jones et al. · 2005 · 716 citations