Pathological Interaction of Locks with Transactional Memory

File(s)
Date
2008Author
Volos, Haris
Goyal, Neelam
Swift, Michael M.
Publisher
University of Wisconsin-Madison Department of Computer Sciences
Metadata
Show full item recordAbstract
Transactional memory (TM) promises to simplify multithreaded
programming. Transactions provide mutual exclusion without the
possibility of deadlock and the need to assign locks to data
structures. To date, most investigations of transactional memory have
looked at purely transactional systems that do not interact with
legacy code using locks. Unfortunately, the reality of software
engineering is that such interaction is likely.
We investigate the interaction of transactional memory implementations
and lock-based code. We identify and discuss five pathologies that
arise with different systems when a lock is accessed both within and
outside a transaction: Blocking, Deadlock, Livelock, Early Release,
and Invisible Locking. To address these pathologies we designed and
implemented transaction-safe locks (TxLocks) by modifying the existing
lock implementation of the OpenSolaris C Library and extending the
conflict resolution policy of a hardware transactional memory system.
Permanent Link
http://digital.library.wisc.edu/1793/60626Type
Technical Report
Citation
TR1631
