+ All Categories
Home > Documents > Binghamton University EngiNet™ State University of New York.

Binghamton University EngiNet™ State University of New York.

Date post: 27-Dec-2015
Category:
Upload: deborah-alicia-paul
View: 221 times
Download: 1 times
Share this document with a friend
40
Transcript
Page 1: Binghamton University EngiNet™ State University of New York.
Page 2: Binghamton University EngiNet™ State University of New York.

Binghamton University

EngiNet™

State University of New York

Page 3: Binghamton University EngiNet™ State University of New York.

Thomas J. Watson

School of Engineeringand Applied Science

Page 4: Binghamton University EngiNet™ State University of New York.

WARNING

All rights reserved. No part of the course materials used in the instruction of this course may be reproduced in any form or by anyelectronic or mechanical means, including the useof information storage and retrieval systems,without written approval from the copyright owner.

©2009 Binghamton UniversityState University of New York

Page 5: Binghamton University EngiNet™ State University of New York.

CS 554

Introduction to Real-Time Embedded Systems

Professor Kyoung-Don Kang

Lecture 1January 29, 2009

Page 6: Binghamton University EngiNet™ State University of New York.

Misconceptions About Real-time Computing : A Serious Problem for Next-generation Systems

J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious Problem for Next Generation Systems, IEEE Computer, 21(10), pp. 10-19, October 1988.

Page 7: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 7

Real-Time Computing The correctness of the system

Logical result of the computation Functional correctness

Time to produce the result Next generation RT system

Distributed/adaptive Online guarantees Long lifetime

Page 8: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 8

There is no science in RT system design Most good science grew out of attempts to

solve practical problems Real-time system engineers need help

The first flight of a space shuttle was delayed due to a subtle timing bug due to a transient overload during system initialization

A scientific framework to prevent such a bug to be included is needed

Real-time scheduling, resource management, RT programming language, …

Page 9: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 9

Advances in supercomputer hardware will cover RT requirements

One can exploit parallel processors to improve throughput It does not mean timing constraints can be met

automatically Unless HW is designed to perfectly match the

application, the processors and their communication subsystems may not be able to handle all of the task load and time-critical traffic Real-time task and communication scheduling can get

harder as more hardware is used

Page 10: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 10

Demand for computational power often exceeds supply

Intelligent management of finite resources is required

Page 11: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 11

RT Computing = Fast Computing RT computing

The objective of fast computing is to minimize the average response time

The objective of real-time computing is to meet the individual timing requirement of each task Meet individual task deadlines

Fast computing cannot necessarily provide predictability Fastest hardware & software used in the space shuttle

failed to support the timing requirements Testing is not the answer

Page 12: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 12

Fast is relative Worst case, not average case, response time matters Not speed but predictability is the goal Functional and timing behaviors should be as deterministic

as necessary to satisfy system specification Guarantee the delay is shorter than the upper bound Predictability is not only hardware or algorithmic issue

The delay statement in Ada only specifies the minimum delay before the next task is scheduled

Many things, including scheduling theory, software design, formal methods, RTOS, can change things

Page 13: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 13

RT Programming =Assembly Coding, Priority Interrupt

Programming, Device Driver Writing

Hand-coding may have bugs, especially large RT program

Objective in RT research Automate Customized resource scheduler from timing-

constraint spec.

Page 14: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 14

RT System Research = Performance Engineering

To investigate effective resource allocation strategies to satisfy timing-behavior requirement (≈Perf. Engineering)

Specification & verification of timing behavior Programming language semantics Theoretical problems

Common misconceptions(5)

Page 15: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 15

Real-time systems function in static environment Not necessarily true Once deployed, real-time systems stay for

more than 10 years Many embedded real-time systems these

days need configurable, composable RTOS

Page 16: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 16

Main Research Issues Specification and verification

Modeling and verification of systems that are subject to timing constraints

RT scheduling theory Meet the specified timing requirements Support the utilization bound to meet all

deadlines Meet as many deadlines as possible, if it is

impossible to meet all deadlines

Page 17: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 17

Main Research Issues

RTOS Guarantee RT constraint Support FT and distribution Scheduling time-constrained resource allocation

RT programming language and design methodology High level abstraction to deal with complex real-time

systems Management of time Schedulability check Reusable RT software module

Page 18: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 18

Main Research Issues

(Distributed) RTDB Concurrency in transaction processing RT scheduling algorithm

Fault tolerance Formal specification of the timing constraints Error handling

RT system architecture Interconnection topology (process, I/O) Fast, reliable, and time-constrained communication Cost-effective and integrated fashion WCET analysis

Page 19: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 19

Main Research Issues RT communication

End-to-end deadlines Packet scheduling Dynamic routing Network buffer management

Wireless Sensor Networks Newly emerging area Small, inexpensive, wireless sensors for RT

sensing & control

Page 20: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 20

Rate Monotonic, EDF (Earliest Deadline First), and Deadline Monotonic Scheduling Algorithms C. Liu and J. Layland,

Scheduling Algorithm for Multiprogramming in a Hard Real-time Environment, Journal of the ACM, 20(1), pp. 41-61, January 1973.

N.C. Audsley, A. Burns, M.F. Richardson, and A. J. Wellings, Hard real-time scheduling: The deadline monotonic approach, IEEE Workshop on Real-Time Operating Systems, 1992.

N.C. Audsley, A. Burns, M.F. Richardson, and A. J. Wellings, Applying new scheduling theory to static priority preemptive scheduling, Software Engineering Journal, 8(5):284-292, Sept 1993.

Page 21: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 21

Terminologies

Job Each unit of work that is scheduled and executed by the system

Task A set of related jobs For example, a periodic task Ti consists of jobs J1, J2, J3, …

coming at every period Release time

Time instant at which a job becomes available for execution It can be executed at any time at or after the release time

Deadline Time instant by which a job should be finished Relative deadline: Maximum allowable response time Absolute deadline = release time + relative deadline

Page 22: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 22

Periodic task Ti

Period Pi

Worst case execution time Ci

Relative deadline Di

Job Jik

Absolute deadline = release time + relative deadline Response time = finish time – release time

Deadline miss if Finish time > absolute deadline Response time of Jik > Di

Page 23: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 23

Optimal Scheduling Algorithm A scheduling algorithm S is optimal if S

cannot schedule a real-time task set T, no other scheduling algorithm can schedule T

E.g., Rate Monotonic & EDF

Page 24: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 24

Assumptions

Single processor Every task is periodic Deadline = period Tasks are independent WCET of each task is known Zero context switch time

Page 25: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 25

Fixed Priority vs. Dynamic Priority Scheduling Algorithms Fixed priority system

Assign the same priority to all the jobs in each task

Rate monotonic Dynamic priority system

Assign different priorities to the individual jobs in each task

EDF

Page 26: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 26

Rate Monotonic

Optimal fixed priority scheduling algorithm Shorter period → Higher priority

Higher rate → higher priority Utilization bound

Page 27: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 27

RM Example

1

2

3

time

Task Execution Time (C) End Of Period (T = Period Length)

Page 28: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 28

Utilization Bound (UB) Test

Processor Utilization for a task, i Ui = Ci

Ti

Utilization Bound for n tasks U(n) = n(2 - 1)1n

Results:

• If U (= Ui) ≤ U(n) then the set of tasks is schedulable.

• If U(n) < Ui ≤ 1 then the test is inconclusive.

• U < U(n) is sufficient but not necessary

Page 29: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 29

Utilization Bound Test

TaskExecution Time

(C)Period (T)

1 40 100

2 40 150

3 100 350

U(3) = 3(21/3 – 1) = 0.779U1 = 40 / 100 = 0.4

U2 = 40 / 150 = 0.267

U3 = 100 / 350 = 0.286

Utotal = 0.953

Result:

U1+2 = 0.667, schedulable.

However, 0.779 < 0.953 < 1

Therefore, inconclusive for 3.

Page 30: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 30

EDF

Shorter absolute deadline → Higher priority Utilization bound Ub = 1

Ub is necessary and sufficient

Page 31: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 31

Comparisons

RMS RMS may not guarantee schedulability even when U < 1 Low overhead: Priorities do not change for a fixed task set

EDF EDF guarantee schedulability as long as U <= 1 High overhead: Task priorities may change dynamically

For more comparisons, refer to “Rate Monotonic vs. EDF: Judgment Day”

Page 32: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 32

Assumptions

Single processor Every task is periodic Relative deadline = period Tasks are independent WCET of each task is known Zero context switch time

What happens if relative deadline < period?

Page 33: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 33

Deadline Monotonic Scheduling Algorithm Shorter relative deadline → higher priority RMS is a special case of DMS where Di = Pi

Necessary and sufficient schedulability analysis, called response time analysis, exists

Page 34: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 34

Optimal Scheduling AlgorithmsRelative Deadline < Period DMS

Shorter relative deadline → Higher priority Optimal preemptive fixed priority scheduling

EDF Shorter absolute deadline → Higher priority Optimal preemptive dynamic priority scheduling

Page 35: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 35

DMS Response Time AnalysisAudsley et al. Tasks are sorted in non-increasing order of priority. (Ti has the

highest priority)

for (each task Ti) {

I = 0; R=0;while (I + Cj > R) {

R = I + Ci;

if (R > Di) return Unschedulable;

I = ∑k=1, i-1 R/Pi Ci;

}

}

return Schedulable

Page 36: Binghamton University EngiNet™ State University of New York.

23年 4月 19日 Real-time computing 36

Summary

Di = Pi D < P

Fixed Priority

RMS

Utilization bound

Response time analysis

DMS

Response time analysis

Dynamic Priority

EDF

Utilization bound

EDF

Processor demand analysis

Note: EDF is optimal for aperiodic tasks too

Page 37: Binghamton University EngiNet™ State University of New York.

Project Ideas

Choice 1: This option actually has two choices. Note that you can start working on this as soon as you learn EDF, RM, and priority inheritance/abort concepts, all of which will be covered within two weeks at most. (1) Develop a discrete even real-time simulator and

implement two out of three programming assignments using the discrete event simulator.

(2) Alternatively, write a well organized object-oriented simulator that allows users to choose all possible combinations of the real-time scheduling options provided by the three programming assignments.

23年 4月 19日 Real-time computing 37

Page 38: Binghamton University EngiNet™ State University of New York.

Project Ideas

Choice 2: Develop a video streaming application using Javolution, evaluate performance (i.e., packet losses and delay), and write a report that describes how RTJS and Javolution help writing a real-time application.

23年 4月 19日 Real-time computing 38

Page 39: Binghamton University EngiNet™ State University of New York.

Project Ideas

Choice 3: Extend the vehicle merge algorithm developed in Prof. Krithi Ramamritham’s class at IIT. A more detailed description and source code you can extend are available at http://www.cse.iitb.ac.in/~cs684/?id=205 .

23年 4月 19日 Real-time computing 39

Page 40: Binghamton University EngiNet™ State University of New York.

Project Ideas

Choice 4: Extend our Chronos real-time database, for example, to provide more sophisticated/scalable schema/design or data mining/machine learning capability.

Choice 5: Feel free to suggest your own ideas!

23年 4月 19日 Real-time computing 40


Recommended