Dynamic Application Reconfiguration on Heterogeneous Hardware

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

By utilizing diverse heterogeneous hardware resources, developers can significantly improve the performance of their applications. Currently, in order to determine which parts of an application suit a particular type of hardware accelerator better, an offline analysis that uses a priori knowledge of the target hardware configuration is necessary. To make matters worse, the above process has to be repeated every time the application or the hardware configuration changes.

This paper introduces TornadoVM, a virtual machine capable of reconfiguring applications, at run-time, for hardware acceleration based on the currently available hardware re- sources. Through TornadoVM, we introduce a new level of compilation in which applications can benefit from heterogeneous hardware. We showcase the capabilities of TornadoVM by executing a complex computer vision application and six benchmarks on a heterogeneous system that includes a CPU, an FPGA, and a GPU. Our evaluation shows that by using dynamic reconfiguration, we achieve an average of 7.7× speedup over the statically-configured accelerated code.

Bibliographical metadata

Original languageEnglish
Title of host publication5th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE’19)
Pages165
Number of pages178
ISBN (Electronic)978-1-4503-6020-3
DOIs
Publication statusAccepted/In press - 14 Apr 2019