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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The PRISM-Games files are available at https://github.com/kauray/offloadgame.
References
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
Baier, C., Katoen, J.P.: Principles of Model Checking (2008)
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)
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)
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)
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
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)
Evangelidis, A., Parker, D., Bahsoon, R.: Performance modelling and verification of cloud-based auto-scaling policies. Future Gener. Comput. Syst. 87, 629–638 (2018)
Fernando, N., Loke, S.W., Rahayu, W.: Mobile cloud computing: a survey. Future Gener. Comput. Syst. 29(1), 84–106 (2013)
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)
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)
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)
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
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
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
Lai, P., et al.: Cost-effective app user allocation in an edge computing environment. IEEE Trans. Cloud Comput. (2020)
Li, K.: Heuristic computation offloading algorithms for mobile users in fog computing. ACM Trans. Embed. Comput. Syst. (TECS) 20(2), 1–28 (2021)
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)
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)
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)
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
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
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)
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)
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)
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)
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)
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)
Ray, K., Banerjee, A.: Prioritized fault recovery strategies for multi-access edge computing using probabilistic model checking. IEEE Trans. Dependable Secure Comput. (2022)
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)
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)
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
Shi, W., Cao, J., Zhang, Q., Li, Y., Xu, L.: Edge computing: vision and challenges. IEEE Internet Things 3(5), 637–646 (2016)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
Author information
Authors and Affiliations
Corresponding author
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:
where \(E_{c}\), the energy consumption \((\textrm{J})\) over one cycle \((\varDelta t)\), is given by
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
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
where bij are regression coefficients, and \(v_{S O C}\) is the voltage representation of the battery SOC, that is,
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:
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:
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.
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
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
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)