Title: RealTime Computing
1Real-Time Computing
- Sunggu Lee
- EE Dept., POSTECH
2Overview
- Introduction
- Characteristics and Challenges of Real-Time
Computing Systems - Definitions, Issues and Comparisons
- Tasks and Scheduling
- Worst-Case Execution Time Analysis
- Real-Time Software
- Real-Time Operating Systems
- Middleware
3Introduction Crnkovic 2002
- Embedded computers
- Examples Medical control equipment, mobile
phones, and vehicle control systems. - Most such embedded systems can also be
characterized as real-time systems. - They must usually meet stringent specifications
for safety, reliability, limited hardware
capacity etc
4Characteristics and Challenges of RTS Crnkovic
2002
- Real-time systems are computing systems in which
the meeting of timing constraints is essential to
correctness. - If the system delivers the correct answer, but
after a certain deadline, it could be regarded as
having failed.
5Types of Real-Time Systems
- Hard real-time system
- A system where something very bad happens if
the deadline is not met - Examples control systems for aircraft, nucluear
reactors, chemical power plants, jet engines,
etc. - Soft real-time system
- A system where the performance is degraded below
what is generally considered acceptable if the
deadline is missed - Example multimedia system
6Utility Function (Task Value Function) Kim 2005
Task with a hard deadline
Utility
Task with a soft deadline
1
0
deadline
Time
7Issues in Real-Time Computing Liu 2000
- Real-time computing deals with all problems in
computer architecture, fault-tolerant computing
and operating systems are also problems in
real-time computing, with the added complexity of
having to meet real-time constraints - Real-time computer systems differ from
general-purpose systems - They are more specific in their applications
- The consequences of their failure are more
drastic - Emphasis is placed on meeting task deadlines
8Example Problems in Real-Time Computing
- Example 1 Task Scheduling
- General-purpose system can use round-robin
scheduling - This is NOT suitable for real-time systems
because high-priority tasks may miss their
deadlines with round-robin scheduling - A priority mechanism is necessary
- Example 2 Cache Usage Scheduling
- A general-purpose system typically allows the
process that is currently executing the right to
use the entire cache area - This keeps the cache miss rate low
- Side effect task run times are less predictable
- Thus, not so desirable for real-time systems
9Comparison of Typical Systems Liu 2000
- Jet Engine Control System
- Designer knows precise workload to be executed
- System must be designed to meet task deadlines
- If a deadline is not met, the jet engine may
explode
- General-Purpose Computer Workstation
- Workload is not known in advance
- System should be designed to be fast on the
average - Task execution time variance is less important
10Tasks Crnkovic 2002
- Real-time systems can be constructed out of
sequential programs, but typically they are built
out of concurrent programs, called tasks. - Tasks are usually divided into
- Periodic tasks consist of an infinite sequence
of identical activities, called instances, which
are invoked within regular time periods. - Non-periodic or aperiodic are invoked by the
occurrence of an event. - Sporadic aperiodic tasks with a bounded
interarrival time
11Scheduling Crnkovic 2002
- Offline scheduling
- The scheduler has complete knowledge of the task
set and its constraints. - Online scheduling
- Make their scheduling decisions during run-time.
- Deadline
- Is the maximum time within which the task must
complete its execution with respect to an event. - Real-time systems are divided into two classes,
hard and soft real-time systems
12Schedulability Analysis Crnkovic 2002
- At this point we must check that the temporal
requirements of the system can be satisfied,
assuming time budgets assigned in the detailed
design stage. - In other words, we need to make a schedulability
analysis of the system based on the temporal
requirements of each component
13WCET Verification Crnkovic 2002
- Performing a worst-case analysis can either be
based on measurements or on a static analysis of
the source code. - What is more interesting in the test cases is the
execution time behavior shown as a function of
input parameters as shown in the following slide.
14An Execution Time Graph Crnkovic 2002
- The execution time shows different values for the
different - input sub-domains.
15Maximum execution time per sub-domain Crnkovic
2002
16Composition of Components Crnkovic 2002
17End-To-End Deadlines Crnkovic 2002
- End-to-end deadlines
- Are set such that the system requirements are
fulfilled in the same way as the time budgets are
set - Should be specified for the input to and output
from the component since the WCET cannot be
computed since its parts may be executing with
different periods.
18Real-Time Operating System
- Multi-tasking OS designed to permit tasks
(processes) to complete within precisely stated
deadlines - If deadline constraints cannot be met for a new
task, it may be rejected - If a new task would result in deadline violations
for other tasks, it may be rejected - Example commercial operating systems
- Vrtx Mentor Graphics Systems
- VxWorks and pSOS Wind River Systems
- RTLinux FSMLabs, later acquired by Wind River
Systems
19Real-Time Middleware
- ObjectWeb defines middleware as "The software
layer that lies between the operating system and
the applications on each side of a distributed
computing system in a network." Wikipedia - Collection of Tools for Real-Time Programming
- Real-Time Java
- Real-Time Middleware Systems
- Real-Time CORBA
- CORBA Component Object Request Broker
Architecture - Time-triggered Message-triggered Object (TMO)
- System developed at the University of California
at Irvine
20Essence of RT Programming Time-Triggered Action
Kim 2005
- At time T do S
- Start S during T - ?, T ?
- A fundamental distinguishing part of real-time
programming - If S is a function, a control signal for
activation of the function in a node is derived
from the progression of real-time - Whenever the real-time clock within a node
reaches a preset value T specified in a
scheduling table, a control signal is generated - In principle, S may be a single assignment
statement, a compound statement, or a function.
21Essence of RT Programming Time-Triggered Action
Kim 2005
- Factors impacting response times
- - Application, Middleware, OS, Hardware, Comm
Network
Real-timeobjects
Middleware for real-time support
Middleware for real-time support
Middleware for real-time support
OS
OS
OS
H/W
H/W
H/W
22Essence of RT Programming Time-Triggered Action
(cont) Kim 2005
- If there are many factors impacting response
times, analysis of response times becomes very
complicated and often impossible unless every
contributing factor has been very carefully
designed. - gt Conventional response
- Avoid most of the software layers
- Implement application software in assembly or C
programs - ?
- Very low design productivity !!!
- This practice CAN NOT continue in the 2nd half
of 21st Century !!! (except in unusual
circumstances)
23Facilities in TMO for Time-Triggered Actions
Kim 2005
TMO Time-Triggered Message-Triggered
Object
24 New-Generation Real-Time (RT) Distributed
Computing (DC) Component Kim 2005
High-Level RT ObjectTime-triggered
Message-triggered Object (TMO)
- Initiated in early 1990's
- Meant to be a natural easy-to-use extension of
the C/Java object
- Can support Hard-RT DC Software Engineering (SE)
as well as Non-RT DC SE - Contains only high-level intuitive and yet
precise expressions of timing requirements
25 New-Generation RT DC Component Kim 2005
High-Level RT ObjectTime-triggered
Message-triggered Object (TMO)
- Meant to be a natural easy-to-use extension of
the C/Java object
- Can support Hard-RT DC SE as well as Non-RT DC SE
- Contains only high-level intuitive and yet
precise expressions of timing requirements - Formulated from the beginning with the objective
of enabling design-time guaranteeing of timely
actions
26TMO Network Structuring Kim 2005
All conceivable RT DC applications and Non-RT
applications can be Structured as TMO networks .
Kernel ( e.g. NT kernel )
Kernel ( e.g. NT kernel )
Kernel ( e.g. NT kernel )
H/W
H/W
H/W
27Some New-Generation Applications Kim 2005
- Distributed multi-media processing
- Next-generation RT VR (Virtual Reality)
- Multi-party multi-media conferencing and
collaboration - Distributed orchestra (?)
- Drive-by-wire Tele-driving Telematics
F
Precisely timed actions, please !!!
- Military command-control
- Missile defense (ground targets, airborne
targets, ship-borne targets) and
sub-division level command-control - Time-sensitive health care
- Monitoring of in- out-patients
- Remotely controlled surgery
- Non-stop web servers
Non-stop service, please !!!
28An example of a TMO network
Ex 2
Telematics in a Car Fleet Kim 2005
29References
- Jane Liu, Real-Time Systems, Prentice-Hall, Upper
Saddle River, 2000. - Ivica Crnkovic and Magnus Larsson, Building
Reliable Component-Based Software Systems, Artech
House Publishers, July 2002. PowerPoint slides
from http//www.idt.mdh.se/cbse-book/presentations
/13-chapterWC.ppt - Kane (K. H.) Kim, PowerPoint slides used for
undergraduate class ECES 123 Introduction to
Real-Time Distributed Programming taught at the
University of California at Irvine,
http//dream.eng.uci.edu