Skip to main content
Log in

Adaptive run-time scheduling of dependent services for service-oriented IoT systems

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

Notes

  1. Two terms, device and thing, are used interchangeably in this paper. A thing is a device that can serve a limited set of functions.

  2. Typically, services provided by devices or things are indivisible as they are associated with certain sensors/actuators or physical processes. Moreover, even in case of pure software services, it is common to adopt non-preemptive scheduling in embedded systems [13, 42].

  3. Two terms, service and task, are used interchangeably in this paper.

References

  1. 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

  2. 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

    Article  Google Scholar 

  3. 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)

  4. 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

  5. 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

  6. 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

    Article  Google Scholar 

  7. 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

  8. 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

    Chapter  Google Scholar 

  9. 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

    Article  Google Scholar 

  10. 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

  11. Bhatia M, Sood SK, Kaur S (2019) Quantum-based predictive fog scheduler for iot applications. Comput Ind 111:51–67

    Article  Google Scholar 

  12. 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

  13. 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

  14. Burchard A, Liebeherr J, Oh Y, Son SH (1994) Assigning real-time tasks to homogeneous multiprocessor systems. Tech. rep, USA

    MATH  Google Scholar 

  15. 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

    Article  MATH  Google Scholar 

  16. 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

  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

  18. Garey MR et al (1990) Computers and intractability a guide to the theory of NP-completeness. W H Freeman & Co, New York

    Google Scholar 

  19. 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

  20. 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

  21. Henia R et al (2005) System level performance analysis-the symta/s approach. IEE Proc-Comput Digit Tech 152(2):148–166

    Article  Google Scholar 

  22. 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

  23. 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

  24. Kolomvatsos K, Anagnostopoulos C (2019) Multi-criteria optimal task allocation at the edge. Future Gener Comput Syst 93:358–372

    Article  Google Scholar 

  25. 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)

  26. Lam AN (2017) Sai: A service oriented autonomic iot platform

  27. 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

  28. Le Boudec JY et al (2001) Network calculus: a theory of deterministic queuing systems for the internet. Springer, Berlin

    Book  Google Scholar 

  29. 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

  30. 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

    Article  Google Scholar 

  31. 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

    Article  Google Scholar 

  32. 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

    Article  MathSciNet  MATH  Google Scholar 

  33. 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

  34. 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

  35. 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

  36. 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

    Article  MathSciNet  MATH  Google Scholar 

  37. 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

  38. 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

    Article  Google Scholar 

  39. 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

  40. 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

  41. 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

  42. 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

    Chapter  Google Scholar 

  43. 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

    Article  Google Scholar 

  44. 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

  45. 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

  46. 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

    Article  Google Scholar 

  47. 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

    Article  Google Scholar 

  48. 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,

  49. Yerraballi R et al (1996) Scalability in real-time systems with end-to-end requirements. J Syst Architect 42(6–7):409–429

    Article  Google Scholar 

  50. 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

  51. 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

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Hoeseok Yang.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-021-09253-x

Keywords

Navigation