Automatic mutual exclusion

  • Authors:
  • Michael Isard;Andrew Birrell

  • Affiliations:
  • Microsoft Research, Silicon Valley;Microsoft Research, Silicon Valley

  • Venue:
  • HOTOS'07 Proceedings of the 11th USENIX workshop on Hot topics in operating systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

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.