Abstract
Mobile Cloud Computing (MCC) aims at leveraging remote resources to boost application performance on mobile devices while conserving resources such as battery, memory, and storage. Offloading computations and outsourcing tasks are, however, associated with numerous challenges known from distributed systems. Typical mobile applications have a monolithic design and are not laid out for a distributed deployment and execution. In this work, we present how to design and partition such applications and how these partitions stay synchronized in a cost-efficient manner at runtime. We introduce our comprehensive and extendable framework MOCCAA (MObile Cloud Computing AdaptAble) that supports developers along this path. Its performance gain is mainly achieved through a new graph partitioning heuristic that is searching for the maximally beneficial cut, through minimized monitoring efforts for resource consumption prediction, through scalable and location-aware resource discovery and management, and through our graph-based delta synchronization of local and remote object states. In particular, the graph partitioning heuristic and the delta synchronization allow us to reduce synchronization costs and improve quality dimensions such as latency and bandwidth consumption.
Similar content being viewed by others
References
Alliance, O.: OSGi Service Platform Service Compendium: Release 4 Version 4.2 Author: OSGi Alliance, Publisher: AQute Publishing Pages. AQute Publishing (2009)
Alon, N., Bollobás, B., Gyárfás, A., Lehel, J., Scott, A.: Maximum directed cuts in acyclic digraphs. J. Graph Theory 55(1), 1–13 (2007)
Balan, R.K., Gergle, D., Satyanarayanan, M., Herbsleb, J.: Simplifying cyber foraging for mobile devices. In: Proceedings of the 5th international conference on Mobile systems, applications and services, pp. 272–285. ACM (2007)
Baraki, H., Schwarzbach, C., Jakob, S., Jahl, A., Geihs, K.: Sam: A semantic-aware middleware for mobile cloud computing. In: 2018 IEEE 11th International Conference on Cloud Computing (CLOUD), pp. 375–382. IEEE (2018)
Benson, A.R., Gleich, D.F., Leskovec, J.: Tensor spectral clustering for partitioning higher-order network structures. In: Proceedings of the 2015 SIAM International Conference on Data Mining, pp. 118–126. SIAM (2015)
Buluç, A., Meyerhenke, H., Safro, I., Sanders, P., Schulz, C.: Recent advances in graph partitioning. In: Algorithm Engineering, pp. 117–158. Springer (2016)
Chiba, S.: Javassist - a reflection-based programming wizard for java. In: Proceedings of OOPSLA’98 Workshop on Reflective Programming in C++ and Java, Vol. 174 (1998)
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, pp. 301–314. ACM (2011)
Cuervo, E., Balasubramanian, A., Cho, D.-k., Wolman, A., Saroiu, S., Chandra, R., Bahl, P.: Maui: making smartphones last longer with code offload. In: Proceedings of the 8th international conference on Mobile systems, applications, and services, pp. 49–62. ACM (2010)
Delling, D., Goldberg, A.V., Razenshteyn, I., Werneck, R.F.: Graph partitioning with natural cuts. In: Parallel & Distributed Processing Symposium (IPDPS), 2011 IEEE International, pp. 1135–1146. IEEE (2011)
Dunning, I., Gupta, S., Silberholz, J.: What works best when? a systematic evaluation of heuristics for max-cut and qubo. INFORMS J. Comput. 30(3), 608–624 (2018)
Fang, J., Su, C., Chen, Z., Sun, H., Lund, P.: Power system structural vulnerability assessment based on an improved maximum flow approach. IEEE Trans. Smart Grid 9(2), 777–785 (2018)
Festa, P., Pardalos, P.M., Resende, M.G., Ribeiro, C.C.: Randomized heuristics for the max-cut problem. Optim. Methods Softw. 17(6), 1033–1058 (2002)
Fiduccia, C.M., Mattheyses, R.M.: A linear-time heuristic for improving network partitions. In: Proceedings of the 19th design automation conference, pp. 175–181. IEEE Press (1982)
Fiedler, M.: A property of eigenvectors of nonnegative symmetric matrices and its application to graph theory. Czechoslov. Math. J. 25(4), 619–633 (1975)
Fjällström, P.-O.: Algorithms for graph partitioning: A survey, vol. 3. Linköping University Electronic Press Linköping (1998)
Ford, L.R., Fulkerson, D.R.: Maximal flow through a network. Can. J. Math. 8(3), 399–404 (1956)
Friedman, J.H.: Multivariate adaptive regression splines. The annals of statistics 19(1), 1–67 (1991)
Gai, K., Qiu, M., Zhao, H.: Energy-aware task assignment for mobile cyber-enabled applications in heterogeneous cloud computing. J. Parallel Distrib. Comput. 111, 126–135 (2018)
Gai, K., Qiu, M., Zhao, H., Tao, L., Zong, Z.: Dynamic energy-aware cloudlet-based mobile cloud computing model for green computing. J. Netw. Comput. Appl. 59, 46–54 (2016)
Giurgiu, I., Riva, O., Juric, D., Krivulev, I., Alonso, G.: Calling the cloud: enabling mobile phones as interfaces to cloud applications. In: Middleware 2009, pp. 83–102. Springer (2009)
Gleich, D.F., Lim, L.-H., Yu, Y.: Multilinear pagerank. SIAM J. Matrix Anal. Appl. 36(4), 1507–1541 (2015)
Goemans, M.X., Williamson, D.P.: Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming. J. ACM (JACM) 42(6), 1115–1145 (1995)
Graf, J.: Information Flow Control with System Dependence Graphs-Improving Modularity Scalability and Precision for Object Oriented Languages. PhD thesis, Karlsruhe Institute of Technology (2016)
Graf, J., Hecker, M., Mohr, M.: Using Joana for Information Flow Control in Java Programs-A Practical Guide. Softw. Eng. (Worksh.) 215, 123–138 (2013)
Hall, M.A.: Correlation-Based Feature Selection for Machine Learning. University of Waikato, New Zealand (1999)
Hendrickson, B., Leland, R.: An improved spectral graph partitioning algorithm for mapping parallel computations. SIAM J. Sci. Comput. 16(2), 452–469 (1995)
Hinne, M., Marchiori, E.: Cutting graphs using competing ant colonies and an edge clustering heuristic. In: European Conference on Evolutionary Computation in Combinatorial Optimization, pp. 60–71. Springer (2011)
Hunt, G.C., Scott, M.L.: The Coign Automatic Distributed Partitioning System, vol. 99 (1999)
Jäger, G., Srivastav, A.: Improved approximation algorithms for maximum graph partitioning problems. J. Comb. Optim. 10(2), 133–167 (2005)
Karp, R.M.: Reducibility among combinatorial problems. In: Complexity of computer computations, pp. 85–103. Springer (1972)
Kaufman, L., Rousseeuw, P.J.: Finding groups in data: an introduction to cluster analysis, vol. 344. Wiley, New York (2009)
Kaya, M., Koċyiġit, A., Eren, P.E.: An adaptive mobile cloud computing framework using a call graph based model. J. Netw. Comput. Appl. 65, 12–35 (2016)
Kemp, R., Palmer, N., Kielmann, T., Bal, H.: Cuckoo: a computation offloading framework for smartphones. In: Mobile Computing, Applications, and Services, pp. 59–79. Springer (2012)
Kernighan, B.W., Lin, S.: An efficient heuristic procedure for partitioning graphs. Bell Syst. Techn. J. 49(2), 291–307 (1970)
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: Infocom, 2012 Proceedings IEEE, pp. 945–953. IEEE (2012)
Leng, M., Yu, S.: An effective multi-level algorithm based on ant colony optimization for bisecting graph. In: Pacific-Asia Conference on Knowledge Discovery and Data Mining, pp. 138–149. Springer (2007)
Menger, K.: Zur allgemeinen kurventheorie. Fundam. Math. 10(1), 96–115 (1927)
Ou, S., Yang, K., Liotta, A.: An adaptive multi-constraint partitioning algorithm for offloading in pervasive systems. In: Pervasive Computing and Communications, 2006. PerCom 2006. Fourth Annual IEEE International Conference on, pp. 10–pp. IEEE (2006)
Papadimitriou, C.H., Yannakakis, M.: Optimization, approximation, and complexity classes. J. Comput. Syst. Sci. 43(3), 425–440 (1991)
Petcu, D.: Consuming resources and services from multiple clouds. J. Grid Comput. 12(2), 321–345 (2014)
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, pp. 22–41. Springer, New York (2008)
Satyanarayanan, M., Bahl, P., Caceres, R., Davies, N.: The case for vm-based cloudlets in mobile computing. Pervas. Comput.IEEE 8(4), 14–23 (2009)
Singh, S., Chana, I.: A survey on resource scheduling in cloud computing: Issues and challenges. J. Grid Comput. 14(2), 217–264 (2016)
Sun, L., Leng, M.: An effective multi-level algorithm based on simulated annealing for bisecting graph. In: International Workshop on Energy Minimization Methods in Computer Vision and Pattern Recognition, pp. 1–12. Springer (2007)
Tang, Z., Qi, L., Cheng, Z., Li, K., Khan, S.U., Li, K.: An energy-efficient task scheduling algorithm in dvfs-enabled cloud environment. J. Grid Comput. 14(1), 55–74 (2016)
Tridgell, A.: Efficient Algorithms for Sorting and Synchronization. PhD thesis, Australian National University Canberra (1999)
Verbelen, T., Stevens, T., De Turck, F., Dhoedt, B.: Graph partitioning algorithms for optimizing software deployment in mobile cloud computing. Futur. Gener. Comput. Syst. 29(2), 451–459 (2013)
Yang, S., Kwon, D., Yi, H., Cho, Y., Kwon, Y., Paek, Y.: Techniques to minimize state transfer costs for dynamic execution offloading in mobile cloud computing. IEEE Trans. Mob. Comput. 13 (11), 2648–2660 (2014)
Zhao, Y., Hu, F., Chen, H.: An adaptive tuning strategy on spark based on in-memory computation characteristics. In: 2016 18th International Conference on Advanced Communication Technology (ICACT), pp. 484–488. IEEE (2016)
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Baraki, H., Jahl, A., Jakob, S. et al. Optimizing Applications for Mobile Cloud Computing Through MOCCAA. J Grid Computing 17, 651–676 (2019). https://doi.org/10.1007/s10723-019-09492-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10723-019-09492-0