ACM Home Page
Please provide us with feedback. Feedback
Performance issues in non-blocking synchronization on shared-memory multiprocessors
Full text PdfPdf (888 KB)
Source Annual ACM Symposium on Principles of Distributed Computing archive
Proceedings of the eleventh annual ACM symposium on Principles of distributed computing table of contents
Vancouver, British Columbia, Canada
Pages: 125 - 134  
Year of Publication: 1992
ISBN:0-89791-495-3
Authors
Juan Alemany  Department of Computer Science and Engineering, University of Washington, Seattle, WA
Edward W. Felten  Department of Computer Science and Engineering, University of Washington, Seattle, WA
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): 3,   Downloads (12 Months): 40,   Citation Count: 20
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/135419.135446
What is a DOI?

ABSTRACT

This paper considers the implementation of non-blocking concurrent objects on shared-memory multiprocessors. Real multiprocessors have properties not present in theoretical models; these properties can be exploited to design non-blocking protocols that are more efficient in practice than those allowed by theoretical models. These new protocols rely on the operating system to take action when a thread of control is delayed during its non-blocking update. We illustrate the effectiveness of this approach by presenting two protocols that address factors hindering the performance of Herlihy's standard non-blocking protocol [Herlihy 90, Herlihy 91a]. These factors are: resources wasted by attempted non-blocking operations that fail, and the cost of data copying. We demonstrate the importance of these factors experimentally, and show how they can be reduced using protocols that rely on operating system support. To reduce the overhead of failing non-blocking operations, our first protocol maintains information about the utilization of the shared object; experiments show that this protocol performs better than the known alternatives. To reduce the cost of data copying, we introduce a second, optimistic protocol that avoids copying, except in the case when a thread of control is delayed during its attempted update.


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.

 
Anderson 90
Anderson et al. 92
 
Beeck & LaMarca 91
L. Beeck and A. LaMarca. A comparison of blocking and nonblocking synchronization. Class Project Report, Department of Computer Science and Engineering, University of Washington., 1991.
 
Bershad 91a
B. N. Bershad. Mutual exclusion for uniprocessors. Technical Report CMU-CS- 91-116, Carnegie Mellon University, 1991.
 
Bershad 91b
B. N. Bershad. Practical considerations for lock-free concurrent objects. Technical Report CMU-CS-91-183, Carnegie Mellon University, 1991.
Herlihy 88
Herlihy 90
 
Herlihy 91a
M. Herlihy. A methodology for implementing highly concurrent data objects. Technical Report CRL 91/10, DEC Cambridge Research Lab, 1991.
Herlihy 91b
Lamport 77
Mellor-Crummey & Scott 91

CITED BY  20

Collaborative Colleagues:
Juan Alemany: colleagues
Edward W. Felten: colleagues