Continuous Program Optimization via Advanced Dynamic Compilation Techniques

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.

[1]  Dorit Nuzman,et al.  JIT technology with C/C++ , 2013, ACM Trans. Archit. Code Optim..

[2]  Eelco Visser,et al.  Specializing a meta-interpreter: JIT compilation of dynsem specifications on the graal VM , 2018, ManLang '18.

[3]  Tomofumi Yuki Understanding PolyBench/C 3.2 Kernels , 2014 .

[4]  Ph Canal,et al.  Cling – The New Interactive Interpreter for ROOT 6 , 2012, Journal of Physics: Conference Series.

[5]  Christopher A. Vick,et al.  The Java HotSpotTM Server Compiler , 2001 .

[6]  Hanspeter Mössenböck,et al.  Speculation without regret: reducing deoptimization meta-data in the Graal compiler , 2014, PPPJ '14.

[7]  Hanspeter Mössenböck,et al.  TruffleC: dynamic execution of C on a Java virtual machine , 2014, PPPJ.

[8]  John Darlington,et al.  Understanding Resource Selection Requirements for Computationally Intensive Tasks on Heterogeneous Computing Infrastructure , 2016, GECON.

[9]  Samuel Williams,et al.  Compiler-based code generation and autotuning for geometric multigrid on GPU-accelerated supercomputers , 2017, Parallel Comput..

[10]  Giovanni Agosta,et al.  Selective compilation via fast code analysis and bytecode tracing , 2006, SAC '06.

[11]  Alessandro Cilardo,et al.  PowerTap: All-digital power meter modeling for run-time power monitoring , 2018, Microprocess. Microsystems.

[12]  Giovanni Agosta,et al.  Dynamic Look Ahead Compilation: A Technique to Hide JIT Compilation Latencies in Multicore Environment , 2009, CC.

[13]  Jack J. Dongarra,et al.  Exascale computing and big data , 2015, Commun. ACM.

[14]  John Aycock,et al.  A brief history of just-in-time , 2003, CSUR.

[15]  Giovanni Agosta,et al.  libVersioningCompiler: An easy-to-use library for dynamic generation and invocation of multiple code versions , 2018, SoftwareX.

[16]  Sanjay J. Patel,et al.  Continuous optimization , 2005, 32nd International Symposium on Computer Architecture (ISCA'05).

[17]  Nico Struckmann,et al.  Towards an Environment to Deliver High Performance Computing to Small and Medium Enterprises , 2015 .

[18]  Luca Benini,et al.  Autotuning and adaptivity in energy efficient HPC systems: the ANTAREX toolbox , 2018, CF.

[19]  Franz Franchetti,et al.  Automatic Application Tuning for HPC Architectures (Dagstuhl Seminar 13401) , 2013, Dagstuhl Reports.

[20]  Luca Benini,et al.  ANTAREX: A DSL-Based Approach to Adaptively Optimizing and Enforcing Extra-Functional Properties in High Performance Computing , 2018, 2018 21st Euromicro Conference on Digital System Design (DSD).

[21]  Wei-Chung Hsu,et al.  Continuous Adaptive Object-Code Re-optimization Framework , 2004, Asia-Pacific Computer Systems Architecture Conference.

[22]  Luca Benini,et al.  The ANTAREX approach to autotuning and adaptivity for energy efficient HPC systems , 2016, Conf. Computing Frontiers.

[23]  Michael Franz,et al.  Continuous program optimization: A case study , 2003, TOPL.

[24]  Luca Benini,et al.  The ANTAREX tool flow for monitoring and autotuning energy efficient HPC systems , 2017, 2017 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS).

[25]  Wolfgang Ziegler,et al.  Implementing a “one-stop-shop” providing SMEs with integrated HPC simulation resources using Fortissimo resources , 2014, eChallenges e-2014 Conference Proceedings.