COMPSs-Mobile: Parallel Programming for Mobile Cloud Computing

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.

[1]  Pan Hui,et al.  ThinkAir: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading , 2012, 2012 Proceedings IEEE INFOCOM.

[2]  Piotr Nawrocki,et al.  Learning Agent for a Service-Oriented Context-Aware Recommender System in Heterogeneous Environment , 2016, Comput. Informatics.

[3]  J. Wenny Rahayu,et al.  Mobile cloud computing: A survey , 2013, Future Gener. Comput. Syst..

[4]  Yannis Smaragdakis,et al.  J-Orchestra: Enhancing Java programs with distribution capabilities , 2009, TSEM.

[5]  Domenico Talia,et al.  ServiceSs: An Interoperable Programming Framework for the Cloud , 2013, Journal of Grid Computing.

[6]  Paramvir Bahl,et al.  The Case for VM-Based Cloudlets in Mobile Computing , 2009, IEEE Pervasive Computing.

[7]  Inderveer Chana,et al.  A Survey on Resource Scheduling in Cloud Computing: Issues and Challenges , 2016, Journal of Grid Computing.

[8]  Gianluigi Zavattaro,et al.  JOLIE: a Java Orchestration Language Interpreter Engine , 2007, CoOrg/MTCoord@COORDINATION.

[9]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[10]  L. D. Dhinesh Babu,et al.  Honey bee behavior inspired load balancing of tasks in cloud computing environments , 2013, Appl. Soft Comput..

[11]  Yung-Hsiang Lu,et al.  Cloud Computing for Mobile Users: Can Offloading Computation Save Energy? , 2010, Computer.

[12]  Byung-Gon Chun,et al.  Augmented Smartphone Applications Through Clone Cloud Execution , 2009, HotOS.

[13]  Jun Zhang,et al.  Cloud Computing Resource Scheduling and a Survey of Its Evolutionary Approaches , 2015, ACM Comput. Surv..

[14]  Alec Wolman,et al.  MAUI: making smartphones last longer with code offload , 2010, MobiSys '10.

[15]  Yaron Goland,et al.  Web Services Business Process Execution Language , 2009, Encyclopedia of Database Systems.

[16]  Claes Wikström,et al.  Concurrent programming in ERLANG (2nd ed.) , 1996 .

[17]  Rob van Nieuwpoort,et al.  The Grid Application Toolkit: Toward Generic and Easy Application Programming Interfaces for the Grid , 2005, Proceedings of the IEEE.

[18]  Mahadev Satyanarayanan,et al.  Tactics-based remote execution for mobile computing , 2003, MobiSys '03.

[19]  Gustavo Alonso,et al.  Calling the Cloud: Enabling Mobile Phones as Interfaces to Cloud Applications , 2009, Middleware.

[20]  Dijiang Huang,et al.  MobiCloud: Building Secure Cloud Framework for Mobile Computing and Communication , 2010, 2010 Fifth IEEE International Symposium on Service Oriented System Engineering.

[21]  Daniel S. Katz,et al.  Swift: A language for distributed parallel scripting , 2011, Parallel Comput..

[22]  Yannis Smaragdakis,et al.  J-Orchestra: Automatic Java Application Partitioning , 2002, ECOOP.

[23]  Mahadev Satyanarayanan,et al.  Balancing performance, energy, and quality in pervasive computing , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[24]  Byung-Gon Chun,et al.  CloneCloud: elastic execution between mobile device and cloud , 2011, EuroSys '11.

[25]  Gustavo Alonso,et al.  AlfredO: An Architecture for Flexible Interaction with Electronic Devices , 2008, Middleware.

[26]  Bruno Schulze,et al.  An Analysis of Public Clouds Elasticity in the Execution of Scientific Applications: a Survey , 2016, Journal of Grid Computing.

[27]  Michel Raynal,et al.  Proceedings 22nd International Conference on Distributed Computing Systems, 2-5 July 2002, Vienna, Austria , 2002 .

[28]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[29]  Yuan Yu,et al.  Dryad: distributed data-parallel programs from sequential building blocks , 2007, EuroSys '07.

[30]  Craig A. Knoblock,et al.  A Survey of Digital Map Processing Techniques , 2014, ACM Comput. Surv..

[31]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.