An efficient meta-lock for implementing ubiquitous synchronization

18Citations
Citations of this article
11Readers
Mendeley users who have this article in their library.

Abstract

Programs written in concurrent object-oriented languages, especially ones that employ thread-safe reusable class libraries, can execute synchronization operations (lock, notify, etc.) at an amazing rate. Unless implemented with utmost care, synchronization can become a performance bottleneck. Furthermore, in languages where every object may have its own monitor, per-object space overhead must be minimized. To address these concerns, we have developed a meta-lock to mediate access to synchronization data. The meta-lock is fast (lock + unlock executes in 11 SPARC™ architecture instructions), compact (uses only two bits of space), robust under contention (no busy-waiting), and flexible (supports a variety of higher-level synchronization operations). We have validated the meta-lock with an implementation of the synchronization operations in a high-performance product-quality Java™ virtual machine and report performance data for several large programs. © 1999 ACM.

Cite

CITATION STYLE

APA

Agesen, O., Detlefs, D., Garthwaite, A., Knippel, R., Ramakrishna, Y. S., & White, D. (1999). An efficient meta-lock for implementing ubiquitous synchronization. SIGPLAN Notices (ACM Special Interest Group on Programming Languages), 34(10), 207–222. https://doi.org/10.1145/320385.320402

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free