Continuous Program Optimization via Advanced Dynamic Compilation Techniques
Marco Festa, Nicole Gervasoni, Stefano Cherubin, Giovanni Agosta
Abstract
Marco Festa, Nicole Gervasoni, Stefano Cherubin, Giovanni Agosta
Abstract
In High Performance Computing, it is often useful to fine tune an application code via recompilation of specific computational intensive code fragments to leverage runtime knowledge. Traditional compilers rarely provide such capabilities, while solutions such as LIBVC allow C/C++ code to employ dynamic compilation. We evaluate the impact of the introduction of Just-in-Time (JIT) compilation in a framework supporting partial dynamic (re-) compilation of functions to provide continuous optimization in high performance environments. We show that JIT solutions can have comparable performance in terms of code quality and smaller compilation overhead w.r.t. the LIBVC alternatives. We further demonstrate the strength of our approach against a state-of-the-art interpreter-based dynamic evaluation solution.
OpenAlex reports 3 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
In High Performance Computing, it is often useful to fine tune an application code via recompilation of specific computational intensive code fragments to leverage runtime knowledge. Traditional compilers rarely provide such capabilities, while solutions such as LIBVC allow C/C++ code to employ dynamic compilation. We evaluate the impact of the introduction of Just-in-Time (JIT) compilation in a framework supporting partial dynamic (re-) compilation of functions to provide continuous optimization in high performance environments. We show that JIT solutions can have comparable performance in terms of code quality and smaller compilation overhead w.r.t. the LIBVC alternatives. We further demonstrate the strength of our approach against a state-of-the-art interpreter-based dynamic evaluation solution.
Key concepts: Computer science, Just-in-time compilation, Leverage (statistics), Dynamic compilation, Compiler, Interpreter, Code (set theory), Overhead (engineering)