Abstract
Mobile cloud computing (MCC) is a technique for increasing the performance of mobile apps and reducing their energy consumption through code and data offloading. Developers may build MCC applications on a public cloud. The public cloud may offer economies of scale, but there are some considerations to take into account. Cloud providers charge their customers by data traffic, and wrong offloading decisions may lead to financial losses. This paper proposes an approach for estimating applications’ performance, data traffic generated by tasks offloading and its related costs on a public cloud. This work proposes both a stochastic Petri net (SPN)-based formal framework to represent MCC applications in a method-call level and a cost model to predict data traffic volume. Our approach enables designers to plan and tune MCC architectures based on three performance metrics: mean time to execute, cumulative distribution function, and throughput. Our SPN-based framework represents the use and sharing of the bandwidth available for offloading operations as well as the effect of bandwidth variation on the evaluated metrics. It allows a more accurate evaluation by developers about the performance of their applications taking into account specific network requirements, users, and offloading strategies. Two case studies were performed. Our approach has proven to be feasible, and it highlights the most appropriate strategies, supporting developers at design time by providing statistical information about applications’ behavior and costs estimations.
Similar content being viewed by others
Notes
The term “costs” corresponds to financial costs when used in an isolated way.
AWS: https://aws.amazon.com.
Google Cloud Platform: https://cloud.google.com.
Azure: https://azure.microsoft.com.
The practiced values by the IaaS cloud providers may change over time.
MoDCS: http://www.modcs.org/.
More information about the Mercury tool is available on the MoDCS Web site.
30 days.
References
Amazon ec2 (2017). https://aws.amazon.com/ec2/pricing/. Accessed 22 May 2017
Andrzejak A, Kondo D, Yi S (2010) Decision model for cloud computing under SLA constraints. In: 2010 IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, pp 257–266
Arajo C, Maciel P, Zimmermann A, Andrade E, Sousa E, Callou G, Cunha P (2011) Performability modeling of electronic funds transfer systems. Computing 91(4):315–334
Araujo J, Silva B, Oliveira D, Maciel P (2014) Dependability evaluation of a mhealth system using a mobile cloud infrastructure. In: 2014 IEEE International Conference on Systems, Man and Cybernetics (SMC). IEEE, pp 1348–1353
Baccarelli E, Cordeschi N, Mei A, Panella M, Shojafar M, Stefa J (2016) Energy-efficient dynamic traffic offloading and reconfiguration of networked data centers for big data stream mobile computing: review, challenges, and a case study. IEEE Network 30(2):54–61. https://doi.org/10.1109/MNET.2016.7437025
Balan RK (2006) Simplifying cyber foraging. School of Computer Science, Carnegie Mellon University
Bolch G, Greiner S, de Meer H, Trivedi KS (2006) Queueing networks and markov chains: modeling and performance evaluation with computer science applications. Wiley-Interscience, New York
Callou G, Ferreira J, Maciel P, Tutsch D, Souza R (2014) An integrated modeling approach to evaluate and optimize data center sustainability, dependability and cost. Energies 7(1):238–277
Chang Z, Zhou Z, Ristaniemi T, Niu Z (2017) Energy efficient optimization for computation offloading in fog computing system. In: GLOBECOM 2017—2017 IEEE Global Communications Conference, pp 1–6
Chen S, Wang Y, Pedram M (2014) Optimal offloading control for a mobile device based on a realistic battery model and semi-Markov decision process. In: 2014 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pp 369–375
Cordeschi N, Amendola D, Baccarelli E (2015) Reliable adaptive resource management for cognitive cloud vehicular networks. IEEE Trans Veh Technol 64(6):2528–2537
Colour reduction (2015). http://tinyurl.com/pwq8j44. Accessed 28 July 2015
Cordeschi N, Amendola D, Shojafar M, Baccarelli E (2015) Distributed and adaptive resource management in cloud-assisted cognitive radio vehicular networks with hard reliability guarantees. Veh Commun 2(1):1–12
Costa I, Araujo J, Dantas J, Campos E, Silva FA, Maciel P (2015) Availability evaluation and sensitivity analysis of a mobile backend-as-a-service platform. Qual Reliab Eng Int 32:2191–2205
Cuervo E et al (2010) MAUI: making smartphones last longer with code offload. In: Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services, MobiSys ’10, New York, 2010. ACM, pp 49–62
De Sousa ETG, Lins FAA, Tavares EAG, Maciel PRM (2014) Performance and cost modeling strategy for cloud infrastructure planning. In: 2014 IEEE 7th International Conference on Cloud Computing. IEEE, pp 546–553
Desrochers A, Al-Jaar R, Society I C S (1995) Applications of petri nets in manufacturing systems: modeling, control, and performance analysis. IEEE Press, New York
Dijkstra E (1959) A note on two problems in connexion with graphs. Numer. Math. 1:269–271
Dijkstra for android (2016). https://github.com/stewbob/dijkstra/. Accessed 20 Aug 2016
Efron B, Tibshirani R (1993) An introduction to the bootstrap. Chapman and Hall, London
Gabner R, Schwefel H-P, Hummel K, Haring G (2011) Optimal model-based policies for component migration of mobile cloud services. In: 2011 10th IEEE International Symposium on Network Computing and Applications (NCA), pp 195–202
German R (2000) Performance analysis of communication systems with non-Markovian stochastic petri nets. Wiley, New York
German R, Kelling C, Zimmermann A, Hommel G (1995) Timenet—a toolkit for evaluating non-Markovian stochastic petri nets. In: Proceedings 6th International Workshop on Petri Nets and Performance Models, pp 210–211
Greatspn (2017). http://www.di.unito.it/~greatspn/index.html. Accessed 28 July 2017
Herzog U (2001) Formal methods for performance evaluation. Springer, Berlin, pp 1–37
Jasika N, Alispahic N, Elma A, Ilvana K, Elma L, Nosovic N (2012) Dijkstra’s shortest path algorithm serial and parallel execution performance analysis. In: MIPRO, 2012 Proceedings of the 35th International Convention, pp 1811–1815
Javacv (2015). https://github.com/bytedeco/javacv. Accessed 28 July 2015
Kemp R, Palmer N, Kielmann T, Bal H (2012) Cuckoo: a computation offloading framework for smartphones. In: Gris M, Yang G (eds) Mobile computing, applications, and services, vol 76. Lecture notes of the institute for computer sciences, social informatics and telecommunications engineering. Springer, Berlin, pp 59–79
Kocjan P, Saeed K (2012) Face recognition in unconstrained environment. In: Saeed K, Nagashima T (eds) Biometrics and Kansei engineering. Springer, New York, pp 21–42
Kosta S, Aucinas A (2012) Thinkair: dynamic resource allocation and parallel execution in the cloud for mobile code offloading. In: INFOCOM, 2012 Proceedings IEEE, pp 945–953
Kristensen MD (2010) Scavenger: transparent development of efficient cyber foraging applications. In: 2010 IEEE International Conference on Pervasive Computing and Communications (PerCom), pp 217–226
Kumar K, Lu Y-H (2010) Cloud computing for mobile users: can offloading computation save energy? Computer 43(4):51–56
Kuo W, Zuo MJ (2003) Optimal reliability modeling: principles and applications. Wiley, New York
Li Z, Wang C, Xu R (2001) Computation offloading to save energy on handheld devices: a partition scheme. In: Proceedings of the 2001 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, CASES ’01, New York, NY, 2001. ACM, pp 238–246
Maciel P, Trivedi KS, Matias R, Kim DS (2011) Performance and dependability in service computing: concepts, techniques and research directions. In: Dependability modeling. Premier Reference Source, IgI Global. https://doi.org/10.4018/978-1-60960-794-4.ch003
Marsan MA (1990) Stochastic petri nets: an elementary introduction. In: Rozenberg G (ed) Advances in petri nets. Springer, New York, pp 1–29
Marsan MA, Balbo G, Conte G, Donatelli S, Franceschinis G (1994) Modelling with generalized stochastic petri nets, 1st edn. Wiley, New York
Microsoft azure (2017). https://azure.microsoft.com/en-us/pricing/details/bandwidth/. Accessed 22 May 2017
Molloy MK (1982) Performance analysis using stochastic petri nets. IEEE Trans Comput 31:913–917
Murata T (1989) Petri nets: properties, analysis and applications. Proc IEEE 77(4):541–580
Nelson R (2013) Probability, stochastic processes, and queueing theory: the mathematics of computer performance modeling. Springer Science & Business Media, Berlin
Nimmagadda Y, Kumar K, Lu Y-H, Lee C (2010) Real-time moving object recognition and tracking using computation offloading. In: 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp 2449–2455
Nurmi D, Wolski R, Grzegorczyk C, Obertelli G, Soman S, Youseff L, Zagorodnov D (2009) The eucalyptus open-source cloud-computing system. In: CCGRID ’09, pp 124–131
Oliveira D, Araujo J, Matos R, Maciel P (2013) Availability and energy consumption analysis of mobile cloud environments. In: 2013 IEEE International Conference on Systems, Man, and Cybernetics (SMC). IEEE, pp 4086–4091
Opencv (2015). http://opencv.org/. Accessed 28 July 2015
Oracle cloud (2017). https://cloud.oracle.com/en_US/storage/pricing. Accessed 22 May 2017
Ou S, Yang K, Liotta A, Hu L (2007) Performance analysis of offloading systems in mobile wireless environments. In: ICC’07. IEEE International Conference on Communications 2007. IEEE, pp 1821–1826
Pandey S, Nepal S (2012) Modeling availability in clouds for mobile computing. In: 2012 IEEE First International Conference on Mobile Services, pp 80–87
Park J, Yu H, Chung K, Lee E (2011) Markov chain based monitoring service for fault tolerance in mobile cloud computing. In: 2011 IEEE Workshops of International Conference on Advanced Information Networking and Applications, pp 520–525
Pathak A, Hu Y, Zhang M, Bahl P, Wang Y (2011) Enabling automatic offloading of resource-intensive smartphone applications. docs.lib.purdue.edu
Petri C (1962) Kommunikation mit Automaten. Schriften des Rheinisch-Westfälischen Institutes für Instrumentelle Mathematik an der Universität Bonn. Rhein.-Westfäl. Inst. f. Instrumentelle Mathematik an der Univ. Bonn
Pokemon go (2016). http://www.pokemongo.com/. Accessed 20 Aug 2016
Rahimi MR, Venkatasubramanian N, Mehrotra S, Vasilakos AV (2012) Mapcloud: Mobile applications on an elastic and scalable 2-tier cloud architecture. In: Proceedings of the 2012 IEEE/ACM Fifth International Conference on Utility and Cloud Computing, UCC ’12, Washington, DC, USA, 2012. IEEE Computer Society, pp 83–90
Ribas M, Furtado C, Barroso G (2015) Modeling the use of spot instances for cost reduction in cloud computing adoption using a petri net framework. In: (IM), 2015 IFIP/IEEE, 2015. Query date: 18 June 2017
Rim H, Kim S, Kim Y, Han H (Jan 2006) Transparent method offloading for slim execution. In: 2006 1st International Symposium on Wireless Pervasive Computing, pp 1–6
Saarinen A, Siekkinen M, Xiao Y, Nurminen JK, Kemppainen M, Hui P (2012) Can offloading save energy for popular apps? In: Proceedings of the Seventh ACM International Workshop on Mobility in the Evolving Internet Architecture, MobiArch ’12, New York, NY, 2012. ACM, pp 3–10
Silva B, Callou G, Tavares E, Maciel P, Figueiredo J, Sousa E, Araujo C, Magnani F, Neves F (2013) Astro: an integrated environment for dependability and sustainability evaluation. Sustain Comput Inform Syst 3(1):1–17
Silva B, Maciel PRM, Zimmermann A, Brilhante J (2014) Survivability evaluation of disaster tolerant cloud computing systems. In: Proceedings of Probabilistic Safety Assessment and Management (PSAM12), Hawaii, USA, p 453. http://psam12.org/proceedings/paper/paper_453_1.pdf
Silva B, Tavares E, Maciel P, Nogueira B, Oliveira J, Damaso A, Rosa N (Oct 2014) Amalghma—an environment for measuring execution time and energy consumption in embedded systems. In: 2014 IEEE International Conference on Systems, Man and Cybernetics (SMC), pp 3364–3369
Silva B, Matos R, Callou G, Figueiredo J, Oliveira D, Ferreir J, Dantas J, Lobo Junior A, Alves V, Maciel P (2015) Mercury: an integrated environment for performance and dependability evaluation of general systems. In: Proceedings of Industrial Track at 45th Dependable Systems and Networks Conference, DSN 2015. IEEE, Rio de Janeiro
Silva FA, Rodrigues M, Maciel P, Kosta S, Mei A (2015) Planning mobile cloud infrastructures using stochastic petri nets and graphic processing units. In: 2015 IEEE 7th International Conference on Cloud Computing Technology and Science (CloudCom). IEEE, pp 471–474
Silva FA, Zaicaner G, Quesado E, Dornelas M, Silva B, Maciel P (2016) Benchmark applications used in mobile cloud computing research: a systematic mapping study. J Supercomput 72:1431–1452
Silva FA, Kosta S, Rodrigues M, Oliveira D, Maciel T, Mei A, Maciel P (2018) Mobile cloud performance evaluation using stochastic models. IEEE Trans Mob Comput 17(5):1134–1147
Soyata T, Muraleedharan R, Funai C, Kwon M, Heinzelman W (2012) Cloud-vision: real-time face recognition using a mobile-cloudlet-cloud acceleration architecture. In: 2012 IEEE Symposium on Computers and Communications (ISCC), pp 000059–000066
Triola M (2004) Elementary statistics, 9th edn. Addison Wesley, Reading
Trivedi KS (2001) Probability and statistics with reliability, queuing, and computer science applications. Wiley, New York
Trivedi KS, Sahner R (2009) Sharpe at the age of twenty two. SIGMETRICS Perform. Eval. Rev. 36(4):52–57
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
da Silva Pinheiro, T.F., Silva, F.A., Fé, I. et al. Performance prediction for supporting mobile applications’ offloading. J Supercomput 74, 4060–4103 (2018). https://doi.org/10.1007/s11227-018-2414-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-018-2414-6