160 likes | 655 Views
Real-Time Scheduling [ Chapter 5.5]. Aravind Venkataraman. Topics of Discussion. Real-time Computing Synchronous Programming Languages Real-time Operating Systems Real-time System Types Real-time System Key factors, terminology Real-time System Methodologies
E N D
Real-Time Scheduling[Chapter 5.5] Aravind Venkataraman
Topics of Discussion • Real-time Computing • Synchronous Programming Languages • Real-time Operating Systems • Real-time System Types • Real-time System Key factors, terminology • Real-time System Methodologies • Real-time Scheduling Algorithms • Real-time Scheduling Implementation Issues • Real-time Computing Research Key People
Real –time Computing [1] • 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.
Real-Time Operating System (RTOS) • Examples: Embedded Systems (Appliance Controller, Spacecraft, Robots, Industrial Control. Early Real-time Systems • “Control Program” – American Airlines, IBM – Later called “Sabre Airline Reservation System”. 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.
Real-time System Types • ‘Hard’ Real-time System - Guaranteed, deterministic behaviour. • - Critical Jobs. • - Eg. Nuclear Power Plant controller. • ‘Soft’ Real-time System - High Throughput. • - Concurrent access, Large demand. • - Eg. Airline Reservation System.
Real-Time System Key Factors[Burns, ‘91] • Minimal Interrupt Latency • Minimal Thread switching Latency Other Terminology • Task Deadline • Maximum Response Time • Worst case Execution Time • Timing Analysis • Priority Inversion • Priority Inheritance • Priority Ceiling Protocol. Important Real-time System Property[Stankovic, ‘84] • System Deadline => Process Deadline • Periodic, Aperiodic Process.
Real-time System Design Methodologies • 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 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
Real-time Implementation issues in Distributed Systems [Kasavant, ‘88] • Communication Delay - worst case execution time, non-deterministic • RPC - Remote blocking
Key People in Real-time Computing • Edward Lee - UC Berkeley, Ptolemy Project • - http://ptolemy.eecs.berkeley.edu/~eal/ • Alan Burns, Andy Wellings - Univ of York, RT Systems Research group • - http://www.cs.york.ac.uk/rts/ • David Dill - Stanford University - Formal verification in RT Systems design • - http://verify.stanford.edu/dill/ • Rajeev Alur - Univ of Pennsylvania - Hybrid systems, formal modeling, verification of reactive systems; Automata Theory • - http://www.cis.upenn.edu/~alur/ • Nicolas Halbwachs - Grenoble University, Critical embedded systems, data flow synchronous programming languages • - http://www-verimag.imag.fr/~halbwach/
RT Research Groups • RT computing lab: http://www.eecs.umich.edu/RTCL/ • RT computation and communication group: http://www.cs.bu.edu/groups/realtime/ • RT and embedded systems laboratory: http://www.cs.virginia.edu/~control/ • Supercomputing and Parallel computing research group: http://www.cs.cmu.edu/~scandal/research-groups.html • Systems Research group: http://www.cc.gatech.edu/systems/ • Distributed systems research group: http://www-dsg.stanford.edu/ • Institute for systems engineering, RT Systems group: http://www.rts.uni-hannover.de/index.php/Main_Page/index.htm • Institute for computer engineering, RT Systems group: http://www.vmars.tuwien.ac.at/ RT Technical Commitees • IEEE Technical Committee on Real-Time Systems:http://cs-www.bu.edu/pub/ieee-rts/ • Euromicro Technical Committee on Real-time Systems: http://www.ecrts.org
References http://en.wikipedia.org/wiki/Real-time_operating_system S. Cheng, J.A. Stankovic and K. Ramamritham, ‘‘Scheduling Algorithms for Hard Real-Time Systems: A Brief Survey’’, pp. 150-173 in Hard Real-Time Systems: Tutorial, IEEE (1988). 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. 141-154 (February 1988). A. Burns, ‘‘Scheduling Hard Real-Time Systems: A Review’’, Software Engineering Journal 6(3), pp. 116-128 (1991). K. Ramamritham and J.A. Stankovic, ‘‘Dynamic Task Scheduling in Hard Real-Time Distributed Systems’’, IEEE Software 1(3), pp. 65-75 (July 1984). http://www.aadl.info/ http://www.rtsj.org/ http://ptolemy.eecs.berkeley.edu/