Article Information |
---|
Just-in-Time Compilation-Inspired Methodology for Parallelization of Compute Intensive Java Code Keywords: Just-in-Time Compilation, Loop Level Parallelization, Multicore System, Runtime Analysis, Java Virtual Machine. Mehran University Research Journal of Engineering & Technology Volume 36 , Issue 1 GHULAM MUSTAFA,WAQAR MAHMOOD ,MUHAMMAD USMAN GHANI Abstract Compute intensive programs generally consume significant fraction of execution time in a small amount of repetitive code. Such repetitive code is commonly known as hotspot code. We observed that compute intensive hotspots often possess exploitable loop level parallelism. A JIT (Just-in-Time) compiler profiles a running program to identify its hotspots. Hotspots are then translated into native code, for efficient execution. Using similar approach, we propose a methodology to identify hotspots and exploit their parallelization potential on multicore systems. Proposed methodology selects and parallelizes each DOALL loop that is either contained in a hotspot method or calls a hotspot method. The methodology could be integrated in front-end of a JIT compiler to parallelize sequential code, just before native translation. However, compilation to native code is out of scope of this work. As a case study, we analyze eighteen JGF (Java Grande Forum) benchmarks to determine parallelization potential of hotspots. Eight benchmarks demonstrate a speedup of up to 7.6x on an 8-core system |