TY - JOUR
T1 - A highly flexible, parallel virtual machine
T2 - Design and experience of ILDJIT
AU - Campanoni, Simone
AU - Agosta, Giovanni
AU - Crespi Reghizzi, Stefano
AU - Di Biagio, Andrea
PY - 2010/2
Y1 - 2010/2
N2 - ILDJIT, a new-generation dynamic compiler and virtual machine designed to support parallel compilation, is introduced here. Our dynamic compiler targets the increasingly popular ECMA-335 specification. The goal of this project is twofold: On one hand, it aims at exploiting the parallelism exposed by multi-core architectures to hide the dynamic compilation latencies by pipelining compilation and execution tasks; on the other hand, it provides a flexible, modular and adaptive framework for dynamic code optimization. The ILDJIT organization and the compiler design choices are presented and discussed highlighting how adaptability and extensibility can be achieved. Thanks to the compilation latency masking effect of the pipeline organization, our dynamic compiler is able to mask most of the compilation delay, when the underlying hardware exposes sufficient parallelism. Even when running on a single core, the ILDJIT adaptive optimization framework manages to speedup the computation with respect to other open-source implementations of ECMA-335.
AB - ILDJIT, a new-generation dynamic compiler and virtual machine designed to support parallel compilation, is introduced here. Our dynamic compiler targets the increasingly popular ECMA-335 specification. The goal of this project is twofold: On one hand, it aims at exploiting the parallelism exposed by multi-core architectures to hide the dynamic compilation latencies by pipelining compilation and execution tasks; on the other hand, it provides a flexible, modular and adaptive framework for dynamic code optimization. The ILDJIT organization and the compiler design choices are presented and discussed highlighting how adaptability and extensibility can be achieved. Thanks to the compilation latency masking effect of the pipeline organization, our dynamic compiler is able to mask most of the compilation delay, when the underlying hardware exposes sufficient parallelism. Even when running on a single core, the ILDJIT adaptive optimization framework manages to speedup the computation with respect to other open-source implementations of ECMA-335.
KW - CIL dynamic compiler
KW - Dynamic adaptation
KW - Parallel virtual machine
UR - https://www.scopus.com/pages/publications/76949106140
UR - https://www.scopus.com/inward/citedby.url?scp=76949106140&partnerID=8YFLogxK
U2 - 10.1002/spe.950
DO - 10.1002/spe.950
M3 - Article
AN - SCOPUS:76949106140
SN - 0038-0644
VL - 40
SP - 177
EP - 207
JO - Software - Practice and Experience
JF - Software - Practice and Experience
IS - 2
ER -