Title :
Selective optimization of locks by runtime statistics and just-in-time compilation
Author :
Odaira, Ray ; Hiraki, Kei
Author_Institution :
Univ. of Tokyo, Japan
Abstract :
In server-side Java, system routines of a JVM are invoked frequently from various locations in Java bytecode. 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 (System-level dynamic optimization using runtime Statistics and a JIT compiler). 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 preemption during the critical section, which obviates contention. We evaluated SSJIT by measuring throughput, fairness, and reduced overhead compared with existing lock protocols.
Keywords :
Java; program compilers; protocols; Java bytecode; Java virtual machines; SSKT; fairness; invocation site; just-in-time compilation; lock protocols; runtime statistics; selective optimization; server-side Java; system-level optimization; system-routine invocations; throughput; Degradation; Delay; Instruments; Java; Libraries; Optimizing compilers; Runtime; Statistics; Throughput; Yarn;
Conference_Titel :
Parallel and Distributed Processing Symposium, 2003. Proceedings. International
Print_ISBN :
0-7695-1926-1
DOI :
10.1109/IPDPS.2003.1213259