ACM Home Page
Please provide us with feedback. Feedback
Non-blocking timeout in scalable queue-based spin locks
Full text PdfPdf (999 KB)
Source Annual ACM Symposium on Principles of Distributed Computing archive
Proceedings of the twenty-first annual symposium on Principles of distributed computing table of contents
Monterey, California
SESSION: Session 1 table of contents
Pages: 31 - 40  
Year of Publication: 2002
ISBN:1-58113-485-1
Author
Michael L. Scott  University of Rochester, Rochester, NY
Sponsors
SIGOPS: ACM Special Interest Group on Operating Systems
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 39,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/571825.571830
What is a DOI?

ABSTRACT

Queue-based spin locks allow programs with busy-wait synchronization to scale to very large multiprocessors, without fear of starvation or performance-destroying contention. Timeout-capable spin locks allow a thread to abandon its attempt to acquire a lock; they are used widely in real-time systems to avoid overshooting a deadline, and in database systems to recover from transaction deadlock and to tolerate preemption of the thread that holds a lock.In previous work we showed how to incorporate timeout in scalable queue-based locks. Technological trends suggest that this combination will be of increasing commercial importance. Our previous solutions, however, require a thread that is timing out to handshake with its neighbors in the queue, a requirement that may lead to indefinite delay in a preemptively multiprogrammed system.In the current paper we present new queue-based locks in which the timeout code is non-blocking. These locks sacrifice the constant worst-case space per thread of our previous algorithms, but allow us to bound the time that a thread may be delayed by preemption of its peers. We present empirical results indicating that space needs are modest in practice, and that performance scales well to large machines. We also conjecture that constant per-thread space cannot be guaranteed together with non-blocking timeout in a queue-based lock.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
3
 
4
 
5
T. S. Craig. Building FIFO and priority-queueing spin locks from atomic swap. Technical Report TR 93-02-02, Department of Computer Science, University of Washington, Feb. 1993.
 
6
J. Edler, J. Lipkis, and E. Schonberg. Process management for highly parallel UNIX systems. In USENIX Workshop on Unix and Supercomputers, pages 1-17, Pittsburgh, PA, Sep. 1988.
 
7
 
8
M. Herlihy. Personal communication, Oct. 2001.
9
10
11
12
 
13
V. Luchangco. Personal communication, Jan. 2002.
 
14
15
16
 
17
J. K. Ousterhout. Scheduling techniques for concurrent systems. In 3rd Intl. Conf. on Distributed Computing Systems, pages 22-30, Miami/Ft. Lauderdale, FL, Oct. 1982.
 
18
19
 
20