TY - JOUR
T1 - Accelerating Linux and Android applications on low-power devices through remote GPGPU offloading
AU - Montella, Raffaele
AU - Kosta, Sokol
AU - Oro, David
AU - Vera, Javier
AU - Fernández, Carles
AU - Palmieri, Carlo
AU - Di Luccio, Diana
AU - Giunta, Giulio
AU - Lapegna, Marco
AU - Laccetti, Giuliano
N1 - e4286 cpe.4286
PY - 2017/12
Y1 - 2017/12
N2 - 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.
AB - 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.
KW - Android, CUDA, GPGPU, mobile cloud computing, offloading, virtualization
U2 - 10.1002/cpe.4286
DO - 10.1002/cpe.4286
M3 - Journal article
SN - 1532-0634
VL - 29
JO - Concurrency and Computation: Practice & Experience
JF - Concurrency and Computation: Practice & Experience
IS - 24
M1 - e4286
ER -