International Parallel and Distributed Processing Symposium (IPDPS'03) Selective Optimization of Locks by Runtime Statistics and Just-in-Time Compilation Nice, France April 22-April 26 ISBN: 0-7695-1926-1
In server-side Java, system routines of a JVM are invoked frequently from various locations in Java byte-code. Thus in order to achieve high performance, it is necessary to do system-level optimization that is adaptive to each invocation site in bytecode. In this paper, we propose a method called SSJIT. SSJIT detects bottlenecks of a system using runtime statistics. Then it JIT-compiles the methods containing system-routine invocations related to the bottlenecks and optimizes each invocation. In this paper, we target a contention problem of mutex locks, which degrades throughput or fairness of a server. SSJIT detects contended locks by runtime statistics, and then invokes a JIT compiler. The compiler inline-expands the lock code that is modified to delay pre-emption during the critical section, which obviates contention. We evaluated SSJIT by measuring throughput, fairness, and reduced overhead compared with existing lock protocols.
Index Terms:
Java, JVM, runtime optimization, runtime statistics, mutex lock
Citation:
Ray Odaira, Kei Hiraki, "Selective Optimization of Locks by Runtime Statistics and Just-in-Time Compilation," ipdps, pp.135a, International Parallel and Distributed Processing Symposium (IPDPS'03), 2003 Usage of this product signifies your acceptance of the Terms of Use. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||