OS Support for Virtualizing Hardware Transactional Memory
Loading...
Files
Date
Authors
Swift, Michael M.
Volos, Haris
Goyal, Neelam
Yen, Luke
Hill, Mark D.
Wood, David A.
Advisors
License
DOI
Type
Technical Report
Journal Title
Journal ISSN
Volume Title
Publisher
University of Wisconsin-Madison Department of Computer Sciences
Grantor
Abstract
Transactional memory promises to simplify multithreaded
programming. Hardware TM (HTM) implementations promise better
performance by augmenting processors with transactional
state. However, HTMs interact poorly with the operating system or
virtual machine monitor. For example, they often do not tolerate OS
actions that virtualize processors and memory, such as context
switching and paging. Without support for these actions, an HTM may
not execute programs correctly or guarantee forward progress.
We investigate virtualizing transactional memory in the context of
LogTM-SE. First, we describe an implementation of a kernel module in
OpenSolaris that implements transactional virtualization and requires
only 1120 lines of code. Second, we find that LogTM-SE interacts
poorly with virtual machine monitors due to a reliance on physical
addresses. We propose an extension to LogTM-SE, called LogTM-VSE, that
addresses these problems and improves context-switching
performance. Third, through application tracing on real hardware and
full system simulation, we show virtualizing transactions can be
necessary for system stability and to support code that voluntarily
context switches. However, we find that aborting a transaction is
generally faster than virtualizing it, and hence preferable in some
cases.
Description
Keywords
Related Material and Data
Citation
TR1630