Skip to main content Skip to main navigation


Efficient Compilation and Execution of JVM-Based Data Processing Frameworks on Heterogeneous Co-Processors

Christos Kotselidis; Sotiris Diamantopoulos; Orestis Akrivopoulos; Viktor Rosenfeld; Katerina DOka; Hazeef Mohammed; Georgios Mylonas; Vassilis Spitadakis; Will Morgan; Juan Fumero; Foivos S. Zakkak; Michail Papadimitriou; Maria Xekalaki; Nikos Foutris; Athanasios Stratikopoulos; Nectarios Koziris; Ioannis Konstantinou; Ioannis Mytilinis; Constatinos Bitsakos; Christos Tsalidis; Christos Tselios; Nikolaos Kanakis; Clemens Lutz; Sebastian Breß; Volker Markl
In: Design, Automation & Test in Europe. Design, Automation & Test in Europe (DATE-2020), March 9-13, Grenoble, France, IEEE, 2020.


This paper addresses the fundamental question of how modern Big Data frameworks can dynamically and transparently exploit heterogeneous hardware accelerators. After presenting the major challenges that have to be addressed towards this goal, we describe our proposed architecture for automatic and transparent hardware acceleration of Big Data frameworks and applications. Our vision is to retain the uniform programming model of Big Data frameworks and enable automatic, dynamic Just-In-Time compilation of the candidate code segments that benefit from hardware acceleration to the corresponding format. In conjunction with machine learning-based device selection, that respect user-defined constraints (e.g., cost, time, etc.), we enable dynamic code execution on GPUs and FPGAs transparently to the user. In addition, we dynamically re-steer execution at runtime based on the availability of resources. Our preliminary results demonstrate that our approach can accelerate an existing Apache Flink application by up to 16.5x.