Real Time Process Control (Introduction)

Slides:



Advertisements
Similar presentations
CprE 458/558: Real-Time Systems
Advertisements

Feedback Control Real-Time Scheduling: Framework, Modeling, and Algorithms Chenyang Lu, John A. Stankovic, Gang Tao, Sang H. Son Presented by Josh Carl.
© Alan Burns and Andy Wellings, 2001 Real-Time Systems and Programming Languages n Buy Real-Time Systems: Ada 95, Real-Time Java and Real-Time POSIX by.
EE5900 Advanced Embedded System For Smart Infrastructure
Priority INHERITANCE PROTOCOLS
Chapter 2 Real-time software design
CPE555A: Real-Time Embedded Systems
Real-Time Scheduling CIS700 Insup Lee October 3, 2005 CIS 700.
Tasks Periodic The period is the amount of time between each iteration of a regularly repeated task Time driven The task is automatically activated by.
Basic Real Time Concepts Systems Concepts Real-Time Definitions Events and Determinism CPU Utilization Real-Time System Design Issues Example Real-Time.
Embedded and Real Time Systems Lecture #2 David Andrews
Multiprocessor and Real-Time Scheduling Chapter 10.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real-Time Systems and Programming Languages
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
Real-Time Operating System Chapter – 8 Embedded System: An integrated approach.
EMBEDDED SOFTWARE Team victorious Team Victorious.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real Time & Embedded Systems Lecture 1: Real Time Systems Software (RTSS) RTSS: the software half of the Real Time & Embedded Systems unit What do we mean.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
Task Scheduling By Dr. Amin Danial Asham.
1 소프트웨어공학 강좌 Chap 11. Real-time software Design - Designing embedded software systems whose behaviour is subject to time constraints -
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Scheduling policies for real- time embedded systems.
Multiprocessor and Real-Time Scheduling Chapter 10.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
Real Time Scheduling Telvis Calhoun CSc Outline Introduction Real-Time Scheduling Overview Tasks, Jobs and Schedules Rate/Deadline Monotonic Deferrable.
Slide 1 Chapter 11 Real –time Software Designs. Slide 2 Real-time systems l Systems which monitor and control their environment l Inevitably associated.
ICOM Noack Scheduling For Distributed Systems Classification – degree of coupling Classification – granularity Local vs centralized scheduling Methods.
Real-Time Scheduling CS 3204 – Operating Systems Lecture 20 3/3/2006 Shahrooz Feizabadi.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Introduction to Real-Time Systems.
2.5 Scheduling Given a multiprogramming system. Given a multiprogramming system. Many times when more than 1 process is waiting for the CPU (in the ready.
Chapter 5: Process Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Basic Concepts Maximum CPU utilization can be obtained.
Real-time Software Design King Saud University College of Computer and Information Sciences Department of Computer Science Dr. S. HAMMAMI.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Real-Time Scheduling CS 3204 – Operating Systems Lecture 13 10/3/2006 Shahrooz Feizabadi.
1 Real-Time Scheduling. 2Today Operating System task scheduling –Traditional (non-real-time) scheduling –Real-time scheduling.
2.5 Scheduling. Given a multiprogramming system, there are many times when more than 1 process is waiting for the CPU (in the ready queue). Given a multiprogramming.
Real time scheduling G.Anuradha Ref:- Stallings. Real time computing Correctness of the system depends not only on the logical result of computation,
Introduction to Embedded Systems Rabie A. Ramadan 5.
Introduction to Real-Time Systems
For a good summary, visit:
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Embedded System Design and Development Introduction to Embedded System.
CONCEPTS OF REAL-TIME OPERATING SYSTEM. OBJECTIVE  To Understand Why we need OS?  To identify Types of OS  To Define Real - Time Systems  To Classify.
Real-Time Operating Systems RTOS For Embedded systems.
Multiprocessor, Multicore, and Real-Time Scheduling Chapter 10
Real-time Software Design
REAL-TIME OPERATING SYSTEMS
Wayne Wolf Dept. of EE Princeton University
Chapter 2 Scheduling.
Real-time Software Design
Lecture 24: Process Scheduling Examples and for Real-time Systems
Introduction to Realtime Systems (& Embedded Systems)
Chapter 6: CPU Scheduling
Operating Systems CPU Scheduling.
Chapter 6: CPU Scheduling
Lecture 21: Introduction to Process Scheduling
OverView of Scheduling
CPU SCHEDULING.
Multiprocessor and Real-Time Scheduling
Lecture 21: Introduction to Process Scheduling
Chapter 10 Multiprocessor and Real-Time Scheduling
Uniprocessor scheduling
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
Presentation transcript:

Real Time Process Control (Introduction) Tono Riesco Electronics Engineer CERN

Agenda Introduction Control systems Basic concepts Real-Time Task Scheduling Real-Time in Linux

Control System In all the control systems, we found 3 basic components: System to be controlled With sensors, actuators, cables…etc. Controller Send orders to the system according a predetermined control objective. Environment Where the control system operates.

Typical Control System Controller Feedback Environment System

Control System Details Controller System Actuators Environment Data Process Data Filters Sensors

Types of Control Systems Depending of the interactions with the environment we distinguish 3 types of control systems: Monitoring Systems Do not modify the environment Open-loop control systems Loosely modify the environment Closed-loop control systems Tight interaction between perception and action

Monitoring Systems Do not modify the environment Sensor 1 Environment Data Process Data Filters Sensor 2 Sensor n Display Examples: surveillance systems, air traffic control

Open-Loop Control Systems Sensing and control are loosely coupled Controller System Actuators Environment Planning Data Process Sensors Examples: assembly robots, industrial chains, access systems

Closed-Loop Control Systems Sensing and control are tightly coupled Controller System Actuators Environment Planning Data Process Sensors Examples: humans, flight control systems, safety systems

Conclusions If we have a tight interaction with the environment, the system has to react to events within precise timing constrains. Timing constrains are imposed by the environment. The control system must to be able to execute tasks within time constraints.

What’s a Real Time System? I “A real-time system is one in which the correctness of the computations not only depends upon the logical correctness of the computation but also upon the time at which the result is produced. If the timing constraints of the system are not met, system failure is said to have occurred” Donald Gillies.

What’s a Real Time System? II System capable of guaranteeing timing requirements of the processes under its control. It is essential that the timing constraints of the system are guaranteed to be met. Guaranteeing timing behavior requires that the system be predictable. It is also desirable that the system attain a high degree of utilization while satisfying the timing constraints of the system. Late or early answer → Wrong answer Guarantee worst case vs. best effort Real time controlled machine on the production line at a bottling plant. The machine's function is simply to cap each bottle as it passes within the machine's field of motion on a continuously moving conveyor belt. If the machine operates too quickly, the bottle won't be there yet. If the machine operates too slowly, the bottle will be too far along for the machine to reach it. Stopping the conveyor belt is a costly operation, because the entire production line must correspondingly be stopped. Therefore, the range of motion of the machine coupled with the speed of the conveyor belt establishes a window of opportunity for the machine to put the cap on the bottle.

What’s not a Real-Time System? I A real-time system is not a fast system. AFAP systems Speed is always relative to a specific environment. Running faster is good, but does not guarantee a correct behavior. Real-time systems is not on-line systems or "an interactive system with better response time than we had".

Real-Time examples Bottling plant Servo loops in an airplane when on auto-pilot Real time controlled machine on the production line at a bottling plant. The machine's function is simply to cap each bottle as it passes within the machine's field of motion on a continuously moving conveyor belt. If the machine operates too quickly, the bottle won't be there yet. If the machine operates too slowly, the bottle will be too far along for the machine to reach it. Stopping the conveyor belt is a costly operation, because the entire production line must correspondingly be stopped. Therefore, the range of motion of the machine coupled with the speed of the conveyor belt establishes a window of opportunity for the machine to put the cap on the bottle.

How has to be a real time system? Fast Predictable Deterministic Fast means that it has a low latency, i.e. it responds to external, asynchronous events in a short time. Predictable means that it is able to determine task's completion time with certainty. predictable refers to a system whose timing behavior is always within an acceptable range. The behavior is specified on a system-wide basis, such as "all tasks will meet all deadlines. A deterministic system is a special case of a predictable system. Not only is the timing behavior within a certain range, but that timing behavior can be pre-determined. For example, a system can be designed with pre-allocated time slots for each task. Execution for each task occurs only during those time slots. Such a system must have execution time for every task known, as well as no anomalies that might cause deviation from the pre-determined behavior. That is, of course, difficult to achieve. Fortunately, determinism is not essential to build predictable real-time systems.

Fast meaning in Real Time Fast means that it has a low latency It responds to external, asynchronous events in a short time. The lower the latency, the better the system will respond to events which require immediate attention

Predictable Predictable means that it is able to determine task's completion time with certainty. Predictable refers to a system whose timing behavior is always within an acceptable range. The behavior is specified on a system-wide basis, such as “all tasks will meet all deadlines”.

Deterministic Special case of a predictable system. Not only is the timing behavior within a certain range, but that timing behavior can be pre-determined. Pre-allocated time slots for each task. Execution for each task occurs only during those time slots. Determinism is not essential to build predictable real-time systems.

Real Time Systems Real Time System Event Action Real Time: System able to respond to events within precise timing constraints.

Real Time Systems Real Time System t x (t) Environment y (t +Δ) It is a system in which the correctness depends not only on the output values, but also on the time at which results are produced.

Real-Time classification

Definitions Task is a sequence of instructions that in the absence of other activities is continuously executed by the system until completion. t ai si fi

Definitions Real-Time Task τi Di Li Ci Lai τi t ri si fi di ri Request time (arrival time) si Start Time fi Finish Time di Absolute Deadline Di Relative deadline Ci Worst Case execution time (wcet) Li Latency Lai Lateness (fi - di) Ti Tardiness (max (0, Lai))

Definitions Lateness Tardiness Latency Jitter Quality of coming late or later in time Tardiness Quality of not adhering to a correct or usual or expected time Latency The time that elapses between a stimulus and the response to it Jitter Random variation in the timing of a signal, especially a clock

Task status

Queue Ready Tasks The ready tasks go to the “waiting queue” the ready queue The strategy of choosing which task go before is known schedule algorithm Not a FIFO Queue!!! Dispatching τ3 τ2 τ1 CPU Activation

Task Status Transitions Finished Running Wait Dispatching Blocked Preemption Ready Activation Signal