Language support for lightweight transactions
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
Nonblocking transactions without indirection using alert-on-update
Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures
NZTM: nonblocking zero-indirection transactional memory
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
Fundamenta Informaticae - Dependently Typed Programming
Hi-index | 0.00 |
Foundational transactional memory research grew out of research into nonblocking concurrent data structures, which aim to overcome the many well-known software engineering, performance, and robustness problems associated with lock-based implementations. Recently, many researchers have developed blocking STMs, recognising that they are much easier to design and that the software engineering benefits of STM can be delivered even by a blocking STM. But hiding blocking from the application programmer does not eliminate all of its disadvantages, and in some cases blocking is unacceptable, for example if STM is to be used to coordinate between an interrupt handler and the interrupted thread. Recently, a common belief has emerged that blocking STMs are fundamentally faster than nonblocking ones largely based on Ennals's argument [2] that nonblocking STMs cannot store datain-place as most blocking STMs do. However, this argument is based only on intuition, not a formal proof. It misses the possibility of nonblocking STM designs that closely mimic blocking STMs in the common case, resorting to techniques such as displacing transactional data only when needed to avoid waiting for a thread that is delayed while modifying it. We present a novel nonblocking word-based STM based on this approach. Our STM eliminates several significant sources of common-case overhead in the previous best nonblocking word based STM, and also performs comparably with the simple blocking STM on which it is based.