minimum length t sda is searched where no test is ongoing on other processors. If one
is found, a synchronous test is inserted, and the scheduling of all further tasks
adapted. If no timeframe is found, the largest frame is used to place the test. In this
case, two scenarios are possible:
1. If it is very important to have at no point in time two tests ongoing, the schedule
of the ongoing other tests could be moved to the past.
2. If this is not possible due to timing constraints, one could also move the test in front
of the task that belongs to the test. If still no space can be found, another test ongoing
on another processor could be moved further to the past to generate the space.
Figure 7.11 shows a possible schedule of some tasks with tests. The x-axis represents the timeline and the y-axis represents three processors (p 1 , p 2 , p 3 ). The
dotted vertical bars represent the clock tick, which trigger an interrupt that calls the
scheduler. The scheduler reassigns the tasks for the next time slot according to the
pre-calculated schedule. Shown on the timeline are five tasks, task i to i + 4.
Also shown in the diagram are the deadlines for all the tasks, i.e., the point in
time where the task and its associated test must have finished. Task i has the
shortest deadline and fulfills it. No test is ongoing, and thus, the test is scheduled
right after task completion. More interesting is the case of task i + 1 and i + 2.
Although task i + 2 has completes before task i + 1, the test of task i + 1 is
scheduled first, as this task has the shorter deadline and would also miss it if the test
was delayed. The test for task i + 2 is scheduled right after the test for task i + 1.
In the timeframe between the completion of task i + 2 and its test, another task
could be executed if one is due. Illustrated is this by task i + 4 which is using
exactly this empty space for processing.
Fig. 7.11 Task examples with applied T3
86
7 Testing, Checking, and Hardware Syndrome
Précédent

- 99/315

Suivant