A Fast and General Software Solution to Mutual Exclusion on Uniprocessors
David Mosberger, Peter Druschel, Larry Peterson · 2005
This paper presents a technique to solve the mutual exclusion problem for uniprocessors purely in software. The idea is to execute atomic sequences without any hardware protection and, in the rare case that the atomic sequence is interrupted, to rollforward to the end of the sequence. The main contribution of this paper is to discuss the OS-related issues of this technique and to demonstrate its practicality, both in terms of flexibility and performance. It proposes a purely software-based technique that achieves mutual exclusion without any memory-accesses. Experiments show that this technique has the potential to outperform equivalent hardware mechanisms. June 24, 1994 Department of Computer Science The University of Arizona Tucson, AZ 85721 1 This work supported in part by ARPA Contract DABT63-91-C-0030, by Digital Equipment Corporation, and Hewlett-Packard. 1 Introduction Atomic sequences---a sequence of instructions that needs to execute without interference---are fundamental ...