An efficient meta-lock for implementing ubiquitous synchronization

Citation
O. Agesen et al., An efficient meta-lock for implementing ubiquitous synchronization, ACM SIGPL N, 34(10), 1999, pp. 207-222
Citations number
31
Categorie Soggetti
Computer Science & Engineering
Journal title
ACM SIGPLAN NOTICES
ISSN journal
15232867 → ACNP
Volume
34
Issue
10
Year of publication
1999
Pages
207 - 222
Database
ISI
SICI code
1523-2867(199910)34:10<207:AEMFIU>2.0.ZU;2-J
Abstract
Programs written in concurrent object-oriented languages, especially ones t hat employ thread-safe reusable class libraries, can execute synchronizatio n operations (lock, notify, etc.) at an amazing rate. Unless implemented wi th utmost care, synchronization can become a performance bottleneck. Furthe rmore, in languages where every object may have its own monitor, per-object space overhead must be minimized. To address these concerns, we have devel oped a meta-lock to mediate access to synchronization data. The meta-lock i s fast (lock + unlock executes in 11 SPARC(TM) architecture instructions), compact (uses only two bits of space), robust under contention (no busy-wai ting), and flexible (supports a variety of higher-level synchronization ope rations). We have validated the meta-lock with an implementation of the syn chronization operations in a high-performance product-quality Java(TM) virt ual machine and report performance data for several large programs.