An Architecture for Programming Distributed Applications on Fog to Cloud Systems

  • Francesc Lordan
  • Daniele Lezzi
  • Jorge Ejarque
  • Rosa M. Badia
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10659)


This paper presents a framework to develop and execute applications in distributed and highly dynamic computing systems composed of cloud resources and fog devices such as mobile phones, cloudlets, and micro-clouds. The work builds on the COMPSs programming framework, which includes a programming model and a runtime already validated in HPC and cloud environments for the transparent execution of parallel applications. As part of the proposed contribution, COMPSs has been enhanced to support the execution of applications on mobile platforms that offer GPUs and CPUs. The scheduling component of COMPSs is under design to be able to offload the computation to other fog devices in the same level of the hierarchy and to cloud resources when more computational power is required. The framework has been tested executing a sample application on a mobile phone offloading task to a laptop and a private cloud.


Distributed computing Mobile computing Fog computing Programming model Computation offloading Fault tolerance Security 



This work is partly supported by the Spanish Ministry of Science and Technology through project TIN2015-65316-P and grant BES-2013-067167, by the Generalitat de Catalunya under contracts 2014-SGR-1051 and 2014-SGR-1272, and by the European Union through the Horizon 2020 research and innovation programme under grant 730929 (mF2C Project).


  1. 1.
    Apache Mesos: Accessed 12 May 2017
  2. 2.
    Linn, J.: Generic security service application program interface version 2, update 1. Internet Requests for Comments, RFC 2743. RFC Editor, January 2000. ISSN 2070-1721Google Scholar
  3. 3.
    OpenFog Reference Architecture. Accessed 12 May 2017
  4. 4.
    Chun, B.G., Ihm, S., Maniatis, P., Naik, M., Patti, A.: 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).
  5. 5.
    Hong, K., Lillethun, D., Ramachandran, U., Ottenwälder, B., Koldehofe, B.: Mobile fog: a programming model for large-scale applications on the internet of things. In: Proceedings of the Second ACM SIGCOMM Workshop on Mobile Cloud Computing, MCC 2013, pp. 15–20. ACM, New York (2013).
  6. 6.
    Kemp, R., Palmer, N., Kielmann, T., Bal, H.: Cuckoo: a computation offloading framework for smartphones. In: Gris, M., Yang, G. (eds.) MobiCASE 2010. LNICST, vol. 76, pp. 59–79. Springer, Heidelberg (2012). CrossRefGoogle Scholar
  7. 7.
    Kosta, S., Aucinas, A., Hui, P., Mortier, R., Zhang, X.: Thinkair: dynamic resource allocation and parallel execution in the cloud for mobile code offloading. In: 2012 Proceedings IEEE INFOCOM, pp. 945–953, March 2012.
  8. 8.
    Lordan, F., Tejedor, E., Ejarque, J., Rafanell, R., Alvarez, J., Marozzo, F., Lezzi, D., Sirvent, R., Talia, D., Badia, R.M.: Servicess: an interoperable programming framework for the cloud. J. Grid Comput. 12(1), 67–91 (2014). CrossRefGoogle Scholar
  9. 9.
    Merkel, D.: Docker: lightweight linux containers for consistent development and deployment. Linux J. 2014(239), 2 (2014)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Computer SciencesBarcelona Supercomputing Center (BSC)BarcelonaSpain
  2. 2.Department of Computer ArchitectureUniversitat Politècnica de Catalunya (UPC)BarcelonaSpain
  3. 3.Artificial Intelligence Research InstituteSpanish National Research Council (CSIC)BarcelonaSpain

Personalised recommendations