Automatic Mutual Exclusion
Michael Isard and Andrew Birrell
Proc. Workshop on Hot Topics in Operating Systems (2007)
Abstract
We propose a new concurrent programming model, Automatic
Mutual Exclusion (AME). In contrast to lock-based programming,
and to other programming models built over software transactional
memory (STM), we arrange that all shared state is implicitly
protected unless the programmer explicitly specifies otherwise. An
AME program is composed from serializable atomic fragments. We
include features allowing the programmer to delimit and manage the
fragments to achieve appropriate program structure and performance.
We explain how I/O activity and legacy code can be incorporated
within an AME program. Finally, we outline ways in which future
work might expand on these ideas. The resulting programming model
makes it easier to write correct code than incorrect code. It favors
correctness over performance for simple programs, while allowing
advanced programmers the expressivity they need.
Click here for a pdf
version
Back to
Michael Isard's home page