Skip to main content

Preference-Aware Computation Offloading for IoT in Multi-access Edge Computing Using Probabilistic Model Checking

  • Conference paper
  • First Online:
Quantitative Evaluation of Systems (QEST 2022)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13479))

Included in the following conference series:

Abstract

A key cornerstone of Multi-Access Edge Computing (MEC) is an offloading policy utilized to determine whether to execute computation tasks on IoT devices or to offload the tasks to MEC servers for processing. In this work, we propose a Probabilistic Model Checking based offloading policy catering to device user preferences. We model the interactions between the various components of the MEC environment using a Turn-Based Stochastic Multi-Player Game (SMG). We present experiments on practical scenarios on data gathered from a test-bed setup with benchmark applications to show the benefits of an adaptive preference-aware approach over conventional approaches in MEC offloading.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The PRISM-Games files are available at https://github.com/kauray/offloadgame.

References

  1. Bahreini, T., Badri, H., Grosu, D.: Energy-aware capacity provisioning and resource allocation in edge computing systems. In: Zhang, T., Wei, J., Zhang, L.-J. (eds.) EDGE 2019. LNCS, vol. 11520, pp. 31–45. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-23374-7_3

    Chapter  Google Scholar 

  2. Baier, C., Katoen, J.P.: Principles of Model Checking (2008)

    Google Scholar 

  3. Buyya, R., Yeo, C.S., Venugopal, S., Broberg, J., Brandic, I.: Cloud computing and emerging it platforms: vision, hype, and reality for delivering computing as the 5th utility. Future Gener. Comput. Syst. 25(6), 599–616 (2009)

    Article  Google Scholar 

  4. Carroll, A., Heiser, G., et al.: An analysis of power consumption in a smartphone. In: USENIX Annual Technical Conference, Boston, MA, vol. 14, p. 21 (2010)

    Google Scholar 

  5. Chen, L., Zhou, S., Xu, J.: Computation peer offloading for energy-constrained mobile edge computing in small-cell networks. IEEE/ACM Trans. Netw. 26(4), 1619–1632 (2018)

    Article  Google Scholar 

  6. Chen, T., Forejt, V., Kwiatkowska, M., Parker, D., Simaitis, A.: Automatic verification of competitive stochastic systems. Formal Methods Syst. Des. 43(1), 61–92 (2013). https://doi.org/10.1007/s10703-013-0183-7

    Article  MATH  Google Scholar 

  7. Chen, W., Wang, D., Li, K.: Multi-user multi-task computation offloading in green mobile edge cloud computing. IEEE Trans. Serv. Comput. 12(5), 726–738 (2019)

    Article  Google Scholar 

  8. Evangelidis, A., Parker, D., Bahsoon, R.: Performance modelling and verification of cloud-based auto-scaling policies. Future Gener. Comput. Syst. 87, 629–638 (2018)

    Article  Google Scholar 

  9. Fernando, N., Loke, S.W., Rahayu, W.: Mobile cloud computing: a survey. Future Gener. Comput. Syst. 29(1), 84–106 (2013)

    Article  Google Scholar 

  10. Guthaus, M.R., Ringenberg, J.S., Ernst, D., Austin, T.M., Mudge, T., Brown, R.B.: MiBench: a free, commercially representative embedded benchmark suite. In: Proceedings of the Fourth Annual IEEE International Workshop on Workload Characterization, WWC-4 (Cat. No. 01EX538), pp. 3–14. IEEE (2001)

    Google Scholar 

  11. Kikuchi, S., Matsumoto, Y.: Performance modeling of concurrent live migration operations in cloud computing systems using prism probabilistic model checker. In: IEEE CLOUD 2011, pp. 49–56 (2011)

    Google Scholar 

  12. Kwiatkowska, M., Norman, G., Parker, D.: PRISM: probabilistic model checking for performance and reliability analysis. ACM SIGMETRICS Perform. Eval. Rev. 36(4), 40–45 (2009)

    Article  Google Scholar 

  13. Kwiatkowska, M., Parker, D., Wiltsche, C.: PRISM-games 2.0: a tool for multi-objective strategy synthesis for stochastic games. In: Chechik, M., Raskin, J.-F. (eds.) TACAS 2016. LNCS, vol. 9636, pp. 560–566. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49674-9_35

    Chapter  Google Scholar 

  14. Lai, P., et al.: Optimal edge user allocation in edge computing with variable sized vector bin packing. In: Pahl, C., Vukovic, M., Yin, J., Yu, Q. (eds.) ICSOC 2018. LNCS, vol. 11236, pp. 230–245. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03596-9_15

    Chapter  Google Scholar 

  15. Lai, P., et al.: Edge user allocation with dynamic quality of service. In: Yangui, S., Bouassida Rodriguez, I., Drira, K., Tari, Z. (eds.) ICSOC 2019. LNCS, vol. 11895, pp. 86–101. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-33702-5_8

    Chapter  Google Scholar 

  16. Lai, P., et al.: Cost-effective app user allocation in an edge computing environment. IEEE Trans. Cloud Comput. (2020)

    Google Scholar 

  17. Li, K.: Heuristic computation offloading algorithms for mobile users in fog computing. ACM Trans. Embed. Comput. Syst. (TECS) 20(2), 1–28 (2021)

    Article  Google Scholar 

  18. Mao, Y., You, C., Zhang, J., Huang, K., Letaief, K.B.: A survey on mobile edge computing: the communication perspective. IEEE Commun. Surv. Tutor. 19(4), 2322–2358 (2017)

    Article  Google Scholar 

  19. Naskos, A., et al.: Dependable horizontal scaling based on probabilistic model checking. In: 2015 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, pp. 31–40. IEEE (2015)

    Google Scholar 

  20. Neto, J.L.D., Yu, S.Y., Macedo, D.F., Nogueira, J.M.S., Langar, R., Secci, S.: ULOOF: a user level online offloading framework for mobile edge computing. IEEE Trans. Mob. Comput. 17(11), 2660–2674 (2018)

    Article  Google Scholar 

  21. Panda, S.P., Ray, K., Banerjee, A.: Dynamic edge user allocation with user specified QoS preferences. In: Kafeza, E., Benatallah, B., Martinelli, F., Hacid, H., Bouguettaya, A., Motahari, H. (eds.) ICSOC 2020. LNCS, vol. 12571, pp. 187–197. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-65310-1_15

    Chapter  Google Scholar 

  22. Panda, S.P., Ray, K., Banerjee, A.: Service allocation/placement in multi-access edge computing with workload fluctuations. In: Hacid, H., Kao, O., Mecella, M., Moha, N., Paik, H. (eds.) ICSOC 2021. LNCS, vol. 13121, pp. 747–755. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-91431-8_51

    Chapter  Google Scholar 

  23. Peng, Q., et al.: Mobility-aware and migration-enabled online edge user allocation in mobile edge computing. In: 2019 IEEE International Conference on Web Services (ICWS), pp. 91–98. IEEE (2019)

    Google Scholar 

  24. Poularakis, K., Llorca, J., Tulino, A.M., Taylor, I., Tassiulas, L.: Service placement and request routing in MEC networks with storage, computation, and communication constraints. IEEE/ACM Trans. Netw. 28(3), 1047–1060 (2020)

    Article  Google Scholar 

  25. Ray, K., Banerjee, A.: Trace-driven modeling and verification of a mobility-aware service allocation and migration policy for mobile edge computing. In: IEEE ICWS (2020)

    Google Scholar 

  26. Ray, K., Banerjee, A.: A framework for analyzing resource allocation policies for multi-access edge computing. In: 2021 IEEE International Conference on Edge Computing (EDGE), pp. 102–110. IEEE (2021)

    Google Scholar 

  27. Ray, K., Banerjee, A.: Horizontal auto-scaling for multi-access edge computing using safe reinforcement learning. ACM Trans. Embed. Comput. Syst. (TECS) 20(6), 1–33 (2021)

    Article  Google Scholar 

  28. Ray, K., Banerjee, A.: Modeling and verification of service allocation policies for multi-access edge computing using probabilistic model checking. IEEE Trans. Netw. Serv. Manag. 18(3), 3400–3414 (2021)

    Article  Google Scholar 

  29. Ray, K., Banerjee, A.: Prioritized fault recovery strategies for multi-access edge computing using probabilistic model checking. IEEE Trans. Dependable Secure Comput. (2022)

    Google Scholar 

  30. Ray, K., Banerjee, A., Narendra, N.C.: Proactive microservice placement and migration for mobile edge computing. In: 2020 IEEE/ACM Symposium on Edge Computing (SEC), pp. 28–41. IEEE (2020)

    Google Scholar 

  31. Rossi, F., Nardelli, M., Cardellini, V.: Horizontal and vertical scaling of container-based applications using reinforcement learning. In: 2019 IEEE 12th International Conference on Cloud Computing (CLOUD), pp. 329–338. IEEE (2019)

    Google Scholar 

  32. Shamsa, E., et al.: UBAR: user- and battery-aware resource management for smartphones. ACM Trans. Embed. Comput. Syst. 20(3), 1–25 (2021). https://doi.org/10.1145/3441644

    Article  Google Scholar 

  33. Shi, W., Cao, J., Zhang, Q., Li, Y., Xu, L.: Edge computing: vision and challenges. IEEE Internet Things 3(5), 637–646 (2016)

    Article  Google Scholar 

  34. Shin, D., et al.: Online estimation of the remaining energy capacity in mobile systems considering system-wide power consumption and battery characteristics. In: 2013 18th Asia and South Pacific Design Automation Conference (ASP-DAC), pp. 59–64. IEEE (2013)

    Google Scholar 

  35. Shu, C., Zhao, Z., Han, Y., Min, G., Duan, H.: Multi-user offloading for edge computing networks: a dependency-aware and latency-optimal approach. IEEE Internet Things J. 7(3), 1678–1689 (2020)

    Article  Google Scholar 

  36. Tian, S., Chi, C., Long, S., Oh, S., Li, Z., Long, J.: User preference-based hierarchical offloading for collaborative cloud-edge computing. IEEE Trans. Serv. Comput. (2021)

    Google Scholar 

  37. Wang, F., Xu, J., Wang, X., Cui, S.: Joint offloading and computing optimization in wireless powered mobile-edge computing systems. IEEE Trans. Wirel. Commun. 17(3), 1784–1797 (2017)

    Article  Google Scholar 

  38. Wang, S., Urgaonkar, R., Zafer, M., He, T., Chan, K., Leung, K.K.: Dynamic service migration in mobile edge computing based on Markov decision process. IEEE/ACM Trans. Netw. 27(3), 1272–1288 (2019)

    Article  Google Scholar 

  39. Wu, Y., Ni, K., Zhang, C., Qian, L.P., Tsang, D.H.: Noma-assisted multi-access mobile edge computing: a joint optimization of computation offloading and time allocation. IEEE Trans. Veh. Technol. 67(12), 12244–12258 (2018)

    Article  Google Scholar 

  40. Xie, Q., Kim, J., Wang, Y., Shin, D., Chang, N., Pedram, M.: Dynamic thermal management in mobile devices considering the thermal coupling between battery and application processor. In: 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pp. 242–247. IEEE (2013)

    Google Scholar 

  41. Xu, J., Chen, L., Zhou, P.: Joint service caching and task offloading for mobile edge computing in dense networks. In: IEEE INFOCOM 2018-IEEE Conference on Computer Communications, pp. 207–215. IEEE (2018)

    Google Scholar 

  42. Yao, H., Bai, C., Xiong, M., Zeng, D., Fu, Z.: Heterogeneous cloudlet deployment and user-cloudlet association toward cost effective fog computing. Concurr. Comput. Pract. Exp. 29(16), e3975 (2017)

    Article  Google Scholar 

  43. You, C., Huang, K., Chae, H., Kim, B.H.: Energy-efficient resource allocation for mobile-edge computation offloading. IEEE Trans. Wirel. Commun. 16(3), 1397–1411 (2016)

    Article  Google Scholar 

  44. Yu, D., Li, Y., Xu, F., Zhang, P., Kostakos, V.: Smartphone app usage prediction using points of interest. Proc. ACM Interact. Mob. Wearable Ubiquit. Technol. 1(4), 1–21 (2018). Article no: 174

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kaustabha Ray .

Editor information

Editors and Affiliations

Appendices

A Battery Model

We use a battery model (\(4 \mathrm {~V}, 2,000\,\textrm{mAh}\)) which is representative of IoT devices. Further, we consider an effective battery energy \((28,800 \mathrm {~J})\) which has been utilized in several previous studies [32, 34, 40].

Battery Energy: For predicting the battery energy pattern, we consider the discharging cycles using the models utilized in several real-world studies. For estimating the remaining battery energy and SOC in smartphones during discharging, we use a discharging model [32]. For an accurate calculation of available charge, the model takes into account the rate capacity effect in batteries. According to the rate capacity effect of batteries, charging and discharging efficiency fall as charging and discharging currents increase [32]. Over each discrete time slot, we calculate the battery energy by monitoring the device’s instantaneous power consumption and discharging current E using:

$$ E(t+\varDelta t)=E(t)-E_{c}, $$

where \(E_{c}\), the energy consumption \((\textrm{J})\) over one cycle \((\varDelta t)\), is given by

$$ E_{c}=\varDelta t \times P_{\text {device}}+E_{\text {loss}}, $$

where \(\varDelta t\) denotes the time duration of each cycle (in second) and \(P_{\text {device}}\) is the total power consumption (Watt) of the device during \(\varDelta t\). In the work in [34], the authors demonstrate generation of individual power characterization of workloads on specific cores (such as the LITTLE and BIG cores) of IoT devices. We assume that such a characterization is available a priori. Thus, the value of \(P_{\text {device}}\) is calculated in accordance with the power characterization depending on where the task is executed. In our work, \(P_{\text {device}}\) refers to the average power consumption. \(E_{\text {loss}}\) is the internal loss of the battery, caused by the rate capacity effect and is calculated by

$$ E_{\text {loss}}=\varDelta t \times \left( i_{b}^{2} R_{\text {total}}+i_{b} \cdot v_{O C} \cdot \left( 1 / \eta \left( i_{b}\right) -1\right) \right) , $$

where \(i_{b}\) is the discharging current (amp) of the battery, \(R_{\text {total}}\) is the total internal resistance (ohm) of the battery, \(v_{O C}\) is the open circuit terminal voltage (volt) of the battery, and \(\eta \left( i_{b}\right) \) denotes the battery discharging efficiency, which can be approximated as \(1 /\left( \left( i_{b}\right) ^{k_{d}}\right) \), where \(k_{d}\) is the parameter representing the Odroid platform utilized in [32]. \(R_{\text {total}}\) and \(v_{O C}\) are calculated using

$$ \begin{array}{c} R_{\text {total}}=b_{21} e^{b_{22} v_{\text {SOC}}+b_{23}} \\ v_{O C}=b_{11} e^{b_{12} v_{\text {soc}}}+b_{13} v_{\text {soc}}^{4}+b_{14} v_{\text {soc}}^{3}+b_{15} v_{\text {soc}}{ }^{2}+b_{16} v_{\text {soc}}+b_{17}, \end{array} $$

where bij are regression coefficients, and \(v_{S O C}\) is the voltage representation of the battery SOC, that is,

$$ v_{S O C}=C_{b} / C_{b, f u l l} \times 1 \mathrm {~V}, $$

where \(C_{b}\) is the remaining charge in the battery, and \(C_{b, f u l l}\) is the battery charge when it is fully charged. Note that we utilize energy consumption in our model. The State-Of-Charge is related to the energy consumption as follows:

$$ {\text {SOC}}(t+\varDelta t)=\frac{E(t+\varDelta t) \times 100}{E_{T}} $$

The State-Of-Charge is an important factor in influencing battery life and ageing, according to [32]. Battery capacity declines with use over time owing to the loss of active components, which is known as battery ageing. As a result, in this paper, we present an offloading strategy based on the battery model used in [32]. The chosen model mimics capacity decline over time using average energy and temperature as input. In the next subsection we discuss the model of temperature utilized in our work.

Battery Temperature Model: In this paper, we employ a battery thermal model similar to the model employed in [32] that represents an IoT device. Thermal coupling between the battery and the CPU is taken into account in this model. The thermal coupling effect between the battery and the CPU plays a major role in determining the battery temperature in smartphones due to the tiny physical area. As a result, one part of a smartphone’s thermal behaviour is not independent of the other. Furthermore, the CPU’s thermal behaviour is strongly influenced by the application services that are running. By monitoring the power utilized by the CPU we can estimate the battery temperature in an indirect manner. The detailed model is presented below:

$$ \begin{aligned} T_{b a t}=&\, T_{e n v}+\frac{R_{c p u-e n v} R_{b a t-e n v}}{R_{b a t-e n v}+R_{c p u-b a t}+R_{c p u-e n v}}. P_{c p u} \end{aligned} $$

where \(T_{b a t}\) and \(T_{e n v}\) are battery and environment temperature, \(P_{c p u}\) and \(P_{b a t}\) are CPU and battery power consumption, and \(R_{i-j}\) is the thermal resistance between i and j, where i and j can be CPU, environment, and battery. The value for these resistances are utilized from [32]. The above energy and thermal models can be replaced by any other model, as our framework is designed in a modular and replaceable manner.

B Experimental Setup

Workload: To the best of our knowledge, there are no real-world MEC implementation workload traces that are publicly available and sufficiently representative of our problem context. Therefore, for our experiments, we generate synthetic workloads using real-world applications from the Mibench benchmark [10, 32]. The Mibench benchmark suite provides benchmarks in various categories of standard applications ranging from sensor systems on simple microcontrollers to smartphones and desktops. Table 4 summarises the Mibench programmes utilised in this setup. The applications we employ in this research are in the network and security categories, both of which are pertinent to and reflective of IoT applications.

Fig. 9.
figure 9

Comparative Computation Running Times for Combinations of Applications on the MEC server, LITTLE core and BIG core respectively

Table 4. Mibench benchmark applications used in this work

Data Gathering: We utilize the applications described in Table 4 to characterize the running times of various tasks of the applications. We utilize the executables of the Mibench benchmark as application tasks. We utilize these running times to simulate the MEC-IoT setup. We first consider a random number of applications between 2 and 4 and execute these applications simultaneously. We consider three measurements: a) by running the applications simultaneously on the MEC server b) by running the applications simultaneously by setting the processor affinity to the “LITTLE” cores and c) by running the applications simultaneously by setting the processor affinity to the “BIG” cores. Figure 9 depicts the runtimes for the various scenarios and the corresponding application scenarios utilized with a combination of the Dijkstra, Patricia, Quick Sort and Sha applications. Each combination of applications is executed 100 times. Figures 9a, 9b and 9c depict the variations in runtimes for the different combinations of applications for 100 different executions. As can be inferred from the figures, even for the same type of application combination, for example, Dijktra and Patricia, there is a variation in the runtimes depicting the stochastic nature of application execution runtimes. Additionally, note that there is a variation in the runtimes depending on whether the application is executed on the MEC server or locally as well as on the type of core when executed locally. These variations depict the impact of the hardware specifications on the runtime of application tasks. Prior work [44] has proposed that it is possible to effectively predict the combinations of applications utilized given a specific time of day as well as locality. Our methodology is thus based on such a premise. We assume that such a characterization involving a combination of applications can be derived a priori and utilizing the setup described above their running times can be determined for a specific set of hardware. We utilize these runtimes as the values of latencies (measured in seconds) to generate the DTMC model of the Task Execution Latencies as explained in Sect. 4.3.

1.1 B.1 Simulation Setup

We simulate the MEC scenario by considering an IoT device executing tasks. Upon task execution, the models are initialized into the Probabilistic Model Checker PRISM-Games [13] along with the IoT device preferenceFootnote 1 The model checker returns the strategy. Each discrete time slot is then simulated by executing the strategy as returned by PRISM-Games and the data gathered from the above set of experiments is used to sample the stochastic nature of task execution times. Additionally, in the simulation, the battery energy and temperature are updated according to the models described. Our simulation thus implicitly assumes that an accurate model of the energy and thermal dynamics of the MEC ecosystem is available. However, note that our SMG based model can be utilized with any other battery and energy model as well thus providing a generic approach. We simulate the MEC scenario by considering a single IoT device since the offloading scheme is identical whenever each IoT device executes a task. When the task is executed at the MEC server, the computation time distribution is obtained by considering the running times of a combination of applications. Such a setup thus simulates several applications running on the MEC server simultaneously.

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Ray, K., Banerjee, A. (2022). Preference-Aware Computation Offloading for IoT in Multi-access Edge Computing Using Probabilistic Model Checking. In: Ábrahám, E., Paolieri, M. (eds) Quantitative Evaluation of Systems. QEST 2022. Lecture Notes in Computer Science, vol 13479. Springer, Cham. https://doi.org/10.1007/978-3-031-16336-4_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-16336-4_14

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-16335-7

  • Online ISBN: 978-3-031-16336-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics