Professional Documents
Culture Documents
Characterization
K i z h e p p a tt V i p i n
When airbag is late!!
Failed Systems Can Bankrupt you (also kill)
Modelling
It is a way of abstraction
but remember
All models are wrong, but some are useful!! (George Box)
Elements of Reference Model
Do you have a
3. Algorithms: How the application uses the problem?
resources at run time
Yes No
It means the execution time of the real-time job will be a function of the
speed of the processor
Every job must have one or more processor in order to execute and
progress towards completion
Two processors are of same type if they are functionally identical and
can be interchangeably used (Eg: cores of a multicore processor)
Resources ( ρ )
A job may need some resources in addition to processor in order to
make progress
But how long a job takes to complete does not depend on the speed of
the resources it use
An I/O bus can be modelled as resource by taking the I/O speed into the
processor speed but it can be also modelled as a processor if we want
to study the performance of an arbitration scheme
Workload Model
Jobs and Tasks
A job is defined as a unit of work that requires processor time and other
resources
For example reading the voltage value from the ADC and converting it to
temperature data can be considered as a job. Logging the data along
with the time stamp in a database can be another job. When
temperature exceeds a threshold value, sending a signal to the alarm
system can be another job. Sending an alert message to the user when
temperature is dangerously high can be another job. All these jobs
together forms the temperature monitoring system task.
Characterization of a Job J i
If the system executes a single task, the Ji represents the i th job it needs
to execute
A job can be scheduled and executed any time at or after its release time
The length of time from the release time of the job to the instant when it
completes is called the response time
The time interval (ri,di] between the release time and absolute deadline of
the job Ji is called its feasible interval
Feasible Interval
Relative Deadline Di
Response Time
ri - ri+
r i+ ]
The release time of jobs which are not known until the event occurs is
called sporadic release time
The model of such systems gives the probability distribution A(x) of the
release time
Execution Time (e i)
ei is the amount of time required to complete the execution of Ji when it
executes alone and has all the resources it requires
1 2 3 4 5 6 7 8 9 10 11 12 13
Period = 2
Phase(ϕ i), Hyper-period(H) and Utilization (U)
The release time ri,1 of first job Ji,1 is called the phase of task Ti
The relative deadline for each job is the period of the corresponding task
Di = p i ∀ i
Periodic Task Notation
A periodic task is described by phase Фi, period pi, execution time ei, and
relative deadline Di
If not given, default values for phase (Фi = 0) and or deadline (pi = Di) are
used
Aperiodic task has jobs which have either soft deadlines or no deadlines
Ji < Jk
Represents Ji is immediate predecessor of Jk
J2 J3 J4
J5 J6
J7
J8
Data Dependency and Task Graph
Data generated by one task might be required by another
branch join
(0,6]
(2,10]
2/3 1/2
Temporal Dependency
Temporal distance → Difference between completion time of two jobs
branch join
(0,6]
Temporal-dependency edge
(2,10]
2/3 1/2
AND/OR Precedence
AND Precedence → Constraint that a job which must wait for all its
predecessors to complete to begin execution
Represented as unfilled circles
OR Precedence → Constraint that a job can start execution before all its
predecessors complete execution
Represent as squares
(0,5] (4,8] (5,20]
branch join
(0,6]
(2,10]
2/3 1/2
Conditional branches
Only one successor is executed
Represented by filled circle
Every branch job will have an associated join job
branch join
(0,6]
(2,10]
2/3 1/2
Functional Parameters
Preemptivity
A job is pre-emptive if execution can be suspended at any time and can
be resumed from the point of suspension
nonpreemptable is a constraint