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

Exercise3 - Introduction For Embedded Systems

The document discusses scheduling algorithms for aperiodic tasks in embedded systems. It provides examples of applying the Earliest Deadline First (EDF), Latest Deadline First (LDF), and EDF* algorithms to task sets with execution times, deadlines, arrival times and precedence constraints. Tasks include determining if schedules are feasible, modifying parameters to enable EDF*, constructing precedence graphs, and scheduling tasks on multi-core platforms.

Uploaded by

quoctrung244
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)
76 views

Exercise3 - Introduction For Embedded Systems

The document discusses scheduling algorithms for aperiodic tasks in embedded systems. It provides examples of applying the Earliest Deadline First (EDF), Latest Deadline First (LDF), and EDF* algorithms to task sets with execution times, deadlines, arrival times and precedence constraints. Tasks include determining if schedules are feasible, modifying parameters to enable EDF*, constructing precedence graphs, and scheduling tasks on multi-core platforms.

Uploaded by

quoctrung244
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/ 3

Networked Embedded Systems Lab

Prof. Marco Zimmerling

Introduction to Embedded Systems – WS 2022/23


Exercise 3: Aperiodic Scheduling

Task 1: Earliest Deadline Due

Check whether the Earliest Deadline Due (EDD) algorithm produces a feasible schedule for the following task
set, given that all tasks are synchronous and arrive at time t = 0.
J1 J2 J3 J4
Ci 3 6 2 4
Di 8 15 3 11

Task 2: Latest Deadline First

Given the precedence graph in Figure 1 and the following table of task execution times and deadlines, determine
a Latest Deadline First (LDF) schedule. Is this schedule feasible?
J1 J2 J3 J4 J5 J6 J7 J8
Ci 3 4 2 3 3 2 2 1
Di 5 8 11 15 12 18 19 20

J5

J1 J2 J4 J6 J7

J3 J8

Figure 1: Precedence graph.

1
Task 3: Earliest Deadline First

In the following table, five tasks with arrival times, execution times and deadlines are given.
J1 J2 J3 J4 J5
ai 0 2 0 8 13
Ci 3 1 6 2 3
di 16 7 8 11 18
(1) Determine a Earliest Deadline First (EDF) schedule. Is this schedule feasible?
(2) At time t = 3, a new task Jx arrives with execution time Cx = 2 and deadline dx = 10. Can you
guarantee the schedulability of the task set with this new task?

Task 4: Earliest Deadline First – Star

Given are seven tasks A, B, C, D, E, F, G with following precedence constraints:

A −→ C, B −→ C, C −→ E, D −→ F, B −→ D, C −→ F, D −→ G

All tasks arrive at time t0 = 0, have a common deadline d = 20 and the following execution times:
A B C D E F G
Ci 3 2 4 3 2 5 1
(1) Construct the precedence graph for this task set. Then, modify the release times and deadlines so that
EDF∗ can be used for its scheduling.

(2) Determine a resulting EDF∗ schedule. For this schedule, compute the average of all response times of
the tasks.
(3) Assume the additional precedence constraint E −→ A. Is there still a feasible schedule for the above
task set? Justify your answer.

Task 5: Earliest Deadline First – Star

Given are eight aperiodic tasks, J1 to J8 , with their arrival times, deadlines, and execution times as shown in
the table below. Task precedence constraints are as follows:

J1 → J2 , J2 → J3 , J3 → J4 , J5 → J6 , J6 → J7 , J6 → J8 , J2 → J7 , J7 → J4 , J8 → J7 .

J1 J2 J3 J4 J5 J6 J7 J8
ri 0 3 4 0 0 2 0 2
di 3 8 15 15 10 10 10 11
Ci 1 3 3 3 1 1 2 1

(1) Construct the precedence graph.


(2) Using the EDF∗ algorithm, modify the arrival times and deadlines of the tasks in order to make the tasks
schedulable under EDF. Enter the modified arrival times and deadlines in Table 1.
(3) Assume that the application is executed on a dual-core platform. At any time t, both cores execute the
two ready tasks (ri∗ ≤ t) with earliest deadlines (Note: A single task cannot be executed on two cores
simultaneously). Using the arrival times and deadlines obtained in (2), construct an EDF schedule in
Figure 2.

2
Table 1: Modified arrival times and deadlines
J1 J2 J3 J4 J5 J6 J7 J8
ri∗
d∗i
Ci 1 3 3 3 1 1 2 1

Core 1

Core 0

0 1 2 3 4 5 6 7 8 9 10 11 12
time

Figure 2: EDF schedule for part (3)

(4) Now assume that the application is executed on a quad-core platform with the same scheduling rule (4
cores execute the four ready tasks with earliest deadlines). Will executing on the quad-core platform
reduce the completion time of the application? Justify your answer with an explanation.

You might also like