Abstract
IoT systems can be regarded as distributed systems that are composed of heterogeneous smart devices with different performances and functionalities. Many IoT applications with various resources and real-time requirements will run concurrently in an IoT system. In addition, non-functional properties such as power consumption and device lifetime are considered important. Since the IoT services can be added or removed anytime and the device status may change at runtime, the system configuration is unprecedentedly dynamic, which brings up a challenging scheduling problem of IoT services onto the devices. We assume that an IoT application is specified by a directed graph, called service graph, where nodes represent services while the directed edges represent the dependencies between them. To tackle this problem, we propose a novel adaptive approach that consists of two scheduling techniques, incremental and global. The incremental heuristic method is proposed to provide fast responsiveness to the dynamically changing configuration while satisfying the real-time constraints. During steady state operation, GA-based global rescheduling is periodically applied. We use the acceptance ratio of new services and energy consumption as two performance metrics of the proposed scheduling method. The viability of the proposed approach is verified by extensive simulations with random IoT service graphs.
Similar content being viewed by others
Notes
Two terms, device and thing, are used interchangeably in this paper. A thing is a device that can serve a limited set of functions.
Two terms, service and task, are used interchangeably in this paper.
References
Ali HI et al. (2015) Generalized extraction of real-time parameters for homogeneous synchronous dataflow graphs. In: 2015 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, pp 701–710, https://doi.org/10.1109/PDP.2015.57
Audsley N, Burns A, Wellings A (1993) Deadline monotonic scheduling theory and application. Control Eng Pract 1(1):71–78. https://doi.org/10.1016/0967-0661(93)92105-D
Bakir F, Wolski R, Krintz C, Ramachandran GS (2019) Devices-as-services: Rethinking scalable service architectures for the internet of things. In: 2nd \(\{\)USENIX\(\}\) Workshop on Hot Topics in Edge Computing (HotEdge 19)
Bamakhrama M, et al. (2011) Hard-real-time scheduling of data-dependent tasks in embedded streaming applications. In: Proceedings of the ninth ACM international conference on Embedded software, ACM, pp 195–204
Baruah S, Bonifaci V, Marchetti-Spaccamela A (2015) The global edf scheduling of systems of conditional sporadic dag tasks. In: 2015 27th Euromicro Conference on Real-Time Systems, pp 222–231, https://doi.org/10.1109/ECRTS.2015.27
Basu S et al (2018) An intelligent/cognitive model of task scheduling for iot applications in cloud computing environment. Future Gener Comput Syst 88:254–261. https://doi.org/10.1016/j.future.2018.05.056
Bate I et al. (2006) Incorporating scenarios and heuristics to improve flexibility in real-time embedded systems. In: 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS’06), IEEE, pp 221–230
Ben Mabrouk N et al (2009) Qos-aware service composition in dynamic service oriented environments. In: Bacon JM, Cooper BF (eds) Middleware 2009. Springer, Heidelberg, pp 123–142
Benedetti M, Messina F, Pappalardo G, Santoro C (2017) Jarvsis: a distributed scheduler for iot applications. Clust Comput. https://doi.org/10.1007/s10586-017-0836-1
Bengtsson J, et al. (1995) Uppaal–a tool suite for automatic verification of real-time systems. In: International Hybrid Systems Workshop, Springer, pp 232–243
Bhatia M, Sood SK, Kaur S (2019) Quantum-based predictive fog scheduler for iot applications. Comput Ind 111:51–67
Bonifaci V, Marchetti-Spaccamela A, Stiller S, Wiese A (2013) Feasibility analysis in the sporadic dag task model. In: 2013 25th Euromicro Conference on Real-Time Systems, pp 225–233, https://doi.org/10.1109/ECRTS.2013.32
Brüggen G, et al. (2015) Schedulability and optimization analysis for non-preemptive static priority scheduling based on task utilization and blocking factors. In: 2015 27th Euromicro Conference on Real-Time Systems, pp 90–101, https://doi.org/10.1109/ECRTS.2015.16
Burchard A, Liebeherr J, Oh Y, Son SH (1994) Assigning real-time tasks to homogeneous multiprocessor systems. Tech. rep, USA
Choi J, Oh H, Ha S (2018) A hybrid performance analysis technique for distributed real-time embedded systems. Real-Time Syst. https://doi.org/10.1007/s11241-018-9307-x
Davis RI, et al. (2015) Quantifying the exact sub-optimality of non-preemptive scheduling. In: 2015 IEEE Real-Time Systems Symposium, pp 96–106, https://doi.org/10.1109/RTSS.2015.17
Fonseca JC, Nélis V, Raravi G, Pinho LM (2015) A multi-dag model for real-time parallel applications with conditional execution. In: Proceedings of the 30th Annual ACM Symposium on Applied Computing, Association for Computing Machinery, New York, NY, USA, SAC ’15, p 1925–1932, https://doi.org/10.1145/2695664.2695808
Garey MR et al (1990) Computers and intractability a guide to the theory of NP-completeness. W H Freeman & Co, New York
George G, Bakir F, Wolski R, Krintz C (2020) Nanolambda: Implementing functions as a service at all resource scales for the internet of things. In: 2020 IEEE/ACM Symposium on Edge Computing (SEC), pp 220–231, https://doi.org/10.1109/SEC50012.2020.00035
Harbour MG, García JG, Gutiérrez JP, Moyano JD (2001) Mast: Modeling and analysis suite for real time applications. In: Proceedings 13th Euromicro Conference on Real-Time Systems, IEEE, pp 125–134
Henia R et al (2005) System level performance analysis-the symta/s approach. IEE Proc-Comput Digit Tech 152(2):148–166
Kao H, et al. (1993) Deadline assignment in a distributed soft real-time system. In: [1993] Proceedings. The 13th International Conference on Distributed Computing Systems, pp 428–437, https://doi.org/10.1109/ICDCS.1993.287682
Kim J, Oh H, Choi J, Ha H, Ha S (2013) A novel analytical method for worst case response time estimation of distributed embedded systems. In: Proceedings of the 50th Annual Design Automation Conference, pp 1–10
Kolomvatsos K, Anagnostopoulos C (2019) Multi-criteria optimal task allocation at the edge. Future Gener Comput Syst 93:358–372
Lakra AV, et al. (2015) Multi-objective tasks scheduling algorithm for cloud computing throughput optimization. Procedia Computer Science 48:107 – 113, https://doi.org/10.1016/j.procs.2015.04.158, http://www.sciencedirect.com/science/article/pii/S1877050915006675, international Conference on Computer, Communication and Convergence (ICCC 2015)
Lam AN (2017) Sai: A service oriented autonomic iot platform
Lampka K, et al. (2009) Analytic real-time analysis and timed automata: a hybrid method for analyzing embedded real-time systems. In: Proceedings of the seventh ACM international conference on Embedded software, ACM, pp 107–116
Le Boudec JY et al (2001) Network calculus: a theory of deterministic queuing systems for the internet. Springer, Berlin
Lee H, et al. (2017) A novel service-oriented platform for the internet of things. In: Proceedings of the Seventh International Conference on the Internet of Things, ACM, New York, NY, USA, IoT ’17, pp 18:1–18:8, https://doi.org/10.1145/3131542.3131549, http://doi.acm.org/10.1145/3131542.3131549
Li L et al (2014) Qos-aware scheduling of services-oriented internet of things. IEEE Trans Ind Inform 10(2):1497–1505. https://doi.org/10.1109/TII.2014.2306782
Li S et al (2015) The internet of things: a survey. Inform Syst Front 17(2):243–259. https://doi.org/10.1007/s10796-014-9492-7
Liu CL et al (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM 20(1):46–61. https://doi.org/10.1145/321738.321743
Liu Z, Zhang H, Rao B, Wang L (2018) A reinforcement learning based resource management approach for time-critical workloads in distributed computing environment. In: 2018 IEEE International Conference on Big Data (Big Data), pp 252–261
Mao H, Alizadeh M, Menache I, Kandula S (2016) Resource management with deep reinforcement learning. In: Proceedings of the 15th ACM Workshop on Hot Topics in Networks, pp 50–56
Mayank J, Mondal A (2017) Non-preemptive multiprocessor scheduling for periodic real-time tasks. In: 2017 7th International Symposium on Embedded Computing and System Design (ISED), pp 1–6, https://doi.org/10.1109/ISED.2017.8303931
Melani A, Bertogna M, Bonifaci V, Marchetti-Spaccamela A, Buttazzo G (2017) Schedulability analysis of conditional parallel task graphs in multicore systems. IEEE Trans Comput 66(2):339–353. https://doi.org/10.1109/TC.2016.2584064
Mohammadi A, et al. (2017) Openga, a c++ genetic algorithm library. In: 2017 IEEE International Conference on Systems, Man, and Cybernetics (SMC), pp 2051–2056, https://doi.org/10.1109/SMC.2017.8122921
Narman HS et al (2017) Scheduling internet of things applications in cloud computing. Annals Telecommun 72(1):79–93. https://doi.org/10.1007/s12243-016-0527-6
Natale D, et al. (1994) Dynamic end-to-end guarantees in distributed real time systems. In: 1994 Proceedings Real-Time Systems Symposium, pp 216–227, https://doi.org/10.1109/REAL.1994.342714
Nguyen BM, et al. (2019) Evolutionary algorithms to optimize task scheduling problem for the iot based bag-of-tasks application in cloud–fog computing environment. Applied Sciences 9(9), https://doi.org/10.3390/app9091730, https://www.mdpi.com/2076-3417/9/9/1730
Niknam S, Wang P, Stefanov T (2019) Hard real-time scheduling of streaming applications modeled as cyclic csdf graphs. In: 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE), IEEE, pp 1549–1554
Park M (2007) Non-preemptive fixed priority scheduling of hard real-time periodic tasks. In: Shi Y, van Albada GD, Dongarra J, Sloot PMA (eds) Computational Science - ICCS 2007. Springer, Heidelberg, pp 881–888
Pham XQ et al (2017) A cost-and performance-effective approach for task scheduling based on collaboration between cloud and fog computing. Int J Distrib Sens Netw 13(11):1550147717742073
Srichandan S, et al. (2018) Task scheduling for cloud computing using multi-objective hybrid bacteria foraging algorithm. Future Computing and Informatics Journal https://doi.org/10.1016/j.fcij.2018.03.004, http://www.sciencedirect.com/science/article/pii/S2314728817300570
Thiele L, et al. (2000) Real-time calculus for scheduling hard real-time systems. In: 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No. 00CH36353), IEEE, vol 4, pp 101–104
Wandeler E et al (2006) System architecture evaluation using modular performance analysis: a case study. Int J Softw Tools Technol Transfer 8(6):649–667
Wang G et al (2016) Hsip: a novel task scheduling algorithm for heterogeneous computing. Sci Progr 2016:11. https://doi.org/10.1155/2016/3676149
Yang K, Yang M, Anderson JH (2016) Reducing response-time bounds for dag-based task systems on heterogeneous multicore platforms. Association for Computing Machinery, New York, NY, USA, RTNS ’16, p 349–358, https://doi.org/10.1145/2997465.2997486,
Yerraballi R et al (1996) Scalability in real-time systems with end-to-end requirements. J Syst Architect 42(6–7):409–429
Zheng W, di Natale M, Pinello C, Giusto P, Vincentelli AS (2007) Synthesis of task and message activation models in real-time distributed automotive systems. In: 2007 Design, Automation Test in Europe Conference Exhibition, pp 1–6, https://doi.org/10.1109/DATE.2007.364573
Zhu Q et al (2010) Optimizing the software architecture for extensibility in hard real-time distributed systems. IEEE Trans Ind Inform 6(4):621–636
Acknowledgements
This work was supported by the National Research Foundation of Korea(NRF) grant funded by the Korea government(MSIT) (No. NRF-2019R1A2B5B02069406) and the ITRC (Information Technology Research Center) support program (IITP-2021-2018-0-01424) supervised by the IITP (Institute for Information & communications Technology Promotion).
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
Kim, J., Park, K., Yang, H. et al. Adaptive run-time scheduling of dependent services for service-oriented IoT systems. Des Autom Embed Syst 25, 265–295 (2021). https://doi.org/10.1007/s10617-021-09253-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10617-021-09253-x