niranjan rao julapelly real-time scheduling [ chapter 5.5]
TRANSCRIPT
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: 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/
•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
RT Technical Commitees
RT Scientific conferences
Event Website
IEEE Real-time Technology and Applications Symposium, St. Louis, Missouri, USA - April 22-24, 2008
http://www.rtas.org/
ECRTS – Euromicro Conference on Real-time Systems http://www.ecrts.org/
IEEE Real-time Systems Symposium, Tuscon, Arizona, USA – Dec 3-6, 2007
http://www.rtss.org/
International Symposium on Object oriented Real-time Distributed systems
http://ise.gmu.edu/isorco7
IEEE International Conference on Embedded and Real-time Computing systems and Applications
http://ssl.snu.ac.kr/~rtcsa2007/
References
1. http://en.wikipedia.org/wiki/Real-time_operating_system2. 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).
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. 141-154 (February 1988).
4. A. Burns, ‘‘Scheduling Hard Real-Time Systems: A Review’’, Software Engineering Journal 6(3), pp. 116-128 (1991).
5. K. Ramamritham and J.A. Stankovic, ‘‘Dynamic Task Scheduling in Hard Real-Time Distributed Systems’’, IEEE Software 1(3), pp. 65-75 (July 1984).
6. McObject LLC, “Real-time Databases for Embedded Systems”, Precision Data Management, 2006