FASTM: A log-based hardware transactional memory with fast abort recovery
M Lupon, G Magklis, A González - 2009 18th International …, 2009 - ieeexplore.ieee.org
M Lupon, G Magklis, A González
2009 18th International Conference on Parallel Architectures and …, 2009•ieeexplore.ieee.orgVersion management, one of the key design dimensions of hardware transactional memory
(HTM) systems, defines where and how transactional modifications are stored. Current HTM
systems use either eager or lazy version management. Eager systems that keep new values
in-place while they hold old values in a software log, suffer long delays when aborts are
frequent because the pre-transactional state is recovered by software. Lazy systems that
buffer new values in specialized hardware offer complex and inefficient solutions to handle …
(HTM) systems, defines where and how transactional modifications are stored. Current HTM
systems use either eager or lazy version management. Eager systems that keep new values
in-place while they hold old values in a software log, suffer long delays when aborts are
frequent because the pre-transactional state is recovered by software. Lazy systems that
buffer new values in specialized hardware offer complex and inefficient solutions to handle …
Version management, one of the key design dimensions of hardware transactional memory (HTM) systems, defines where and how transactional modifications are stored. Current HTM systems use either eager or lazy version management. Eager systems that keep new values in-place while they hold old values in a software log, suffer long delays when aborts are frequent because the pre-transactional state is recovered by software. Lazy systems that buffer new values in specialized hardware offer complex and inefficient solutions to handle hardware overflows, which are common in applications with coarse-grain transactions. In this paper, we present FASTM, an eager log-based HTM that takes advantage of the processorpsilas cache hierarchy to provide fast abort recovery. FASTM uses a novel coherence protocol to buffer the transactional modifications in the first level cache and to keep the non-speculative values in the higher levels of the memory hierarchy. This mechanism allows fast abort recovery of transactions that do not overflow the first level cache resources. Contrary to lazy HTM systems, committing transactions do not have to perform any actions in order to make their results visible to the rest of the system. FASTM keeps the pre-transactional state in a software-managed log as well, which permits the eviction of speculative values and enables transparent execution even in the case of cache overflow. This approach simplifies eviction policies without degrading performance, because it only falls back to a software abort recovery for transactions whose modified state has overflowed the cache. Simulation results show that FASTM achieves a speed-up of 43% compared to LogTM-SE, improving the scalability of applications with coarse-grain transactions and obtaining similar performance to an ideal eager HTM with zero-cost abort recovery.
ieeexplore.ieee.org