Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
Skip header Section
Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and ApplicationsSeptember 2011
Publisher:
  • Springer Publishing Company, Incorporated
ISBN:978-1-4614-0675-4
Published:15 September 2011
Pages:
536
Skip Bibliometrics Section
Reflects downloads up to 12 Nov 2024Bibliometrics
Skip Abstract Section
Abstract

This updated edition offers an indispensable exposition on real-time computing, with particular emphasis on predictable scheduling algorithms. It introduces the fundamental concepts of real-time computing, demonstrates the most significant results in the field, and provides the essential methodologies for designing predictable computing systems used to support time-critical control applications. Along with an in-depth guide to the available approaches for the implementation and analysis of real-time applications, this revised edition contains a close examination of recent developments in real-time systems, including limited preemptive scheduling, resource reservation techniques, overload handling algorithms, and adaptive scheduling techniques. This volume serves as a fundamental advanced-level textbook. Each chapter provides basic concepts, which are followed by algorithms, illustrated with concrete examples, figures and tables. Exercises and solutions are provided to enhance self-study, making this an excellent reference for those interested in real-time computing for designing and/or developing predictable control applications.

Cited By

  1. ACM
    Djika B, Kouamou G, Singhoff F and Plantec A (2024). A POSIX/RTEMS Monitoring Tool and a Benchmark to Detect Real-Time Scheduling Anomalies, ACM SIGAda Ada Letters, 43:2, (62-68), Online publication date: 6-Jun-2024.
  2. Luo F, Wang Z, Guo Y, Wu M, Feng W and Sun Z (2023). Research on Cyclic Queuing and Forwarding With Preemption in Time-Sensitive Networking, IEEE Embedded Systems Letters, 16:2, (110-113), Online publication date: 1-Jun-2024.
  3. ACM
    Duc Nguyen H and Chien A (2024). A Foundation for Real-time Applications onFunction-as-a-Service, ACM SIGMETRICS Performance Evaluation Review, 51:4, (54-65), Online publication date: 22-Feb-2024.
  4. ACM
    Zhang W, Gao Y and Dong W (2023). Providing Realtime Support for Containerized Edge Services, ACM Transactions on Internet Technology, 23:4, (1-25), Online publication date: 30-Nov-2023.
  5. ACM
    Sahu R and Williams D Enabling BPF Runtime policies for better BPF management Proceedings of the 1st Workshop on eBPF and Kernel Extensions, (49-55)
  6. Oliveira G and Lima G (2023). Scheduling and energy savings for small scale embedded FreeRTOS-based real-time systems, Design Automation for Embedded Systems, 27:1-2, (3-29), Online publication date: 1-Jun-2023.
  7. Prabhaker M and Ponnan S (2022). AI based realtime task schedulers for multicore processor based low power biomedical devices for health care application, Multimedia Tools and Applications, 81:29, (42079-42095), Online publication date: 1-Dec-2022.
  8. ACM
    Gao W, Ye Z, Sun P, Wen Y and Zhang T Chronus Proceedings of the ACM Symposium on Cloud Computing, (609-623)
  9. ACM
    Roy S, Devaraj R, Sarkar A and Senapati D (2021). SLAQA, ACM Transactions on Embedded Computing Systems, 20:5, (1-31), Online publication date: 30-Sep-2021.
  10. Gowtham V, Keil O, Yeole A, Schreiner F, Tschöke S and Willner A Determining edge node real-time capabilities Proceedings of the 2021 IEEE/ACM 25th International Symposium on Distributed Simulation and Real Time Applications, (1-9)
  11. Ntakolia C and Iakovidis D (2021). A swarm intelligence graph-based pathfinding algorithm (SIGPA) for multi-objective route planning, Computers and Operations Research, 133:C, Online publication date: 1-Sep-2021.
  12. Ashjaei M, Lo Bello L, Daneshtalab M, Patti G, Saponara S and Mubeen S (2021). Time-Sensitive Networking in automotive embedded systems, Journal of Systems Architecture: the EUROMICRO Journal, 117:C, Online publication date: 1-Aug-2021.
  13. ACM
    Turchet L and Fischione C (2021). Elk Audio OS, ACM Transactions on Internet of Things, 2:2, (1-18), Online publication date: 31-May-2021.
  14. Bazzaz M, Hoseinghorban A and Ejlali A (2021). Fast and Predictable Non-Volatile Data Memory for Real-Time Embedded Systems, IEEE Transactions on Computers, 70:3, (359-371), Online publication date: 1-Mar-2021.
  15. ACM
    Pazzaglia P, Sun Y and Natale M (2020). Generalized Weakly Hard Schedulability Analysis for Real-Time Periodic Tasks, ACM Transactions on Embedded Computing Systems, 20:1, (1-26), Online publication date: 31-Jan-2021.
  16. ACM
    Dugdale J, Moghaddam M and Muccini H (2021). IoT4Emergency, ACM SIGSOFT Software Engineering Notes, 46:1, (33-36), Online publication date: 29-Jan-2021.
  17. ACM
    Valls J, García-Gordillo M and Sáez S (2020). Scenario-based Validation & Verification, ACM SIGAda Ada Letters, 40:1, (79-84), Online publication date: 20-Oct-2020.
  18. Devaraj R (2020). A solution to drawbacks in capturing execution requirements on heterogeneous platforms, The Journal of Supercomputing, 76:9, (6901-6916), Online publication date: 1-Sep-2020.
  19. ACM
    Behrouzian A, Ara H, Geilen M, Goswami D and Basten T (2020). Firmness Analysis of Real-time Tasks, ACM Transactions on Embedded Computing Systems, 19:4, (1-24), Online publication date: 31-Jul-2020.
  20. ACM
    Lesi V, Jovanov I and Pajic M (2020). Integrating Security in Resource-Constrained Cyber-Physical Systems, ACM Transactions on Cyber-Physical Systems, 4:3, (1-27), Online publication date: 25-May-2020.
  21. Alzetta F, Giorgini P, Najjar A, Schumacher M and Calvaresi D In-Time Explainability in Multi-Agent Systems: Challenges, Opportunities, and Roadmap Explainable, Transparent Autonomous Agents and Multi-Agent Systems, (39-53)
  22. ACM
    Lepers B, Gouicem R, Carver D, Lozi J, Palix N, Aponte M, Zwaenepoel W, Sopena J, Lawall J and Muller G Provable multicore schedulers with Ipanema Proceedings of the Fifteenth European Conference on Computer Systems, (1-16)
  23. Kumar N, Mayank J and Mondal A (2020). Reliability Aware Energy Optimized Scheduling of Non-Preemptive Periodic Real-Time Tasks on Heterogeneous Multiprocessor System, IEEE Transactions on Parallel and Distributed Systems, 31:4, (871-885), Online publication date: 1-Apr-2020.
  24. Dang K, Ahmed A, Abdallah A and Tran X (2020). TSV-OCT: A Scalable Online Multiple-TSV Defects Localization for Real-Time 3-D-IC Systems, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 28:3, (672-685), Online publication date: 1-Mar-2020.
  25. Moulik S, Chaudhary R and Das Z (2022). HEARS, Microprocessors & Microsystems, 72:C, Online publication date: 1-Feb-2020.
  26. ACM
    Reghenzani F, Massari G and Fornaciari W (2019). The Real-Time Linux Kernel, ACM Computing Surveys, 52:1, (1-36), Online publication date: 31-Jan-2020.
  27. ACM
    Hammadeh Z, Quinton S and Ernst R (2019). Weakly-hard Real-time Guarantees for Earliest Deadline First Scheduling of Independent Tasks, ACM Transactions on Embedded Computing Systems, 18:6, (1-25), Online publication date: 22-Jan-2020.
  28. Cho H, Kim C, Sun J, Easwaran A, Park J and Choi B (2019). Scheduling Parallel Real-Time Tasks on the Minimum Number of Processors, IEEE Transactions on Parallel and Distributed Systems, 31:1, (171-186), Online publication date: 1-Jan-2020.
  29. Zhang X, Urban C and Wu C (2019). Priority Inheritance Protocol Proved Correct, Journal of Automated Reasoning, 64:1, (73-95), Online publication date: 1-Jan-2020.
  30. Rojas A and Barbieri G A Low-Cost and Scaled Automation System for Education in Industrial Automation 2019 24th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), (439-444)
  31. Martinez N and Barbieri G Abstraction Layers for the Synthesis and Analysis of Production Systems 2019 24th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), (333-340)
  32. Chetto M and Ghor H (2019). Scheduling and power management in energy harvesting computing systems with real-time constraints, Journal of Systems Architecture: the EUROMICRO Journal, 98:C, (243-248), Online publication date: 1-Sep-2019.
  33. Stavrinides G and Karatza H (2019). A hybrid approach to scheduling real-time IoT workflows in fog and cloud environments, Multimedia Tools and Applications, 78:17, (24639-24655), Online publication date: 1-Sep-2019.
  34. Hussain T, Haider A and Taleb-Ahmed A (2019). A Heterogeneous Multi-Core Based Biomedical Application Processing System and Programming Toolkit, Journal of Signal Processing Systems, 91:8, (963-978), Online publication date: 1-Aug-2019.
  35. Casini D, Biondi A and Buttazzo G (2019). Handling Transients of Dynamic Real-Time Workload Under EDF Scheduling, IEEE Transactions on Computers, 68:6, (820-835), Online publication date: 1-Jun-2019.
  36. ACM
    Zhao Y and Zeng H Optimization techniques for time-critical cyber-physical systems Proceedings of the Workshop on Design Automation for CPS and IoT, (41-50)
  37. ACM
    Barzegaran M, Cervin A and Pop P Towards quality-of-control-aware scheduling of industrial applications on fog computing platforms Proceedings of the Workshop on Fog Computing and the IoT, (1-5)
  38. Zhang W, Hu Y, He H, Liu Y and Chen A (2019). Linear and dynamic programming algorithms for real-time task scheduling with task duplication, The Journal of Supercomputing, 75:2, (494-509), Online publication date: 1-Feb-2019.
  39. ACM
    Nakahira Y, Ferragut A and Wierman A (2019). Minimal-Variance Distributed Deadline Scheduling in a Stationary Environment, ACM SIGMETRICS Performance Evaluation Review, 46:3, (56-61), Online publication date: 25-Jan-2019.
  40. ACM
    Nakahira Y, Ferragut A and Wierman A (2019). Minimal-variance distributed scheduling under strict demands and deadlines, ACM SIGMETRICS Performance Evaluation Review, 46:2, (12-14), Online publication date: 18-Jan-2019.
  41. Skelin M and Geilen M It's a matter of time Proceedings of the 16th ACM-IEEE International Conference on Formal Methods and Models for System Design, (11-21)
  42. ACM
    Shaker A, Baker J, Sharma G and Yuan M Performance Comparison of NVIDIA accelerators with SIMD, Associative, and Multi-core Processors for Air Traffic Management Workshop Proceedings of the 47th International Conference on Parallel Processing, (1-10)
  43. Di Alesio S and Sen S (2018). Using UML/MARTE to support performance tuning and stress testing in real-time systems, Software and Systems Modeling (SoSyM), 17:2, (479-508), Online publication date: 1-May-2018.
  44. ACM
    Singh A, Dziurzanski P, Mendis H and Indrusiak L (2017). A Survey and Comparative Study of Hard and Soft Real-Time Dynamic Resource Allocation Strategies for Multi-/Many-Core Systems, ACM Computing Surveys, 50:2, (1-40), Online publication date: 31-Mar-2018.
  45. ACM
    Muttillo V, Valente G, Ciambrone D, Stoico V and Pomante L HEPSYCODE-RT Proceedings of the Rapido'18 Workshop on Rapid Simulation and Performance Evaluation: Methods and Tools, (1-6)
  46. Stavrinides G and Karatza H The impact of data locality on the performance of a SaaS cloud with real-time data-intensive applications Proceedings of the 21st International Symposium on Distributed Simulation and Real Time Applications, (180-187)
  47. ACM
    Lesi V, Jovanov I and Pajic M (2017). Security-Aware Scheduling of Embedded Control Tasks, ACM Transactions on Embedded Computing Systems, 16:5s, (1-21), Online publication date: 10-Oct-2017.
  48. ACM
    Sun Y and Natale M (2017). Weakly Hard Schedulability Analysis for Fixed Priority Scheduling of Periodic Real-Time Tasks, ACM Transactions on Embedded Computing Systems, 16:5s, (1-19), Online publication date: 10-Oct-2017.
  49. ACM
    Casini D, Abeni L, Biondi A, Cucinotta T and Buttazzo G Constant bandwidth servers with constrained deadlines Proceedings of the 25th International Conference on Real-Time Networks and Systems, (68-77)
  50. ACM
    Sailer A, Deubzer M, Lüttgen G and Mottok J Comparing trace recordings of automotive real-time software Proceedings of the 25th International Conference on Real-Time Networks and Systems, (118-127)
  51. ACM
    Calvaresi D, Marinoni M, Sturm A, Schumacher M and Buttazzo G The challenge of real-time multi-agent systems for enabling IoT and CPS Proceedings of the International Conference on Web Intelligence, (356-364)
  52. ACM
    Devaraj R, Sarkar A and Biswas S (2017). Fault-Tolerant Preemptive Aperiodic RT Scheduling by Supervisory Control of TDES on Multiprocessors, ACM Transactions on Embedded Computing Systems, 16:3, (1-25), Online publication date: 7-Jul-2017.
  53. ACM
    Pathak D, Homayoun H and Savidis I Work Load Scheduling For Multi Core Systems With Under-Provisioned Power Delivery Proceedings of the Great Lakes Symposium on VLSI 2017, (387-392)
  54. ACM
    Zimmerling M, Mottola L, Kumar P, Ferrari F and Thiele L (2017). Adaptive Real-Time Communication for Wireless Cyber-Physical Systems, ACM Transactions on Cyber-Physical Systems, 1:2, (1-29), Online publication date: 28-Feb-2017.
  55. ACM
    Rosvall K, Khalilzad N, Ungureanu G and Sander I Throughput Propagation in Constraint-Based Design Space Exploration for Mixed-Criticality Systems Proceedings of the 9th Workshop on Rapid Simulation and Performance Evaluation: Methods and Tools, (1-8)
  56. Artale V, Collotta M, Milazzo C, Pau G and Ricciardello A (2016). An Integrated System for UAV Control Using a Neural Network Implemented in a Prototyping Board, Journal of Intelligent and Robotic Systems, 84:1-4, (5-19), Online publication date: 1-Dec-2016.
  57. Amanatiadis A, Charalampous K, Kostavelis I, Birkicht B, Andel B, Meiser V, Henschel C, Baugh S, Paul M, May R and Gasteratos A (2016). Autonomous Vehicle Emergency Recovery Tool, Journal of Field Robotics, 33:8, (1058-1086), Online publication date: 1-Dec-2016.
  58. ACM
    Kurtin P and Bekooij M Temporal Analysis of Static Priority Preemptive Scheduled Cyclic Streaming Applications using CSDF Models Proceedings of the 14th ACM/IEEE Symposium on Embedded Systems for Real-Time Multimedia, (94-103)
  59. Guan F, Peng L, Perneel L and Timmerman M (2016). Open source FreeRTOS as a case study in real-time operating system evolution, Journal of Systems and Software, 118:C, (19-35), Online publication date: 1-Aug-2016.
  60. Triantafyllidis K, Aslam W, Bondarev E, Lukkien J and de With P (2016). ProMARTES, Journal of Systems and Software, 117:C, (450-470), Online publication date: 1-Jul-2016.
  61. ACM
    Buonocunto P, Biondi A, Pagani M, Marinoni M and Buttazzo G ARTE Proceedings of the 31st Annual ACM Symposium on Applied Computing, (1724-1731)
  62. Abdullah S, Lampka K and Yi W Improving performance by monitoring while maintaining worst-case guarantees Proceedings of the 2016 Conference on Design, Automation & Test in Europe, (257-260)
  63. Sun B, Li X, Wan B, Wang C, Zhou X and Chen X (2016). Definitions of predictability for Cyber Physical Systems, Journal of Systems Architecture: the EUROMICRO Journal, 63:C, (48-60), Online publication date: 1-Feb-2016.
  64. ACM
    Bernardi P (2015). Incorporating Cyclic Task Behaviour into Ada Tasks, ACM SIGAda Ada Letters, 35:1, (59-73), Online publication date: 28-Dec-2016.
  65. ACM
    Zhao Q, Gu Z and Zeng H (2015). Resource Synchronization and Preemption Thresholds Within Mixed-Criticality Scheduling, ACM Transactions on Embedded Computing Systems, 14:4, (1-25), Online publication date: 8-Dec-2015.
  66. Hua X, Li Z, Wu H, Guo C and Ren S (2015). Periodic resource integration, Journal of Systems and Software, 110:C, (193-204), Online publication date: 1-Dec-2015.
  67. ACM
    Phavorin G, Richard P, Goossens J, Chapeaux T and Maiza C Scheduling with preemption delays Proceedings of the 23rd International Conference on Real Time and Networks Systems, (109-118)
  68. Akhtar M, Mohamad-Saleh J and Sidek O (2015). Design and simulation of a parallel adaptive arbiter for maximum CPU utilization using multi-core processors, Computers and Electrical Engineering, 47:C, (51-68), Online publication date: 1-Oct-2015.
  69. Inwook Shim , Jongwon Choi , Seunghak Shin , Tae-Hyun Oh , Unghui Lee , Byungtae Ahn , Dong-Geol Choi , Shim D and In So Kweon (2015). An Autonomous Driving System for Unknown Environments Using a Unified Map, IEEE Transactions on Intelligent Transportation Systems, 16:4, (1999-2013), Online publication date: 1-Aug-2015.
  70. ACM
    Kafshdooz M and Ejlali A (2015). Dynamic Shared SPM Reuse for Real-Time Multicore Embedded Systems, ACM Transactions on Architecture and Code Optimization, 12:2, (1-25), Online publication date: 8-Jul-2015.
  71. Pop F, Dobre C, Cristea V, Bessis N, Xhafa F and Barolli L (2015). Deadline scheduling for aperiodic tasks in inter-Cloud environments, The Journal of Supercomputing, 71:5, (1754-1765), Online publication date: 1-May-2015.
  72. ACM
    Cremona F, Morelli M and Di Natale M TRES Proceedings of the 30th Annual ACM Symposium on Applied Computing, (1940-1947)
  73. ACM
    Springer T, Peter S and Givargis T (2015). Adaptive resource synchronization in hierarchical real-time systems, ACM SIGBED Review, 11:4, (37-42), Online publication date: 22-Jan-2015.
  74. ACM
    Axer P, Ernst R, Falk H, Girault A, Grund D, Guan N, Jonsson B, Marwedel P, Reineke J, Rochange C, Sebastian M, Hanxleden R, Wilhelm R and Yi W (2014). Building timing predictable embedded systems, ACM Transactions on Embedded Computing Systems, 13:4, (1-37), Online publication date: 5-Dec-2014.
  75. ACM
    Stavrinides G and Karatza H The impact of resource heterogeneity on the timeliness of hard real-time complex jobs Proceedings of the 7th International Conference on PErvasive Technologies Related to Assistive Environments, (1-8)
  76. ACM
    Groesbrink S, Oberthür S and Baldin D (2013). Architecture for adaptive resource assignment to virtualized mixed-criticality real-time systems, ACM SIGBED Review, 10:1, (18-23), Online publication date: 1-Feb-2013.
  77. ACM
    Sadigh D, Seshia S and Gupta M Automating exercise generation Proceedings of the Workshop on Embedded and Cyber-Physical Systems Education, (1-8)
  78. Zanlongo S, Wilson A, Bobadilla L and Sookoor T Scheduling and path planning for computational ferrying MILCOM 2016 - 2016 IEEE Military Communications Conference, (636-641)
  79. Kumar A, Abdelhadi A and Clancy C A delay efficient multiclass packet scheduler for heterogeneous M2M uplink MILCOM 2016 - 2016 IEEE Military Communications Conference, (313-318)
Contributors
  • Sant’Anna School of Advanced Studies – Pisa

Reviews

Maulik A Dave

In the field of operating systems (OSs), a real-time task differs from other types of tasks because it has a deadline. If a hard task's deadline is not met, this can cause a catastrophe. This book describes and analyzes many algorithms for scheduling such tasks in real-time systems. The book also introduces existing real-time systems and real-time system standards, and discusses some system kernel design considerations. Chapter 1 introduces three types of real-time system tasks: hard, firm, and soft. It explains general real-time systems with examples and by comparing their features with those of time-sharing systems. It discusses desirable features of real-time systems and introduces ways to achieve them. Chapter 2 defines a general scheduling problem and related terms such as task, precedence constraints, resource constraints, and timing constraints. It introduces classifications of scheduling algorithms and performance metrics for scheduling. The chapter ends by describing scheduling anomalies, which are those situations where schedule length increases with more computational power, or with weaker constraints. Chapter 3 describes various algorithms for aperiodic task scheduling, starting with the earliest due date (EDD) algorithm for scheduling aperiodic tasks on a single processor, minimizing maximum lateness. Next, the earliest deadline first (EDF) algorithm solves the same problem, but allows for preemption and dynamic arrivals. The chapter ends with algorithms for nonpreemptive scheduling and scheduling with precedence constraints. Chapter 4, on periodic task scheduling, describes four algorithms, namely, timeline scheduling, rate monotonic, EDF, and deadline monotonic, and presents parameters used on periodic tasks. Chapter 5 describes algorithms for scheduling tasks that contain both hard periodic tasks with fixed priorities and soft aperiodic tasks. The algorithms include background scheduling, polling server, deferrable server, priority exchange, sporadic server, and slack stealing. Chapter 6 describes algorithms for scheduling tasks containing periodic and/or aperiodic tasks with dynamic priorities. The algorithms include dynamic priority exchange server, dynamic sporadic server, total bandwidth server, earliest deadline late server, and constant bandwidth server. Some tasks may share resources. Chapter 7 discusses the resource access protocols for such tasks, including nonpreemptive protocols, highest locker priority, priority inheritance protocol, priority ceiling protocol, and stack resource policy. The description of each protocol includes how to compute blocking time, properties of the protocol, and implementation considerations. The preemptive tasks introduce a preemption cost into the scheduling. Chapter 8 discusses techniques to limit preemption costs. It describes techniques such as nonpreemptive scheduling, preemption thresholds, deferred preemption, task splitting, and selecting preemption costs. Each technique is explained along with a feasibility analysis of the technique. The chapter ends with a comparative analysis of the techniques. Chapter 9 is on handling overloads. When the computation time demanded by a task set exceeds the available processing time, the system is said to be overloaded. The chapter discusses handling overloads caused by both periodic and aperiodic tasks in detail. Chapter 10 discusses design and implementation considerations for the kernel of a real-time system. It describes the general structure, data structures, process states, time management, scheduling algorithms, scheduling mechanisms, task management, and inter-task communication mechanisms in the kernel of a small educational real-time system. Chapter 11 introduces control applications, such as peg-in-hole insertion, surface cleaning, object tactile exploration, and catching moving objects as examples of real-time robotics applications. It includes the source code of a robot control using real-time primitives. Chapter 12 gives an overview of some existing real-time systems. The chapter begins with various standards of real-time systems, such as RT-POSIX, OSEK/VDX, ARINC-APEX, and Micro-ITRON. It introduces both commercial- and research-level real-time systems. The chapter ends with a discussion of some of the developer tools. A strong background in algorithms and OSs is required to understand this book, as is a strong background in mathematics. Each chapter ends with a set of exercises; the solutions are in the last chapter (13). The book can be used as undergraduate- and graduate-level textbook for courses involving real-time systems. The initial chapters are a good introduction to real-time systems for beginners. Professionals and researchers working with real-time systems will find the scheduling algorithms useful. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Recommendations