130 likes | 158 Views
Real-Time Scheduling [ Chapter 5.5]. Niranjan Rao Julapelly. 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
E N D
Real-Time Scheduling[Chapter 5.5] Niranjan Rao Julapelly
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.
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.
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
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
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). McObject LLC, “Real-time Databases for Embedded Systems”, Precision Data Management, 2006