SOFTWARE TRANSACTIONAL MEMORY

Citation
N. Shavit et D. Touitou, SOFTWARE TRANSACTIONAL MEMORY, Distributed computing, 10(2), 1997, pp. 99-116
Citations number
29
Categorie Soggetti
Controlo Theory & Cybernetics","Computer Science Theory & Methods
Journal title
ISSN journal
01782770
Volume
10
Issue
2
Year of publication
1997
Pages
99 - 116
Database
ISI
SICI code
0178-2770(1997)10:2<99:STM>2.0.ZU;2-D
Abstract
As we learn from the literature, flexibility in choosing synchronizati on operations greatly simplifies the task of designing highly concurre nt programs. Unfortunately, existing hardware is inflexible and is at best on the level of a Lond-Linked/Store-Conditional operation on a si ngle word. Building on the hardware based transactional synchronizatio n methodology of Herlihy and Moss, we offer software transactional mem ory (STM), a novel software method for supporting flexible transaction al programming of synchronization operations. STM is non-blocking, and can be implemented on existing machines using only a Load-Linked/Stor e-Conditional operation. We use STM to provide a general highly concur rent method for translating sequential object implementations to non-b locking ones based on implementing a k-word compare & swap STM-transac tion. Empirical evidence collected on simulated multiprocessor archite ctures shows that our method always outperforms the non-blocking trans lation methods in the style of Barnes, and outperforms Herlihy's trans lation method for sufficiently large numbers of processors. The key to the efficiency of our software-transactional approach is that unlike Barnes style methods, it is not based on a costly ''recursive helping' ' policy.