SoftwareX (Jul 2023)

A DSL-based runtime adaptivity framework for Java

  • Tiago Carvalho,
  • João Bispo,
  • Pedro Pinto,
  • João M.P. Cardoso

Journal volume & issue
Vol. 23
p. 101496

Abstract

Read online

This article presents Kadabra, a Java source-to-source compiler that allows users to make code queries, code analysis and code transformations, all user-programmable using the domain-specific language LARA. We show how Kadabra can be used as the basis for developing a runtime autotuning and adaptivity framework, able to adapt existing source Java code in order to take advantage of runtime autotuning. Specifically, this article presents the framework, consisting of Kadabra and an API for runtime adaptivity. We show the use of the framework to extend Java applications with autotuning and runtime adaptivity mechanisms to target performance improvement and/or energy saving goals.

Keywords