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...
Saved in:
Published in | 2008 International Symposium on Computer Architecture pp. 127 - 138 |
---|---|
Main Authors | , , , , |
Format | Conference Proceeding |
Language | English |
Published |
Washington, DC, USA
IEEE Computer Society
01.06.2008
IEEE |
Series | ACM Conferences |
Subjects |
Software and its engineering
> Software organization and properties
> Contextual software domains
> Operating systems
> Communications management
> Input
> output
|
Online Access | Get full text |
Cover
Loading…
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 |