Enabling GPU Support for the COMPSs-Mobile Framework

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10732)

Abstract

Using the GPUs embedded in mobile devices allows for increasing the performance of the applications running on them while reducing the energy consumption of their execution. This article presents a task-based solution for adaptative, collaborative heterogeneous computing on mobile cloud environments. To implement our proposal, we extend the COMPSs-Mobile framework – an implementation of the COMPSs programming model for building mobile applications that offload part of the computation to the Cloud – to support offloading computation to GPUs through OpenCL. To evaluate our solution, we subject the prototype to three benchmark applications representing different application patterns.

Keywords

Programming model Heterogeneous computing Collaborative computing GPGPU OpenCL Mobile cloud computing Android 

Notes

Acknowledgments

This work is partially supported by the Joint-Laboratory on Extreme Scale Computing (JLESC), by the European Union through the Horizon 2020 research and innovation programme under contract 687584 (TANGO Project), by the Spanish Goverment (TIN2015-65316-P, BES-2013-067167, EEBB-2016-11272, SEV-2011-00067) and the Generalitat de Catalunya (2014-SGR-1051).

References

  1. 1.
    Java programming assistant (javassist). http://www.javassist.org
  2. 2.
  3. 3.
    Augonnet, C., Thibault, S., Namyst, R., Wacrenier, P.A.: StarPU: a unified platform for task scheduling on heterogeneous multicore architectures. Concurrency Comput. Pract. Experience 23(2), 187–198 (2011).  https://doi.org/10.1002/cpe.1631/full/5Cndoi.wiley.com/10.1002/cpe.1631
  4. 4.
    Bosilca, G., Bouteiller, A., Danalis, A., Herault, T., Lemarinier, P., Dongarra, J.: DAGuE: a generic distributed DAG engine for high performance computing. Parallel Comput. 38(1–2), 37–51 (2012)CrossRefGoogle Scholar
  5. 5.
    Chun, B.G., et al.: CloneCloud: elastic execution between mobile device and cloud. In: Proceedings of the Sixth Conference on Computer Systems (EuroSys 2011), pp. 301–314. ACM, New York (2011).  https://doi.org/10.1145/1966445.1966473
  6. 6.
    Cuervo, E., et al.: MAUI: making smartphones last longer with code offload. In: Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services (MobiSys 2010), pp. 49–62. ACM, New York (2010).  https://doi.org/10.1145/1814433.1814441
  7. 7.
    Duran, A., Ayguadé, E., Badia, R.M., Labarta, J., Martinell, L., Martorell, X., Planas, J.: OmpSs: a proposal for programming heterogeneous multi-core architectures. Parallel Process. Lett. 21(2), 173–193 (2011)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Kemp, R., Palmer, N., Kielmann, T., Bal, H.: Cuckoo: a computation offloading framework for smartphones. In: Gris, M., Yang, G. (eds.) MobiCASE 2010. LNICSSITE, vol. 76, pp. 59–79. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-29336-8_4 CrossRefGoogle Scholar
  9. 9.
    Khronos OpenCL Working Group, et al.: The OpenCL specification. Version 1(29), 8 (2008)Google Scholar
  10. 10.
    Kosta, S., et al.: Unleashing the power of mobile cloud computing using ThinkAir. CoRR abs/1105.3 (2011). http://arxiv.org/abs/1105.3232
  11. 11.
    Lordan, F., Badia, R.M.: COMPSs-mobile: parallel programming for mobile cloud computing. J. Grid Comput. 15(3), 357–378 (2017).  https://doi.org/10.1007/s10723-017-9409-z CrossRefGoogle Scholar
  12. 12.
    Lordan, F., et al.: Servicess: an interoperable programming framework for the cloud. J. Grid Comput. 12(1), 67–91 (2014).  https://doi.org/10.1007/s10723-013-9272-5
  13. 13.
    Montella, R., Ferraro, C., Kosta, S., Pelliccia, V., Giunta, G.: Enabling android-based devices to high-end GPGPUs. In: Carretero, J., Garcia-Blas, J., Ko, R.K.L., Mueller, P., Nakano, K. (eds.) ICA3PP 2016. LNCS, vol. 10048, pp. 118–125. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-49583-5_9 CrossRefGoogle Scholar
  14. 14.
    Nvidia: Compute unified device architecture programming guide (2007)Google Scholar
  15. 15.
    Ratering, R., Hoppe, H.C.: Accelerating openCL applications by utilizing a virtual OpenCL device as interface to compute clouds (2011). https://www.google.ch/patents/US20110161495
  16. 16.
    Rellermeyer, J.S., Riva, O., Alonso, G.: AlfredO: an architecture for flexible interaction with electronic devices. In: Issarny, V., Schantz, R. (eds.) Middleware 2008. LNCS, vol. 5346, pp. 22–41. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-89856-6_2 CrossRefGoogle Scholar
  17. 17.
    Silla, F., et al.: Remote GPU virtualization: is it useful? In: 2016 2nd IEEE International Workshop on High-Performance Interconnection Networks in the Exascale and Big-Data Era (HiPINEB), pp. 41–48. IEEE (2016)Google Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  1. 1.Department of Computer SciencesBarcelona Supercomputing Center (BSC-CNS)BarcelonaSpain
  2. 2.Department of Computer ArchitectureUniversitat Politècnica de Catalunya (UPC)BarcelonaSpain
  3. 3.Spanish National Research Council (CSIC)Artificial Intelligence Research InstituteBarcelonaSpain
  4. 4.Coordinated Science LabUniversity of Illinois, Urbana-Champaign (UIUC)Urbana-ChampaignUSA

Personalised recommendations