Efficient Meta-lock for Implementing Ubiquitous Synchronization, An

Efficient Meta-lock for Implementing Ubiquitous Synchronization, An

Y.S. Ramakrishna, Alex Garthwaite, Ross Knippel, David Detlefs, Derek White, Ole Agesen

01 April 1999


Programs written in concurrent object-oriented languages, especially ones that employ threadsafe 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 SPARCTM 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 JavaTM virtual machine and report performance data for several large programs.


Venue : N/A

File Name : smli_tr-99-76.pdf