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

Publication: Research - peer-reviewJournal article

  • Raffaele Montella
  • Sokol Kosta
  • David Oro
  • Javier Vera
  • Carles Fernández
  • Carlo Palmieri
  • Diana Di Luccio
  • Giulio Giunta
  • Marco Lapegna
  • Giuliano Laccetti

Abstract

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.
Close

Details

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.
Original languageEnglish
JournalConcurrency and Computation: Practice & Experience
Pages (from-to)e4286-n/a
ISSN1532-0634
DOI
StatePublished - 8 Sep 2017

Bibliographical note

e4286 cpe.4286

ID: 262318572