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.
Similar content being viewed by others
References
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
Marinelli, E.E.: Science 0389(September), 1. http://www.contrib.andrew.cmu.edu/emarinel/masters_thesis/emarinel_ms_thesis.pdf (2009)
Fernando, N., Loke, S.W., Rahayu. W.: Mobile cloud computing: A survey. https://doi.org/10.1016/j.future.2012.05.023 (2013)
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)
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)
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
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
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
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)
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)
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)
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
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)
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)
Vecchiola, C., Chu, X., Buyya, R.: CoRR arXiv:0907.4622 (2009)
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
Montesi, F., Guidi, C., Lucchi, R., Zavattaro, G.: Jolie: a Java orchestration language interpreter engine. Electron. Notes Theor. Comput. Sci. 181, 19–33 (2007)
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)
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)
OASIS Web Services Business Process Execution Language. http://www.oasis-open.org/committees/wsbpel/
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
Gupta, M.K.: Akka Essentials (Packt Publishing, 2012)
Virding, R., Wikström, C., Williams, M.: Concurrent Programming in ERLANG, 2nd edn. Prentice Hall International (UK) Ltd., Hertfordshire (1996)
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
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
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
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
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)
Kosta, S., Aucinas, A., Hui, P., Mortier, R., Zhang, X.: In: INFOCOM, 2012 Proceedings IEEE (IEEE, 2012), pp. 945–953
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)
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
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)
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
Java programming assistant (javassist). http://www.javassist.org
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
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10723-017-9409-z