An efficient meta-lock for implementing ubiquitous synchronization
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Analysis of optimal thread pool size
ACM SIGOPS Operating Systems Review
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
new Scala() instance of Java: a comparison of the memory behaviour of Java and Scala programs
Proceedings of the 2012 international symposium on Memory Management
Hi-index | 0.00 |
Programs written in concurrent object-oriented languages,especially ones that employ threadsafe reusable class libraries,can execute synchronization operations (lock, notify, etc.) at anamazing rate. Unless implemented with utmost care, synchronizationcan become a performance bottleneck. Furthermore, in languageswhere every object may have its own monitor, per-object spaceoverhead must be minimized. To address these concerns, we havedeveloped a meta-lock to mediate access to synchronization data.The meta-lock is fast (lock + unlock executes in 11SPARCTM instructions), compact (uses only two bits ofspace), robust under contention (no busy-waiting), and flexible(supports a variety of higher-level synchronization operations). Wehave validated the meta-lock with an implementation of thesynchronization operations in a high-performance product-qualityJavaTM virtual machine and report performance data forseveral large programs.