Skip to main content
Log in

COMPSs-Mobile: Parallel Programming for Mobile Cloud Computing

  • Published:
Journal of Grid Computing Aims and scope Submit manuscript

Abstract

The advent of the Cloud and the popularization of mobile devices have led us to a shift in computing access where users have an interactive display, and heavy computations run remotely, in the Cloud servers. COMPSs-Mobile is a framework that aims to ease the development of energy-efficient and high-performing applications for this kind of environment. The framework provides an infrastructure-unaware programming model that allows developers to code regular Android applications whose computation is transparently parallelized and partially offloaded to remote resources. This paper gives an overview of the programming model and describes the internal components of the toolkit which supports it focusing on the offloading and checkpointing mechanisms. It also presents the results of some tests conducted to evaluate the behavior of the solution and to measure the potential benefits in Android applications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Satyanarayanan, M., Bahl, P., Caceres, R., Davies, N.: The case for VM-based cloudlets in mobile computing. Pervasive Comput. IEEE 8(4), 14–23 (2009). https://doi.org/10.1109/MPRV.2009.82

    Article  Google Scholar 

  2. Marinelli, E.E.: Science 0389(September), 1. http://www.contrib.andrew.cmu.edu/emarinel/masters_thesis/emarinel_ms_thesis.pdf (2009)

  3. Fernando, N., Loke, S.W., Rahayu. W.: Mobile cloud computing: A survey. https://doi.org/10.1016/j.future.2012.05.023 (2013)

  4. Tilevich, E., Smaragdakis, Y.: J-orchestra: Automatic Java application partitioning. Ecoop 178–204. https://doi.org/10.1145/1555392.1555394, http://link.springer.com/chapter/10.1007/3-540-47993-7_8%5Cn, http://dl.acm.org/citation.cfm?id=680022 (2002)

  5. Singh, S., Chana, I.: A Survey on Resource Scheduling in Cloud Computing: Issues and Challenges. https://doi.org/10.1007/s10723-015-9359-2 (2016)

  6. Zhan, Z.H., Liu, X.F., Gong, Y.J., Zhang, J., Chung, H.S.H., Li, Y.: Cloud computing resource scheduling and a survey of its evolutionary approaches. ACM Comput. Surv. 47(4), 1–33 (2015). https://doi.org/10.1145/2788397, http://dl.acm.org/citation.cfm?doid=2775083.2788397

    Article  Google Scholar 

  7. Dhinesh Babu, L.D., Venkata Krishna, P.: Honey bee behavior inspired load balancing of tasks in cloud computing environments. Appl. Soft Comput. J. 13(5), 2292–2303 (2013). https://doi.org/10.1016/j.asoc.2013.01.025

    Article  Google Scholar 

  8. Galante, G., Erpen De Bona, L.C., Mury, A.R., Schulze, B., da Rosa Righi, R.: An analysis of public clouds elasticity in the execution of scientific applications: a survey. J. Grid Comput. 14 (2), 193–216 (2016). https://doi.org/10.1007/s10723-016-9361-3

    Article  Google Scholar 

  9. Allen, G., Davis, K, Goodale, T, Hutanu, A, Kaiser, H, Kielmann, T, Merzky, A, Van Nieuwpoort, R, Reinefeld, A, Schintke, F, Schütt, T, Seidel, ED, Ullmer, AB: The Grid application toolkit: Toward generic and easy application programming interfaces for the Grid. In: Proceedings of the IEEE, vol. 93, no. 3, pp. 534–549 (2005)

  10. Balan, R.K., Satyanarayanan, M., Park, S.Y., Okoshi, T.: Proceedings of the 1st International Conference on Mobile Systems Applications and Services (MobiSys ’03) pp. 273–286. https://doi.org/10.1145/1066116.1066125 (2003)

  11. Flinn, J., Park, S.P.S., Satyanarayanan, M.: Proceedings 22nd International Conference on Distributed Computing Systems pp. 217–226. https://doi.org/10.1109/ICDCS.2002.1022259 (2002)

  12. Kumar, K., Lu, Y.H.: Cloud computing for mobile users: Can offloading computation save energy? Computer 43(4), 51–56 (2010). https://doi.org/10.1109/MC.2010.98

    Article  Google Scholar 

  13. Huang, D., Zhang, X., Kang, M., Luo, J.: In: 2010 Fifth IEEE International Symposium on Service Oriented System Engineering, pp. 27–34. https://doi.org/10.1109/SOSE.2010.20. http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5569935 (2010)

  14. Nawrocki, P., ŚnieŻyński, B., CzyŻewski, J.: Learning agent for a service-oriented context-aware recommender system in heterogeneous environment. Comput. Inform. 35(5), 1005–1026 (2017)

    MathSciNet  Google Scholar 

  15. Vecchiola, C., Chu, X., Buyya, R.: CoRR arXiv:0907.4622 (2009)

  16. Dean, J., Ghemawat, S.: In: Proceedings of the 6th Conference on Symposium on Opearting Systems Design & Implementation - Volume 6 (USENIX Association, Berkeley, CA, USA, 2004), OSDI’04, pp. 10–10. http://dl.acm.org/citation.cfm?id=1251254.1251264

  17. Montesi, F., Guidi, C., Lucchi, R., Zavattaro, G.: Jolie: a Java orchestration language interpreter engine. Electron. Notes Theor. Comput. Sci. 181, 19–33 (2007)

    Article  Google Scholar 

  18. Isard, M., Budiu, M., Yu, Y., Birrell, A., Fetterly, D., et al.: Dryad: distributed data-parallel programs from sequential building blocks. In: Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007, vol. 41, no. 3, pp. 59–72. ACM. https://doi.org/10.1145/1272998.1273005 (2007)

  19. Missier, P., Soiland-Reyes, S., Owen, S., Tan, W., Nenadic, A., Dunlop, I., Williams, A., Oinn, T., Goble, C.: SSDBM 2010. In: Gertz, M., Hey, T., Ludaescher, B. (eds.) . http://www.taverna.org.uk/pages/wp-content/uploads/2010/04/T2Architecture.pdf, Heidelberg, Germany (2010)

  20. OASIS Web Services Business Process Execution Language. http://www.oasis-open.org/committees/wsbpel/

  21. Wilde, M., Hategan, M., Wozniak, J.M., Clifford, B., Katz, D.S., Foster, I.: Swift: a language for distributed parallel scripting. Parallel Comput. 37(9), 633–652 (2011). https://doi.org/10.1016/j.parco.2011.05.005

    Article  Google Scholar 

  22. Gupta, M.K.: Akka Essentials (Packt Publishing, 2012)

  23. Virding, R., Wikström, C., Williams, M.: Concurrent Programming in ERLANG, 2nd edn. Prentice Hall International (UK) Ltd., Hertfordshire (1996)

  24. Chun, B.G., Maniatis, P.: In: Proceedings of the 12th Conference on Hot Topics in Operating Systems, HotOS’09, p. 8. USENIX Association, Berkeley (2009). http://dl.acm.org/citation.cfm?id=1855568.1855576

  25. Chun, B.G., Ihm, S., Maniatis, P., Naik, M., Patti, A.: In: Proceedings of the Sixth Conference on Computer Systems, EuroSys ’11, pp. 301–314. ACM, New York (2011). https://doi.org/10.1145/1966445.1966473

  26. Kemp, R., Palmer, N., Kielmann, T., Bal, H.E.: In: Gris and 0001 26, pp. 59–79. http://dblp.uni-trier.de/db/conf/mobicase/mobicase2010.html#KempPKB10

  27. Cuervo, E., Balasubramanian, A., Cho, D.k., Wolman, A., Saroiu, S., Chandra, R., Bahl, P.: In: Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services, MobiSys ’10, pp. 4962. ACM, New York (2010). https://doi.org/10.1145/1814433.1814441

  28. Kosta, S., Aucinas, A., Hui, P., Mortier, R., Zhang, X.: CoRR arXiv:1105.3232, http://dblp.uni-trier.de/db/journals/corr/corr1105.html#abs-1105-3232 (2011)

  29. Kosta, S., Aucinas, A., Hui, P., Mortier, R., Zhang, X.: In: INFOCOM, 2012 Proceedings IEEE (IEEE, 2012), pp. 945–953

  30. Rellermeyer, J.S., Riva, O., Alonso, G.: AlfredO: An architecture for flexible interaction with electronic devices. In: Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware. http://dl.acm.org/citation.cfm?id=1496950.1496953, pp 22–41. Springer-Verlag, Inc., New York (2008)

  31. Giurgiu, I., Riva, O., Juric, D., Krivulev, I., Alonso, G.: In: Proceedings of the ACM/IFIP/USENIX 10th International Conference on Middleware, Middleware’09, pp. 83–102. Springer-Verlag, Berlin, Heidelberg (2009). http://dl.acm.org/citation.cfm?id=1813355.1813362

  32. Lordan, F., Tejedor, E., Ejarque, J., Rafanell, R., Álvarez, J., Marozzo, F., Lezzi, D., Sirvent, R., Talia, D., Badia, R.: J. Grid Comput. 12(1), 67. https://doi.org/10.1007/s10723-013-9272-5 (2014)

  33. Java annotations. http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html

  34. Java programming assistant (javassist). http://www.javassist.org

Download references

Acknowledgements

This work has been supported by the Spanish Goverment (contracts TIN2012-34557, TIN2015-65316-P and grants BES-2013-067167 of the Research Training Program and SEV-2011-00067 of Severo Ochoa Program), by Generalitat de Catalunya (contract 2014-SGR-1051) and by the European Commission (ASCETiC project, FP7-ICT-2013.1.2 contract 610874).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to F. Lordan.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Lordan, F., Badia, R.M. COMPSs-Mobile: Parallel Programming for Mobile Cloud Computing. J Grid Computing 15, 357–378 (2017). https://doi.org/10.1007/s10723-017-9409-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10723-017-9409-z

Keywords

Navigation