Introduction to Real Time Systems Akos Ledeczi EECE
- Slides: 37
Introduction to Real Time Systems Akos Ledeczi EECE 6354, Fall 2017 Vanderbilt University
Disclaimer • Some of the material/slides are adapted from various presentations found on the internet: – Johnnie W. Baker – Ian Sommerville – Alan Burns and Andy Wellings – Others • And Prof. Kopetz’s Real Time Systems book
Embedded vs. Real Time Systems • Embedded system: is a computer system that performs a limited set of specific functions. It often interacts with its environment. • RTS: Correctness of the system depends not only on the logical results, but also on the time in which the results are produced. Real Time Systems Embedded Systems Examples?
Examples • Real Time Embedded: – – – Nuclear reactor control Flight control Basically any safety critical system GPS MP 3 player Mobile phone • Real Time, but not Embedded: – Stock trading system – Skype – Pandora • Embedded, but not Real Time: – – Home temperature control Sprinkler system Washing machine, refrigerator, etc. Blood pressure meter
Characteristics of RTS • • • Event-driven, reactive. High cost of failure. Concurrency/multiprogramming. Stand-alone/continuous operation. Reliability/fault-tolerance requirements. Predictable behavior.
Time now instant event instant duration event digital clock tick granule past future time line
Definitions • Hard real-time — systems where it is absolutely imperative that responses occur within the required deadline. E. g. Flight control systems. • Soft real-time — systems where deadlines are important but which will still function correctly if deadlines are occasionally missed. E. g. Data acquisition system. • Real real-time — systems which are hard real-time and which the response times are very short. E. g. Missile guidance system. • Firm real-time — systems which are soft real-time but in which there is no benefit from late delivery of service. A single system may have all hard, soft and real-time subsystems. In reality many systems will have a cost function associated with missing each deadline
Control systems Man-Machine Interface Operator Instrumentation Interface Real-Time Computer System Controlled Object • Man-machine interface: input devices, e. g. keyboard and output devices, e. g. display • Instrumentation interface: sensors and actuators that transform between physical signals and digital data • Most control systems are hard real-time • Deadlines are determined by the controlled object, i. e. the temporal behavior of the physical phenomenon
Control system example Example: A simple one-sensor, one-actuator control system. reference input r(t) A/D rk yk control-law computation uk D/A y(t) sensor Outside effects u(t) plant actuator The system being controlled
Control systems cont’d. Pseudo-code for this system: set timer to interrupt periodically with period T; at each timer interrupt do do analog-to-digital conversion to get y; compute control output u; output u and do digital-to-analog conversion; end do T is called the sampling period. T is a key design choice. Typical range for T: seconds to milliseconds.
Reliability and Safety • Reliability: probability that the system will provide the specified service for a given time period. (Also see Failure Rate or Mean Time To Failure: MTTF) • Safety: reliability regarding critical failure modes • Fail-safe system: if the system has a guaranteed safe state that can be reached in case of a critical failure. It is a property of the controlled object and not the computer system. – Watchdog: external device that gets periodic life sign from the computer system. If it does not get it, it forces the controlled object into a safe state. • Fail-operational system: no such safe state exists, so the computer system must provided (limited) functionality in case of failures to avoid a catastrophic failure. • Alarm monitoring. – Primary event – Secondary alarms. Temporal order is very important. Alarm shower – Rare events
Taxonomy of Real-Time Systems 12
Taxonomy of Real-Time Systems 13
Taxonomy of Real-Time Systems 14
Taxonomy: Static • Task arrival times can be predicted • Static (compile-time) analysis possible • Allows good resource usage (low idle time for processors). 15
Taxonomy: Dynamic • Arrival times unpredictable • Static (compile-time) analysis possible only for simple cases. • Processor utilization decreases dramatically. • In many real systems, this is very difficult to handle. • Must avoid over-simplifying assumptions – e. g. , assuming that all tasks are independent, when this is unlikely. 16
Taxonomy: Soft Real-Time • Allows more slack in the implementation • Timings may be suboptimal without being incorrect. • Problem formulation can be much more complicated than hard real-time • Two common and an uncommon way of handling non-trivial soft real-time system requirements – Set somewhat loose hard timing constraints – Informal design and testing – Formulate as an optimization problem 17
Taxonomy: Hard Real-Time • Creates difficult problems. – Some timing constraints are inflexible • Simplifies problem formulation. 18
Taxonomy: Periodic • Each task (or group of tasks) executes repeatedly with a particular period. • Allows some static analysis techniques to be used. • Matches characteristics of many real problems • It is possible to have tasks with deadlines smaller, equal to, or greater than their period. – The later are difficult to handle (i. e. , multiple concurrent task instances occur). 19
Periodic • Single rate: – One period in the system – Simple but inflexible – Used in implementing a lot of wireless sensor networks. • Multi rate: – Multiple periods – Should be harmonics to simplify system design 20
Taxonomy: Aperiodic • Are also called sporadic, asynchronous, or reactive. • Creates a dynamic situation • Bounded arrival time interval are easier to handle • Unbounded arrival time intervals are impossible to handle with resourceconstrained systems. 21
Example: Adaptive Cruise Control • Demo video • Control system • Hard Real Time • Multi-rate periodic • Camera • GPS • Low-speed mode for rush hour traffic United States Patent 7096109
Data Acquisition and Signal-Processing Systems • Examples: – – Video capture. Digital filtering. Video and voice compression/decompression. Radar signal processing. • Response times range from a few milliseconds to a few seconds. • Typically simpler than control systems
Other Real-Time Applications • Real-time databases. • Examples: stock market, airline reservations, etc. • Transactions must complete by deadlines. • Main dilemma: Transaction scheduling algorithms and real-time scheduling algorithms often have conflicting goals. • Data is subject temporal consistency requirements. • Multimedia. • Want to process audio and video frames at steady rates. – TV video rate is 30 frames/sec. HDTV is 60 frames/sec. – Telephone audio is 16 Kbits/sec. CD audio is 128 Kbits/sec. • Other requirements: Lip synchronization, low jitter, low end-to-end response times (if interactive).
Are All Systems Real-Time Systems? • Question: Is a payroll processing system a real-time system? – It has a time constraint: Print the pay checks every two weeks. • Perhaps it is a real-time system in a definitional sense, but it doesn’t pay us to view it as such. • We are interested in systems for which it is not a priori obvious how to meet timing constraints.
The “Window of Scarcity” • Resources may be categorized as: – Abundant: Virtually any system design methodology can be used to realize the timing requirements of the application. – Insufficient: The application is ahead of the technology curve; no design methodology can be used to realize the timing requirements of the application. – Sufficient but scarce: It is possible to realize the timing requirements of the application, but careful resource allocation is required.
Example: Interactive/Multimedia Applications Requirements (performance, scale) Interactive Video The interesting real-time applications are here sufficient but scarce resources insufficient resources High-quality Audio Network File Access abundant resources Remote Login 1980 1990 2000 Hardware resources in year X
OS or not? User Programs User Program Operating Including Operating Hardware System Typical OS Configuration System Components Typical Embedded Configuration
Foreground/Background Systems • Task-level, interrupt level • Critical operations must be performed at the interrupt level (not good) • Response time/timing depends on the entire loop • Code change affects timing • Simple, low-cost systems
RTS Programming • • • Because of the need to respond to timing demands made by different stimuli/responses, the system architecture must allow for fast switching between stimulus handlers. Because of different priorities, unknown ordering and different timing requirements of different stimuli, a simple sequential loop is not usually adequate. Real-time systems are therefore usually designed as cooperating processes with a real-time kernel controlling these processes. Concurrent programming
Real Time Java? • Java supports lightweight concurrency (threads and synchronized methods) and can be used for some soft real -time systems. • Java is not suitable for hard RT programming but real-time versions of Java are now available that address problems such as – Not possible to specify thread execution time; – Uncontrollable garbage collection; – Not possible to access system hardware; – Etc. – Real-Time Specification for Java – Sun Java Real-Time System Requires a Real Time OS underneath (e. g. , no Windows support)
Classification of Scheduling Algorithms All scheduling algorithms static scheduling (or offline, or clock driven) dynamic scheduling (or online, or priority driven) static-priority scheduling dynamic-priority scheduling
Scheduling strategies • Non pre-emptive scheduling – Once a process has been scheduled for execution, it runs to completion or until it is blocked for some reason (e. g. waiting for I/O). • Pre-emptive scheduling – The execution of an executing processes may be stopped if a higher priority process requires service. • Scheduling algorithms – – Round-robin; Rate monotonic; Shortest deadline first; Etc.
Real-time operating systems • Real-time operating systems are specialised operating systems which manage the processes in the RTS. • Responsible for process management and resource (processor and memory) allocation. • Do not normally include facilities such as file management. 14
Operating system components • Real-time clock – Provides information for process scheduling. • Interrupt handler – Manages aperiodic requests for service. • Scheduler – Chooses the next process to be run. • Resource manager – Allocates memory and processor resources. • Dispatcher – Starts process execution.
Interrupt servicing • Control is transferred automatically to a pre-determined memory location. • This location contains an instruction to jump to an interrupt service routine. • Further interrupts are disabled, the interrupt serviced and control returned to the interrupted process. • Interrupt service routines MUST be short, simple and fast.
What’s Important in Real-Time Metrics for real-time systems differ from that for time-sharing systems. Time-Sharing Systems Real-Time Systems Capacity High throughput Schedulability Responsiveness Fast average response Ensured worst-case response Overload Fairness Stability – schedulability is the ability of tasks to meet all hard deadlines – latency is the worst-case system response time to events – stability in overload means the system meets critical deadlines even if all deadlines cannot be met
- Akos ledeczi
- Akos ledeczi
- Akos ledeczi
- Eece ubc
- Harmonic number
- Draw a supply curve for tax return preparation software
- Horváth ákos elte
- Dr. gubán ákos
- Fodor ákos
- Mernyei ákos
- Sensor and (tiempo real or real time)
- Real-time systems and programming languages
- Real-time operating systems
- Dsp in embedded system
- Characteristics of embedded systems
- Real-time executive for multiprocessor systems
- Real time programming language
- Real time systems
- Realtime operating system
- For minutes. start.
- Funciones reales ejemplos
- The real real fashion copywriter
- Polynomial application in real life
- Ch 9 ream people real choice case study
- Coca cola the real story behind the real thing
- Marketing real people real choices
- Real homes real estate
- Slidetodoc.com
- Marketing real people real decisions
- Marketing real people real decisions
- Systems of linear equations real world applications
- Pneumatic system examples
- Decision support systems and intelligent systems
- Dicapine
- Embedded systems vs cyber physical systems
- Elegant systems
- The real world an introduction to sociology
- Material theory of induction