Accelerating Linux and Android applications on low-power devices through remote GPGPU offloading

R. Montella, S. Kosta, D. Oro, J. Vera, Fern', C. ez, C. Palmieri, L. D. Di, G. Giunta, M. Lapegna, G. Laccetti. CCPE 2017

[Wiley]

Low-power devices are usually highly constrained in terms of CPU computing power, memory, and GPGPU resources for real-time applications to run. In this paper, we describe RAPID, a complete framework suite for computation offloading to help low-powered devices overcome these limitations. RAPID supports CPU and GPGPU computation offloading on Linux and Android devices. Moreover, the framework implements lightweight secure data transmission of the offloading operations. We present the architecture of the framework, showing the integration of the CPU and GPGPU offloading modules. We show by extensive experiments that the overhead introduced by the security layer is negligible. We present the first benchmark results showing that Java/Android GPGPU code offloading is possible. Finally, we show the adoption of the GPGPU offloading into BioSurveillance, a commercial real-time face recognition application. The results show that, thanks to RAPID, BioSurveillance is being successfully adapted to run on low-power devices. The proposed framework is highly modular and exposes a rich application programming interface to developers, making it highly versatile while hiding the complexity of the underlying networking layer.