Affiliation:
1. IBM T.J. Watson Research Center
Abstract
Language-supported synchronization is a source of serious performance problems in many Java programs. Even single-threaded applications may spend up to half their time performing useless synchronization due to the thread-safe nature of the Java libraries. We solve this performance problem with a new algorithm that allows lock and unlock operations to be performed with only a few machine instructions in the most common cases. Our locks only require a partial word per object, and were implemented without increasing object size. We present measurements from our implementation in the JDK 1.1.2 for AIX, demonstrating speedups of up to a factor of 5 in micro-benchmarks and up to a factor of 1.7 in real programs.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
44 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Identification of Java lock contention anti-patterns based on run-time performance data;Proceedings of the 5th ACM/IEEE International Conference on Automation of Software Test (AST 2024);2024-04-15
2. Deterministic Futexes: Addressing WCET and Bounded Interference Concerns;2019 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS);2019-04
3. Real-time multiprocessor locks with nesting: optimizing the common case;Real-Time Systems;2019-03-13
4. Transactional Sapphire;ACM Transactions on Programming Languages and Systems;2018-12-31
5. Restructuring AMS to reduce synchronization overheads on android system;Cluster Computing;2018-03-26