Definitions, Assumptions and Scheduling Model
Definitions - Processor types
Multiprocessor types usually considered
Identical
Processors are of the same type and have the same speed. Each task has the same WCET on each processor.
Uniform
Processors are of the same type but may have different speeds. Task WCETs are smaller on faster processors.
Heterogeneous
Processors can be of different types. The WCET of a task depends on the processor type and the task itself.
Task Models - DAG
Representing parallel code requires more complex structures than for sequential tasks.
A Directed Acyclic Graphs (DAG) is a graph in which links have a direction and there are no cycles
Fork-Join Model Task Model
A special type of Directed Acyclic Graph.
Nodes represent processing.
After a Fork node, all successors have to be executed. The order is not relevant (nor defined).
Join nodes only execute after the completion of all their predecessors.
Nesting is allowed.
And-Or Graphs
The most general graph representation.
OR nodes represent conditional statements.
AND nodes represent parallel computations.
Application Model
An application can be modeled as a set of tasks, each described by a task graph.
Assumptions
Task and system characteristics
Arrival pattern.
Periodic or Sporadic (period or mit is T).
Preemption.
Allowed, but eventually with critical sections.
Task migration allowed?
May or may not. We will see ...
Task parameters.
τi = {{i, ci, ...i m }, Di , Ti }
ci : WCET of a segment
m: number of segments of τi
dependencies (in form of list(s)).
Example
Consider the following example:
Compute the minimum WCET of task τ1 in isolation, considering the intra-task (segment) precedence relations.
Number of cores is not restricted.
Task attributes.
τ1 = {{2, 3, 1, 1, 2, 3}, 8, 12}
Dependencies: τ1,3 ← {τ1,1 , τ1,2 } and {τ1,4 , τ1,5 , τ1,6 } ← τ1,3
WCET = 7 tu for a number of cores greater or equal to 3.
More processors are not always helpful ...
Additional definitions and observations
Immediate results:
Critical path
If follows immediately that if for any task Cip > Di then the application is not feasible in any number of cores
Last updated