Niranjan Rao Julapelly Real-Time Scheduling [ Chapter 5.5]
Topics of Discussion Real-time Computing Synchronous Programming Languages Real-time Operating Systems Real-time System Types Real-time System Methodologies Real-time Scheduling Algorithms Real-time Scheduling Implementation Issues
Real –time Computing Software & hardware for systems which have real-time constraints and are interrupted often. Comprises of: Synchronous Programming Language. Real-time Operating System. Real-time Design Methodologies. Synchronous Programming Language Provides abstract modules for scheduling algorithms, parallelism, pre-emption. Finite state (execution time predictable), deterministic, synchronous dataflow. Declarative and Imperative Languages. Examples: Lustre, Quartz, SOL, Esterel.
Examples: Embedded Systems (Appliance Controller, Spacecraft, Robots, Industrial Control. “Control Program” – American Airlines, IBM – Later called “Sabre Airline Reservation System”. Real-Time Operating System (RTOS) Early Real-time Systems Recent Important Real-time Systems DSOS (Deep Six OS) – Geophysical Services Division, Texas Instruments. Ptolemy Project, University of California, Berkeley [8]. MARS (MAintainable Real-time System). ARTS Kernel. Spring Kernel. CHAOS Kernel. Alpha Kernel. Dragon Kernel.
Hard Real Time vs. Soft Real Time [McObject, 2006] Critical real-time systems such as nuclear power plants or fly-by-wire airplanes are Hard Real Time Non-critical real time systems where missed transactions only degrade system quality are Soft Real Time Firm real-time systems are similar to soft real-time, except late tasks are discarded. Scheduling algorithm depends on real time system characteristics
Hard deadline
Soft deadline
MASCOT (Modular Approach to Software Construction Operation and Test) - Architecture Oriented (RT Control & interface definition between concurrent processes) - British ground-air missile system. HOOD (Hierarchic Object-Oriented Design) - Hierarchical decomposition. - European Space Agency – Aerospace project. AADL (Architecture Analysis and Design Language) [6] - Automotive, aerospace industry. RTSJ (Real-Time Specification for Java) [7] Real-time System Design Methodologies
Real-time Scheduling Algorithms [Stankovic,’88] Classification Static vs Dynamic Preemptive vs Non-preemptive Global vs Local Examples Static: - Fixed-priority Rate-monotonic algorithm - Fixed-priority Deadline-monotonic algorithm - Graph based Approach Dynamic: - Earliest Deadline First - Least Laxity
Communication Delay - worst case execution time, non-deterministic RPC - Remote blocking Real-time Implementation issues in Distributed Systems [Kasavant, ‘88]
RT Research Groups RT computing lab: RT computation and communication group: RT and embedded systems laboratory: Supercomputing and Parallel computing research group: Systems Research group: Distributed systems research group: Institute for systems engineering, RT Systems group: Institute for computer engineering, RT Systems group: IEEE Technical Committee on Real-Time Systems: Euromicro Technical Committee on Real-time Systems: RT Technical Commitees
RT Scientific conferences EventWebsite IEEE Real-time Technology and Applications Symposium, St. Louis, Missouri, USA - April 22-24, ECRTS – Euromicro Conference on Real-time Systems IEEE Real-time Systems Symposium, Tuscon, Arizona, USA – Dec 3-6, International Symposium on Object oriented Real-time Distributed systems o7 IEEE International Conference on Embedded and Real-time Computing systems and Applications csa2007/
References S. Cheng, J.A. Stankovic and K. Ramamritham, ‘‘Scheduling Algorithms for Hard Real-Time Systems: A Brief Survey’’, pp in Hard Real-Time Systems: Tutorial, IEEE (1988). 3.T. L. Casavant and J. G. Kuhl, ‘‘A Taxonomy of Scheduling in General Purpose Distributed Computing Systems’’, IEEE Transactions on Software Engineering 14(2), pp (February 1988). 4.A. Burns, ‘‘Scheduling Hard Real-Time Systems: A Review’’, Software Engineering Journal 6(3), pp (1991). 5.K. Ramamritham and J.A. Stankovic, ‘‘Dynamic Task Scheduling in Hard Real- Time Distributed Systems’’, IEEE Software 1(3), pp (July 1984). 6.McObject LLC, “Real-time Databases for Embedded Systems”, Precision Data Management, 2006