Predictable response times in event-driven real-time systems



Similar documents
Predictable response times in eventdriven real-time systems

4. Fixed-Priority Scheduling

MAST: A Timing Behavior Model for Embedded Systems Design Processes

Schedulability analysis of distributed real-time systems

Real- Time Scheduling

Real-Time Software. Basic Scheduling and Response-Time Analysis. René Rydhof Hansen. 21. september 2010

Real-Time Scheduling 1 / 39

Lecture 3 Theoretical Foundations of RTOS

Module 6. Embedded System Software. Version 2 EE IIT, Kharagpur 1

Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example

Periodic Task Scheduling

Aperiodic Task Scheduling

3. Scheduling issues. Common approaches /1. Common approaches /2. Common approaches / /13 UniPD / T. Vardanega 23/01/2013. Real-Time Systems 1

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

174: Scheduling Systems. Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 TIMING ANALYSIS IN NETWORKED MEASUREMENT CONTROL SYSTEMS

The simple case: Cyclic execution

A Survey of Fitting Device-Driver Implementations into Real-Time Theoretical Schedulability Analysis

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

SOFTWARE VERIFICATION RESEARCH CENTRE THE UNIVERSITY OF QUEENSLAND. Queensland 4072 Australia TECHNICAL REPORT. No Real-Time Scheduling Theory

Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings

Implementing and Using Execution Time Clocks in Ada Hard Real-Time Applications

Programming real-time systems with C/C++ and POSIX

HARD REAL-TIME SCHEDULING: THE DEADLINE-MONOTONIC APPROACH 1. Department of Computer Science, University of York, York, YO1 5DD, England.

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses

Modular Real-Time Linux

Operating System Aspects. Real-Time Systems. Resource Management Tasks

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS

Improved Handling of Soft Aperiodic Tasks in Offline Scheduled Real-Time Systems using Total Bandwidth Server

Resource Reservation & Resource Servers. Problems to solve

Partition Scheduling in APEX Runtime Environment for Embedded Avionics Software

Operating Systems Concepts: Chapter 7: Scheduling Strategies

Operating Systems. III. Scheduling.

Embedded Systems. 6. Real-Time Operating Systems

Real Time Scheduling Basic Concepts. Radek Pelánek

Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2

CPU Scheduling. CPU Scheduling

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

Scheduling Aperiodic and Sporadic Jobs in Priority- Driven Systems

REAL TIME OPERATING SYSTEMS. Lesson-10:

CPU Scheduling. Multitasking operating systems come in two flavours: cooperative multitasking and preemptive multitasking.

Exercises : Real-time Scheduling analysis

- An Essential Building Block for Stable and Reliable Compute Clusters

Aperiodic Task Scheduling

Real-Time Systems Hermann Härtig Real-Time Communication (following Kopetz, Liu, Schönberg, Löser)

What is best for embedded development? Do most embedded projects still need an RTOS?

ICS Principles of Operating Systems

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Scheduling Real-time Tasks: Algorithms and Complexity

Real-Time Operating Systems.

POSIX. RTOSes Part I. POSIX Versions. POSIX Versions (2)

REAL TIME OPERATING SYSTEMS. Lesson-18:

Methods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis

Module 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1

CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems

Using EDF in Linux: SCHED DEADLINE. Luca Abeni

Scheduling of Real- Time processes, strategies and analysis

CPU Scheduling. Core Definitions

Chapter 5 Process Scheduling

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

Design Pattern for the Adaptive Scheduling of Real-Time Tasks with Multiple Versions in RTSJ

Processor Scheduling. Queues Recall OS maintains various queues

2. is the number of processes that are completed per time unit. A) CPU utilization B) Response time C) Turnaround time D) Throughput

Quality of Service su Linux: Passato Presente e Futuro

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

The Design and Implementation of Real-Time Schedulers in RED-Linux

Hard Real-Time Linux

Operating Systems, 6 th ed. Test Bank Chapter 7

AN APPROPRIATE ENGINEERING APPROACH

Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details

Real-Time Operating Systems for MPSoCs

CPU Scheduling Outline

Integrating real-time analysis into design flows

How To Compare Real Time Scheduling To A Scheduled Scheduler On Linux On A Computer System With A Visualization System

LAB 5: Scheduling Algorithms for Embedded Systems

Enhancing the Monitoring of Real-Time Performance in Linux

Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems

STORM. Simulation TOol for Real-time Multiprocessor scheduling. Designer Guide V3.3.1 September 2009

Real Time Programming: Concepts

Chapter 2: OS Overview

Tasks Schedule Analysis in RTAI/Linux-GPL

Priority Inversion Problem and Deadlock Situations

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

Task Priority Optimization in Real-Time Multi-Core Embedded Systems

Linux Plumbers API for Real-Time Scheduling with Temporal Isolation on Linux

Transcription:

Predictable response times in event-driven real-time systems Automotive 2006 - Security and Reliability in Automotive Systems Stuttgart, October 2006. Presented by: Michael González Harbour mgh@unican.es www.ctr.unican.es GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 1

Predictable response times in eventdriven real-time systems 1. Introduction 2. Basic scheduling 3. Mutual exclusion 4. Distributed systems 5. Hierarchical scheduling 6. Protection and flexible scheduling frameworks 7. Operating systems 8. Programming languages 9. Modeling and integration into the design process 10. Conclusions GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 2

Elements of a real-time system Digital I/O Computer Communications Real-Time Software Other Computers Analog I/O Task Task Task OS Task Clock External Environment Other I/O GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 3

Real-time systems A Real-time system is a combination of a computer, hardware I/O devices, and special-purpose software, in which: there is a strong interaction with the environment the environment changes with time the system simultaneously controls and/or reacts to different aspects of the environment As a result: timing requirements are imposed on software software is naturally concurrent To ensure that timing requirements are met, the system s timing behavior must be predictable GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 4

What s important in real-time Predictability of the response time Criteria for real-time systems differ from that for time-sharing systems. Time-Share Systems Worst case cannot be checked by testing Real-Time Systems Capacity High throughput Ability to meet timing requirements: Schedulability Responsiveness Fast average response Ensured worst-case latency Overload Fairness Stability of critical part GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 5

Options for managing time Compile-time schedules: - time triggered or cyclic executives - predictability through static schedule - logical integrity often compromised by timing structure - difficult to handle aperiodic events & dynamic changes - difficult to maintain Run-time schedules: - priority-based schedulers - preemptive or non preemptive - analytical methods needed for predictability - separates logical structure from timing - more flexibility GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 6

Fixed-priority scheduling (FPS) Fixed-priority preemptive scheduling is very popular for practical applications, because: Timing behavior is simpler to understand Behavior under transient overload is easy to manage A complete analytical technique exists High utilization levels may be achieved (typically 70% to 95% of CPU) Supported in standard concurrent languages or operating systems: - Ada 2005 s RT-annex, Java RTSJ - Real-time POSIX GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 7

Dynamic priority scheduling Most common policy is earliest deadline first (EDF): the priority varies with time, because the task with the closest absolute deadline is chosen first 100% CPU utilization may be achieved However: behavior is more complex, and so is the analysis treatment of transient overload is more complex not supported by standard operating systems - supported in Java RTSJ - recently added to Ada 2005 Mixed EDF/FPS schemes are possibly the best approach GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 8

Predictable response times in eventdriven real-time systems 1. Introduction 2. Basic scheduling 3. Mutual exclusion 4. Distributed systems 5. Hierarchical scheduling 6. Protection and flexible scheduling frameworks 7. Operating systems 8. Programming languages 9. Modeling and integration into the design process 10. Conclusions GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 9

Activities in a basic real-time system: example Periodics T = 100 ms Shared Resources Aperiodics Emergency τ 1 : control C=20 ms Sensor Data Minimum Interarrival Time = 50 msec τ 2 : sensing τ 3 : planning Deadline 30 ms T = 150 ms C=40 ms Deadline 150 ms T = 350 ms C=100 ms Deadline 350 ms 2 ms 20 ms Commands 10 ms 10 ms C=5 ms Deadline = 6 msec after arrival I/O-processing Average Interarrival Time = 40 msec C=2 ms Desired Average Response Time = 20 ms GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 10

Basic principles of real-time analysis Two concepts help building the worst-case condition under fixed priorities: Critical instant. The worst-case response time for all tasks in the task set is obtained when all tasks are activated at the same time Checking only the deadlines in the worst-case busy period. - for task: interval during which the processor is busy executing τ i or higher priority tasks GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 11

Example of a critical instant τ1 0 20 100 120 200 220 300 320 τ2 0 20 60 τ3 busy period 150 190 300 τ3 0 60 100 120 150 190 200 220 240 350 time GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 12

Priority assignment If D i T i, deadline monotonic assignment For a set of periodic independent tasks, with deadlines within the period, the optimum priority assignment is the deadline monotonic assignment: - Priorities are assigned according to task deadlines - A task with a shorter deadline is assigned a higher priority If D i > T i for one or more tasks, Audsley s algorithm iteratively apply analysis, successively ordering tasks by priority: O(n 2 ) times the analysis GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 13

Utilization bound test (D=T) (Liu and Layland, 1973) Utilization Bound Test: A set of n independent periodic tasks, with deadlines at the end of the periods, scheduled by the rate monotonic algorithm will always meet its deadlines, for all task phasings, if C 1 T 1 C n T n ----- +... + ----- Un ( ) = n( 2 1/ n 1) U(1) = 1.0U(4) = 0.756U(7) = 0.728 U(2) = 0.828U(5) = 0.743U(8) = 0.724 U(3) = 0.779U(6) = 0.734U( ) = 0.693 For harmonic task sets, the utilization bound is U(n)=1.00 for all n. GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 14

Response time analysis (Harter, 1984; Joseph and Pandya, 1986) Iterative test (pseudopolynomial time): a 0 = C 1 + C 2 + + C i a k 1 + = W i ( a k ) = a k ----- C 1 + + ---------- C i 1 + C i + B i T 1 a k T i 1 preemption execution blocking Finish when two consecutive results are the same GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 15

Elements that influence the response time τ1 τ2 τ3 Blocking Execution Preemption time GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 16

Enhancements to response-time analysis (FPS) Analysis with arbitrary deadlines (Lehoczky, 1990) checking first deadline is not enough repeat analysis for multiple jobs in a busy period Analysis with release jitter (Tindell, 1992) Analysis with overhead effects (context switch) Methods for controlling input/output jitter GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 17

Response time analysis for EDF Busy period: interval during which processor is not idle Worst case response time of a task: found in a busy period in which all other tasks: are released at the beginning of the busy period, and have experienced their maximum jitter Differences with fixed priorities: The task under analysis does not necessarily start with the busy period The busy period is longer GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 18

Handling aperiodic activities Periodics T = 100 ms Shared Resources Aperiodics Emergency τ 1 : control C=20 ms Sensor Data Minimum Interarrival Time = 50 msec τ 2 : sensing τ 3 : planning Deadline 30 ms T = 150 ms C=40 ms Deadline 150 ms T = 350 ms C=100 ms Deadline 350 ms 2 ms 20 ms Commands 10 ms 10 ms C=5 ms Deadline = 6 msec after arrival I/O-processing Average Interarrival Time = 40 msec C=2 ms Desired Average Response Time = 20 ms GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 19

Handling aperiodic activities The main problem is guaranteeing predictability in systems with unbounded aperiodic events GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 20

Scheduling aperiodic tasks Periodic Polling: Legend Event Processing Replenishment Event Arrival Direct Event Processing: Background: Sporadic Server: GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 21

Periodic servers Sporadic server (FPS) Characterized by two parameters: - initial execution capacity (C R ) - replenishment period (T R ) It guarantees - a minimum bandwidth for aperiodic events - bounded preemption on lower priority tasks Servers also exist for EDF scheduling Constant bandwidth servers (CBS) GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 22

Predictable response times in eventdriven real-time systems 1. Introduction 2. Basic scheduling 3. Mutual exclusion 4. Distributed systems 5. Hierarchical scheduling 6. Protection and flexible scheduling frameworks 7. Operating systems 8. Programming languages 9. Modeling and integration into the design process 10. Conclusions GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 23

Example: synchronization Periodics T = 100 ms Shared Resources Aperiodics Emergency τ 1 : control C=20 ms Sensor Data Minimum Interarrival Time = 50 msec τ 2 : sensing τ 3 : planning Deadline 30 ms T = 150 ms C=40 ms Deadline 150 ms T = 350 ms C=100 ms Deadline 350 ms 2 ms 20 ms Commands 10 ms 10 ms C=5 ms Deadline = 6 msec after arrival I/O-processing Average Interarrival Time = 40 msec C=2 ms Desired Average Response Time = 20 ms GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 24

Unbounded priority inversion attempts to lock S1 (blocked) τ 1 :{...P(S1)...V(S1)...} τ 3 :{...P(S1)...V(S1)...} S1 locked S1 unlocked Legend S1 locked Executing Blocked B τ 1 (H) B τ 2 (M) S1 locked S1 unlocked τ 3 (L) Time GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 25

Synchronization protocols Protocols that prevent unbounded priority inversion: No preemption - equivalent to raising the priority of the critical section to the highest level Immediate priority ceiling protocol - raises the priority of the critical section to a value called the "ceiling" - lowest blocking time, no extra context switches - best for static environments Priority inheritance - raises the priority only if somebody is waiting - best for dynamic environments GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 26

Synchronization in EDF Blocking effects similar to unbounded priority inversion exist Synchronization protocols (dynamic) priority inheritance Baker s protocol - applicable to many scheduling policies - immediate priority ceiling is a special case - similar properties GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 27

Elements that influence the response time τ1 τ2 τ3 Blocking Execution Preemption time GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 28

Lessons learned from basic real-time theory In fixed-priority systems, the worst-case response time of a task is a function of: preemption: time waiting for higher-priority tasks execution: time to do its own work blocking: time delayed by lower-priority tasks, usually because of mutual exclusion synchronization Deadlines are missed when utilization is over 100% (seems obvious, but happens in reality): Solutions: - change the computation requirements - change the periods or interarrival times - buy a faster CPU GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 29

Lessons learned from basic real-time theory (cont d) Deadlines are missed because there is too much preemption: A task or a task s portion runs at a higher priority than it should - this happens typically with interrupt service routines There are not enough priorities Solutions: - preemption can be minimized by choosing an optimum priority assignment - sometimes a task or an ISR must be split into parts whose priorities can be independently assigned - buy a system with user-defined priorities for I/O drivers - buy a system with at least 32 priority levels GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 30

Lessons learned from basic real-time theory (cont d) Deadlines are missed because there is too much blocking: Normal semaphores suffer from unbounded priority inversion - this causes horrendous worst-case blocking times Solutions - disable preemption in the critical sections (may still have too much blocking) - priority inheritance protocol - priority ceiling or Baker s protocol - split long critical sections GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 31

Predictable response times in eventdriven real-time systems 1. Introduction 2. Basic scheduling 3. Mutual exclusion 4. Distributed systems 5. Hierarchical scheduling 6. Protection and flexible scheduling frameworks 7. Operating systems 8. Programming languages 9. Modeling and integration into the design process 10. Conclusions GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 32

Real-time networks Very few networks guarantee real-time response many protocols allow collisions no priorities or deadlines in the protocols Some solutions CAN bus and other field busses Priority-based token passing Time-division multiplexed access Point to point networks GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 33

Distributed system model Linear Action: e j-1,j e j,j+1 a j T j-1,j = T j = T j,j+1 Linear Response to an Event: CPU-1 Network CPU-2 e 1 e 1 Action External event Internal event e 1 e 1,2 e 2,3 a 1 a 2 a 3 d 2 D 2 ED 3 GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 34

Release jitter in distributed systems In the example below, actions a 2,a 3 and a 5,a 6,a 7,a 8 have jitter, even if a 1 and a 4 are purely periodic: a 2 a 5 a 1 a 8 a 4 a 7 Network a 3 CPU-1 a 6 CPU-2 GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 35

The problem Release jitter in one resource depends on the response times in other resources Response times depend on release jitter GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 36

Holistic analysis technique Developed at the University of York Each resource is analyzed separately (CPU s and communication networks): the analysis is repeated iteratively, until a stable solution is achieved the method converges because of the monotonic relation between jitters and response times Analysis provides guarantees on schedulability, but is very pessimistic independent critical instants may not be possible in practice GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 37

Offset-based techniques They reduce the pessimism of the worst-case analysis in multiprocessor and distributed systems: by considering offsets in the analysis Exact analysis is intractable: The task that generates the worst-case contribution of a given transaction is unknown The analysis has to check all possible combinations of tasks Upper bound approximation This technique is pessimistic, but polynomial In 93% of the tested cases, the response times were exact GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 38

Priority assignment techniques No known optimum priority assignment for distributed systems Simulated Annealing Standard optimization technique HOPA Heuristic algorithm based on successively applying the analysis Much faster than simulated annealing Usually finds better solutions None of them guarantees finding the solution GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 39

Summary Kind of Analysis Deadlines Number of processors Fixed Priorities Utilization test D=T 1 Response Time Analysis Arbitrary 1 Holistic Analysis Arbitrary Many Offset-Based Analysis Arbitrary Many Distributed model also applicable to: signal & wait synchronization activities that suspend themselves (i.e., delays, I/O,...) EDF GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 40

Predictable response times in eventdriven real-time systems 1. Introduction 2. Basic scheduling 3. Mutual exclusion 4. Distributed systems 5. Hierarchical scheduling 6. Protection and flexible scheduling frameworks 7. Operating systems 8. Programming languages 9. Modeling and integration into the design process 10. Conclusions GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 41

Mixing EDF and fixed priorities EDF scheduler Multimedia processing system Task 1 Task 2 Task 3 Task 4 Task 5 GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 42

Mixing EDF and fixed priorities Hardware scheduler Interrupt service routines ISR 1 ISR 2 EDF scheduler Multimedia processing system Task 1 Task 2 Task 3 Task 4 Task 5 GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 43

Mixing EDF and fixed priorities Hardware scheduler Interrupt service routines ISR 1 ISR 2 Fixed priority scheduler Control tasks Task 1 Task 2 Task 3 EDF scheduler Multimedia processing system Task 1 Task 2 Task 3 Task 4 Task 5 GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 44

Mixing EDF and fixed priorities Hardware scheduler Interrupt service routines ISR 1 ISR 2 Fixed priority scheduler Control tasks Task 1 Task 2 Task 3 EDF scheduler Multimedia processing system Task 1 Task 2 Task 3 Task 4 Task 5 Round-robin scheduler Graphical user interface Task 1 Task 2 Task 3 Task 4 Task 5 GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 45

RTA for EDF-within-priorities Techniques have developed to obtain a worst-case response time analysis in systems with hierarchical schedulers underlying fixed priority scheduler EDF schedulers running tasks at a given priority level We call this approach EDF within fixed priorities GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 46

Predictable response times in eventdriven real-time systems 1. Introduction 2. Basic scheduling 3. Mutual exclusion 4. Distributed systems 5. Hierarchical scheduling 6. Protection and flexible scheduling frameworks 7. Operating systems 8. Programming languages 9. Modeling and integration into the design process 10. Conclusions GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 47

Motivation for time protection Response-time analysis is heavily based on knowing the worst-case execution times (WCET) of each individual task tools based on precise processor models tools based on measurement + probabilistic methods Precise WCET is very different from average case Time protection helps by detecting execution-time overruns Independently developed components sharing resources require time protection GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 48

Contract-based scheduling Application Contract Application Requirements Contract Application Requirements Negotiation FRESCOR scheduler Server Copy of contract Consumed resources OS resources Server Copy of contract Consumed resources OS resources Operating System GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 49

The FRESCOR flexible scheduling framework project A contract specifies: the minimum resource usage requirements how to make use of spare resources FRESCOR Increases the level of abstraction for RT services automatic admission test independence of scheduling algorithm dynamic reclamation of unused resources coexistence of hard real-time, quality of service Temporal encapsulation of subsystems Closes the gap between theory and practice GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 50

Predictable response times in eventdriven real-time systems 1. Introduction 2. Basic scheduling 3. Mutual exclusion 4. Distributed systems 5. Hierarchical scheduling 6. Protection and flexible scheduling frameworks 7. Operating systems 8. Programming languages 9. Modeling and integration into the design process 10. Conclusions GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 51

Real-time operating systems In the past, many real-time systems did not need an operating system Today, many applications require operating system services such as: - concurrent programming, communication networks, file system, etc. The timing behavior of a program depends strongly on the operating system s behavior POSIX definition of real-time in operating systems: The ability of the operating system to provide a required level of service in a bounded response time. GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 52

What is POSIX? Portable Operating System Interface Based on UNIX operating systems The goal is portability of - applications (at the source code level) - programmers Sponsored by the IEEE and The Open Group GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 53

POSIX real-time profiles (POSIX.13) The POSIX Standard: Allows writing portable real-time applications Very large: inappropriate for embedded real-time systems POSIX.13: Defines four real-time system subsets (profiles) C and Ada language options GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 54

Summary of RT Profiles Networking Asynchronous I/O Multiple Processes Multi-Purpose Shell & Utilities Simple File System Message Queues Dedicated Multiple Users Minimal Tracing Full File System Core Controller Others GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 55

Predictable response times in eventdriven real-time systems 1. Introduction 2. Basic scheduling 3. Mutual exclusion 4. Distributed systems 5. Hierarchical scheduling 6. Protection and flexible scheduling frameworks 7. Operating systems 8. Programming languages 9. Modeling and integration into the design process 10. Conclusions GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 56

Programming languages for realtime systems Some languages do not provide support for concurrency or real-time C, C++ support achieved through OS services (POSIX) Other languages provide support in the language itself Java (concurrency) and RTSJ (real-time) - API based Ada: concurrency and real-time - integrated into the core language GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 57

Programming languages for realtime systems Language support helps in increased reliability more expressive power reduced development and maintenance costs GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 58

Predictable response times in eventdriven real-time systems 1. Introduction 2. Basic scheduling 3. Mutual exclusion 4. Distributed systems 5. Hierarchical scheduling 6. Protection and flexible scheduling frameworks 7. Operating systems 8. Programming languages 9. Modeling and integration into the design process 10. Conclusions GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 59

Motivation The latest schedulability analysis techniques are difficult to apply by hand Need to integrate all the techniques in a single tool suite schedulability analysis tools priority assignment sensitivity analysis A model of the real-time behavior is necessary GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 60

Real-time system model Software Modules Processing Resource Shared Resources Scheduler Operation Scheduling Server Platform Event Activity Event Scheduling Parameters Real-time situation Event Handler Timing Requirement Event Reference GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 61

Real-time situation Transaction Activity Activity Multicast External Event Internal Event Event Handler Event Handler Event Handler Timing Requirement Event Handlers Transaction... GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 62

MAST environment Model Building Tools Component Profile Ada Profile UML Profile Data handling Tools Results viewer Graphical editor XML converter RT Model Data Model description Results description Trace log Tool launcher Tools Simulator Sensitivity Prio. assignment Schedulability analysis GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 63

The MAST_RT_View in the 4+1 View (Functionality) Logical View (Software management) Component View Process View Real Time View (Real Time Models) Use Case View (Understandability, Usability) (Performance, Scalability, Throughput) Deployment View (System Distribution) GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 64

Predictable response times in eventdriven real-time systems 1. Introduction 2. Basic scheduling 3. Mutual exclusion 4. Distributed systems 5. Hierarchical scheduling 6. Protection and flexible scheduling frameworks 7. Operating systems 8. Programming languages 9. Modeling and integration into the design process 10. Conclusions GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 65

Conclusions Priority-based run-time scheduling supports predictability of response time, via static analysis flexibility and separation of concerns dynamic and fixed priorities can be combined together Real-time theory is now capable of analyzing complex realtime systems Tools are available to automatically analyze a system provide sensitivity analysis design space exploration GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 66

Conclusions (cont d) Flexible scheduling frameworks integrate hard real-time with quality of service requirements increased use of system resources higher level of abstraction GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 67

Future goals Integration of schedulability analysis with design tools and methods component-based approaches Improved methods for WCET estimation New networks and protocols that use real-time scheduling Integration of real-time response into general-purpose operating systems kernel support, including I/O drivers flexible scheduling frameworks GRUPO DE COMPUTADORES Y TIEMPO REAL Michael González Harbour 68