tomers by providing systems that are more capable,
more flexible, and more effective than their competi-
tion, and by bringing these systems to market earlier.
This desire for technological progress has resulted
in a rapid increase in both software complexity and
the processing demands placed on the underlying
hardware (Brocal V., 2011). To address demands for
increasing processor performance, silicon vendors
no longer concentrate wholly on the miniaturisation
needed to increase processor clock speeds, as this
approach has led to problems with both high power
consumption and excessive heat dissipation. Instead,
there is now an increasing trend towards using
multiprocessor platforms for high-end real-time
applications (Brocal V., 2011).
For these reasons, we will use in our work the
case of real-time scheduling on homogeneous multi-
processor platforms. Before presenting our original
contribution, we will present some definitions below.
According to (H. Gharsellaoui and BenAhmed,
2012), each periodic task is described by an initial
offset a
i
(activation time), a worst-case execution
time (WCET) C
i
, a relative deadline D
i
and a period
T
i
.
According to (Buttazzo and Stankovic, 1993),
each sporadic task is described by minimum in-
terarrival time P
i
which is assumed to be equal to
its relative deadline D
i
, and a worst-case execution
time (WCET) C
i
. Hence, a sporadic task set will
be denoted as follows: Sys
2
= {σ
i
(C
i
, D
i
) }, i =
1 to m. Reconfiguration policies in the current
paper are classically distinguished into two strate-
gies: static and dynamic reconfigurations. Static
reconfigurations are applied off-line to modify
the assumed system before any system cold start,
whereas dynamic reconfigurations are dynamically
applied at run-time, which can be further divided
into two cases: manual reconfigurations applied
by users and automatic reconfigurations applied by
intelligent agents (H. Gharsellaoui and BenAhmed,
2012), (X. Wang and L, 2011). This paper focuses
on the dynamic reconfigurations of assumed mixture
of off-line and on-line workloads that should meet
deadlines defined according to user requirements.
The extension of the proposed algorithm should be
straightforward, when this assumption does not hold
and its running time is O(n + m) (T. Tia, 1994).
To illustrate the key point of the proposed dy-
namically approach, we assume that there are K
identical processors numbered from 1 to K, and n
real-time tasks numbered from 1 to n that composed
a feasible subset of tasks entitled ξ
old
and need to be
scheduled. At time t and before the application of the
reconfiguration scenario ψ
h
, each one of the tasks of
ξ
old
is feasible, e.g. the execution of each instance in
each processor is finished before the corresponding
deadline and the tasks are not assumed to be arranged
in any specific order.
Every processor p assigns a set of periodic tasks
TS
p
= {τ
p
1
, τ
p
2
,...,τ
p
n
}. This allocation is made with
an allowance algorithm at the time of the design,
for example by using one of the well known tech-
niques: first-fit (FF), next-fit (NF), best-fit (BF),
worst-fit (WF). These tasks are independent and can
be interrupted at any time. Every task τ
p
i
has an
execution time (Worst Case Execution Time) C
p
i
, one
period T
p
i
, a deadline D
p
i
which is assumed to be
less than or equal to its period, e.g. D
p
i
≤ T
p
i
. Every
task instance k has to respect its absolute deadline,
namely the k
th
authority of the task τ
p
i
, named τ
p
i,k
must be completed before time D
p
i,k
= (k-1)T
p
i
+ D
p
i
.
We express all the measures of time (e.g. periods, the
deadlines, the calculations) as being multiple of the
tick of the processor clock. Every processor p will
execute its tasks in local by using EDF, it means that
the priorities P
p
i
of periodic tasks are dynamic and the
scheduler guarantees that every instance of every task
will run before its deadline. These tasks are handled
by a global scheduler (GS), which assigns them to
processors by using the state informations of the
local schedulers. Moreover, under EDF scheduling,
a task will fit on a processor as long as the total
utilization of all tasks assigned to that processor does
not exceed unity (the total utilization factor = 1).
Finally, for reasons of simplicity, we assume that all
the overheads of context exchange, scheduling of
tasks, the preemption of the tasks and the migration
cost of the tasks are equal to zero.
We assume now the arrival at run-time of a sec-
ond subset ξ
new
which is composed of m real-time
tasks at time t
1
(t
1
= t + ∆t). We have a system
Current
Sys
(t
1
) composed of n+m tasks. In this case a
reconfiguration scenario ψ
h
is applied. The reconfig-
uration of the system Sys
ψ
h
means the modification
of its implementation that will be as follows at time t
1
:
ξ
ψ
h
= Current
ψ
h
Sys
(t
1
) = ξ
old
∪ ξ
ψ
h
new
Where ξ
old
is a subset of old tasks which are not
affected by the reconfiguration scenario ψ
h
(e.g. they
implement the system before the time t
1
), and ξ
ψ
h
new
a
subset of new tasks in the system. We assume that an
updated task is considered as a new one at time t
1
.
When the reconfiguration scenario ψ
h
is applied at
time t
1
, two cases exist:
• If tasks of ξ
ψ
h
= ξ
old
∪ ξ
ψ
h
new
are feasible, then no
AnEDF-basedSchedulingAlgorithmforReal-timeReconfigurableSporadicTasks
379