0% found this document useful (0 votes)
320 views

Reference Model of Real-Time Systems

The document presents a reference model for real-time systems that includes a workload model describing applications and tasks, a resource model describing processors and passive resources, and algorithms for scheduling tasks to resources. A key part of the model is specifying temporal parameters for periodic and aperiodic tasks such as execution time, deadline, and release jitter. The model also accounts for preemption, criticality, and external events that trigger tasks.

Uploaded by

RTP
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
320 views

Reference Model of Real-Time Systems

The document presents a reference model for real-time systems that includes a workload model describing applications and tasks, a resource model describing processors and passive resources, and algorithms for scheduling tasks to resources. A key part of the model is specifying temporal parameters for periodic and aperiodic tasks such as execution time, deadline, and release jitter. The model also accounts for preemption, criticality, and external events that trigger tasks.

Uploaded by

RTP
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Reference Model of Real-

Time Systems

Oscar Acevedo
Introduction
A good model abstracts the irrelevant details

It allows us to focus on:


The timing properties
Resource requirements of system components
How the system allocates the available resources
Example - WSN

Node tasks:
Read Sensors
Tx Data
Forward external data
Update topology
Self-check
A system is characterized by
A workload model (applications)
A resource model
Algorithms (how the application system uses the resources)

It is assumed that these descriptions are given to us, for some


systems, a priori before the execution begins.
Workload Model
It is assumed that many parameters of hard real-time jobs and tasks
are known

The number of tasks (or jobs) in the system is known

In some systems, the number of tasks may change as tasks are added
and deleted while the system executes
The number of tasks with hard timing constraints is known
Job Parameters
Temporal: timing constraints and behavior

Functional: what it does

Resource: resource requirements

Interconnection: dependency on other jobs


Job Temporal Parameters
Release-time jitter: the jobs release time ri is in a range [ri, ri+]

Execution time ei: time required to process Ji when it executes alone


and has all the resources it requires

The actual execution time of a computation job is unknown until it


completes
The maximum and minimum execution time [ei, ei+], can be computed
through analysis and measurements
For timing requirements, the maximum execution time suffices
Periodic Tasks
Task executed repeatedly at regular time intervals

A periodic task Ti is a sequence of jobs


Period pi of Ti is the minimum length of all time intervals between release
times of consecutive jobs in Ti
Its execution time is the maximum execution time of all the jobs in it
Phase: release time ri,1 of the first job Ji,1 in each task Ti

It is assumed:
A job is released and becomes ready at the beginning of each period
A job (usually) must complete by the end of the period
Periodic Task Example
period

Read Sensor

phase

Tx

Update link
0
Job Functional Parameters
Preemption: the interruption of job execution

A job is preemptable if its execution can be suspended at any time to


allow the execution of other jobs and, later on, can be resumed from
the point of suspension

During preemption, the system must:


Save the state of the preempted job at the time of preemption
Prepare the execution environment for the preempting job
Execute the preempting job
Resume the preempted job
Job Preemption Example

Forward
external data

Preemtion occurs here

Self-Check

Processor
0
Job Functional Parameters
The criticality of a job:
positive number
How critical the job is with respect to other jobs
Resource Model
Active resources or processors: execute jobs
microprocessors
Transmission links
Database servers

Passive resources
Memory
Sequence numbers
Database locks

A resource parameter is preemptivity


Processors
Every job must have one or more processors in order to execute and
make progress toward completion

It is implicitly assumed that the rate of progress a job makes toward


its completion depends on the speed of the processor on which it
executes
Passive Resources
Other resources (not a processor) required by a job

A passive resource does not have speed associated to it

A resource is reusable if it is not consumed during its use


i.e. it exists after its use (e.g. memory)
A packet is not reusable

Depending on how the model will be used, some elements of a


system can be modeled either as processors or as resources
Algorithms
Schedule: an assignment of all the jobs in the system on the available
processors

Scheduling algorithms determine this schedule

Scheduler: implements the scheduling algorithms


Assigns jobs to processors
Assumption: jobs do not run in parallel on more than one processor
Valid Schedule
Every processor is assigned to at most one job at any time.
Every job is assigned at most one processor at any time.
No job is scheduled before its release time.
Depending on the scheduling algorithm(s) used, the total amount of
processor time assigned to every job is equal to its maximum or
actual execution time.
All the precedence and resource usage constraints are satisfied.
Valid Feasible Schedule
Every job completes by its deadline (meets its timing constraints)

Performance metric for scheduling algorithm : to find feasible


schedules

A hard real-time scheduling algorithm is optimal if the algorithm


always produces a feasible schedule if the given set of jobs has
feasible schedules
External Events
They occur at random instants of time

A system is required to respond to external events


Execute a set of Jobs
The release time of these Jobs is unknown (random time)
Sporadic Jobs: hard deadlines
Aperiodic Jobs: soft deadlines or no deadlines

Release times of sporadic or aperiodic Jobs are modeled by a


probability distribution of interrelease time

You might also like