Unbounded Transactional Memory
Top Cited Papers
- 1 April 2005
- proceedings article
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- Vol. ucrl 97663, 316-327
- https://doi.org/10.1109/hpca.2005.41
Abstract
Hardware transactional memory should supportun- bounded transactions: transactions of arbitrary size and duration. We describe a hardware implementation of un- bounded transactional memory, called UTM, which ex- ploits the common case for performance without sacri- ficing correctness on transactions whose footprint can be nearly as large as virtual memory. We performed a cycle- accurate simulation of a simplified architecture, called LTM. LTM is based on UTM but is easier to implement, because it does not change the memory subsystem outside of the processor. LTM allows nearly unbounded transac- tions, whose footprint is limited only by physical memory size and whose duration by the length of a timeslice. We assess UTM and LTM through microbenchmark- ing and by automatically converting the SPECjvm98 Java benchmarks and the Linux 2.4.19 kernel to use transac- tions instead of locks. We use both cycle-accurate simu- lation and instrumentation to understand benchmark be- havior. Our studies show that the common case is small transactions that commit, even when contention is high, but that some applications contain very large transac- tions. For example, although99.9% of transactions in the Linux study touch 54 cache lines or fewer, some transac- tions touch over 8000 cache lines. Our studies also indi- cate that hardware support is required, because some ap- plications spend over half their time in critical regions. Finally, they suggest that hardware support for transac- tions can make Java programs run faster than when run using locks and can increase the concurrency of the Linux kernel by as much as a factor of4 with no additional pro- gramming work.Keywords
This publication has 20 references indexed in Scilit:
- Language support for lightweight transactionsPublished by Association for Computing Machinery (ACM) ,2003
- Speculative synchronizationPublished by Association for Computing Machinery (ACM) ,2002
- The synergy between non-blocking synchronization and operating system structurePublished by Association for Computing Machinery (ACM) ,1996
- The Mips R10000 superscalar microprocessorIEEE Micro, 1996
- A methodology for implementing highly concurrent data objectsACM Transactions on Programming Languages and Systems, 1993
- Wait-free synchronizationACM Transactions on Programming Languages and Systems, 1991
- On optimistic methods for concurrency controlACM Transactions on Database Systems, 1981
- Concurrent reading and writingCommunications of the ACM, 1977
- EthernetCommunications of the ACM, 1976
- The Multics virtual memoryCommunications of the ACM, 1972