TokenTM Efficient Execution of Large Transactions with Hardware Transactional Memory

Current hardware transactional memory systems seek to simplify parallel programming, but assume that large transactions are rare, so it is acceptable to penalize their performance or concurrency. However, future programmers may wish to use large transactions more often in order to integrate with hig...

Full description

Saved in:
Bibliographic Details
Published in2008 International Symposium on Computer Architecture pp. 127 - 138
Main Authors Bobba, Jayaram, Goyal, Neelam, Hill, Mark D., Swift, Michael M., Wood, David A.
Format Conference Proceeding
LanguageEnglish
Published Washington, DC, USA IEEE Computer Society 01.06.2008
IEEE
SeriesACM Conferences
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Current hardware transactional memory systems seek to simplify parallel programming, but assume that large transactions are rare, so it is acceptable to penalize their performance or concurrency. However, future programmers may wish to use large transactions more often in order to integrate with higher-level programming models (e.g., database transactions) or perform selected I/O operations. To prevent the "small transactions are common" assumption from becoming self-fulfilling, this paper contributes TokenTM—an unbounded HTM that uses the abstraction of tokens to precisely track conflicts on an unbounded number of memory blocks. TokenTM implements tokens with new mechanisms, including metastate fission/fusion and fast token release. TokenTM executes small transactions fast, executes concurrent large transactions with no penalty to nonconflicting transactions, and gracefully handles paging, context switching, and System-V-style shared memory.
ISBN:9780769531748
0769531741
ISSN:1063-6897
2575-713X
DOI:10.1109/ISCA.2008.24