tasks in order to reduce energy consumption without
compromising periodic function deadlines and ape-
riodic functions responsiveness. In order to apply
the proposed scheduling algorithm periodic functions
priorities have been redefined according to two con-
straints : (i) the edge probability connecting the func-
tion to their predecessors in the task DAG, (ii) Func-
tion hierarchy which refers to the level of the corre-
sponding function on the task DAG representation.
The originality of this work resides in including the
probabilistic estimation of the task’s execution not
only in the mapping process but also in the scheduling
algorithm. The consideration of the precedence con-
straint through the proposed DAG hierarchy rule does
cooperate and improve the overall system scheduling
performance.
The paper proceeds as follows. The next Sec-
tion describes useful background. Section III presents
the I-codesign methodology. In Section IV, the sys-
tem formalization and the notations used in this pa-
per are developed. Section V exposes the proposed
algorithm. Section VI shows simulation results of
scheduling of real-time tasks and finally we conclude
this paper in Section IV.
2 RELATED WORK
This section reviews the main approaches for schedul-
ing a mixture of aperiodic tasks and periodic hard
real-time tasks. The easiest way to prevent aperi-
odic tasks from interfering with periodic hard real-
time tasks is to schedule them as background tasks
executing only at times when there is no periodic task
ready for execution. Although this method guarantees
the schedulability of a periodic task, the execution
of aperiodic tasks may be delayed and their response
times are prolonged unnecessarily. The polling server
is a periodic task with a period Ts, a capacity Cs
and the highest priority (Li-yong et al., 2010). Ev-
ery server’s activation, it checks if there are any pend-
ing aperiodic tasks, if there are, the server uses its
capacity to service them until either the task is fin-
ished or the server’s capacity is depleted. However,
if there is no pending aperiodic task, the server re-
mains idle until its next activation which means that
even if an aperiodic request occurs in the middle of
the server’s servicing time, the request will not be
treated until the next period as the server will already
be inactive (Liyong et al., 2010). The Priority Ex-
change (PE) and Deferrable Server (DS) algorithms,
introduced by Strosnider in (Strosnider et al., 1995),
overcome the drawbacks associated with polling and
background servicing of aperiodic requests. As with
polling, the PE and DS algorithms create a periodic
task (usually of a high priority) for servicing aperi-
odic requests. However, unlike polling, these algo-
rithms will preserve the execution time allocated for
aperiodic service if, upon the invocation of the server
task, no aperiodic requests are pending. These algo-
rithms can yield improved average response times for
aperiodic requests because of their ability to provide
immediate service for aperiodic tasks. The DS algo-
rithm maintains its aperiodic execution time for the
duration of the server’s period. Thus, aperiodic re-
quests can be serviced at the server’s high priority at
anytime as long as the server’s execution time for the
current period has not been exhausted. At the begin-
ning of the DS’s period, the server’s high priority ex-
ecution time is replenished to its full capacity. Unlike
the DS algorithm, the PE algorithm preserves its high
priority execution time by exchanging it for the exe-
cution time of a lower priority periodic task (Desokey
et al., 2006). The DS algorithm can provide better
aperiodic responsiveness than polling because it pre-
serves its execution time until it is needed by an ape-
riodic task. The DS algorithm is a simple algorithm
to implement than the PE algorithm, because the DS
algorithm always maintains its high priority execution
time at its original priority level and never exchanges
its execution time with lower priority levels as does
the PE algorithm. It also requires less memory space
than the PE and much lower computational complex-
ity.
During the past two decades, tremendous works
have been done regarding energy-aware scheduling
on DVFS-enabled platforms. The application of
DVFS algorithm to periodic task set is a well known
research area (Tchamgoue et al., 2012; Ansari et al.,
2013). However, few works in literature focuses on
DVFS applied to heterogeneous task set comprising
of periodic and aperiodic tasks (Dongkun and Jihong,
2004; Shin and Kim, 2006). The DVFS algorithm fo-
cuses on the usage and distribution of available slack
time. The total time required by a task to run com-
pletely i.e. the actual execution time (aet) is always
less than its worst case execution time (wcet). The
difference that exists is the slack and it in turn, is uti-
lized for reducing the voltage and frequency dynami-
cally.
This paper proposes a new scheduling algorithm with
original evaluation metrics for priority calculation
along with the defferable server for the scheduling
algorithm. In this work, DVFS is incorporated into
the scheduling process in order to dynamically rede-
fine the scheduled element’s periodicity and reduce
the energy consumption.