Table 1: Values of P
r
(t).
Interval of time [0, 1] [1,2] [2, 3] [3,4] [4, 5] [5,6] [6, 7] [7,8] [8, 9] [9,10]
P
r
(t) 5 3 4 6 2 4 7 8 4 6
Interval of time [10,11] [11,12] [12,13] [13,14] [14,15] [15,16] [16, 17] [17, 18] [18,19] [19,20]
P
r
(t) 3 7 8 4 2 5 4 7 3 5
Interval of time [20,21] [21,22] [22,23] [23,24] [24,25] [25,26] [26, 27] [27, 28] [28,29] [29,30]
P
r
(t) 4 6 7 3 7 8 3 4 5 6
Slack energy(J
1
,10) = E(10) +
Z
17
10
P
r
dt −E
1
= 34
(4)
The overhead incurred by the slack energy com-
putation is 7 defined as the number of arithmetic op-
erations implemented in that computation.
Slack energy(J
2
,10) = E(10) +
Z
18
10
P
r
dt −(E
1
+ E
2
)
= 26 (5)
Thus, the overhead for one computation of the
slack energy is 8. At time t = 15, the slack energy
needs to be computed again. This generates an over-
head equal to 19 operations. At t = 18, τ
1
is the high-
est priority task ready for execution and E(18) = 4.
Nevertheless, there is no sufficient energy in the en-
ergy storage for starting execution of τ
1
. The proces-
sor stays inactive as long as the energy storage has
not filled completely and the latest start time has not
been attained. This presupposes to compute the slack
time of the system. The static idle time vector and the
static deadline vector are assumed to be available with
no computation since these values are computed off-
line. We have K = (0,5, 8,11, 17,18, 23,26, 28,29)
and D = (3,0, 0,4, 0,2,0,0,1,1).
The dynamic EDL schedule for the interval
[18,30] is obtained from the dynamic deadline vec-
tor K (18) = (18,23,26, 28,29) and the dynamic idle
time vector D(18) = (4,2, 0,1, 1). Three on-line
computations are performed for obtaining D(18).
Consequently, the overhead generated by this slack
time evaluation amounts to 3 operations. The slack
time at t = 18 equals 4 time units. At t = 22, the en-
ergy level is E(22) = 22 energy units. Instances are
executed according to EDS until t = 24 where the bat-
tery storage unit becomes empty, needs to recharge
thus involving computation of the slack time with
overhead equal to 3. Scheduling continues until the
end of the hyperperiod where E(30) = 10.
From the observation of ED-H along one hyper-
period, we conclude that:
• The number of slack time computations equals 2,
• The number of slack energy computations equals
2,
• The total overhead due to slack energy computa-
tion equals 34,
• The total overhead due to slack time computation
equals 6,
• Global overhead given by the total overhead in-
curred by slack time computations and slack en-
ergy computations equals 40, exactly 34 + 6.
Consequently, the overhead cost per job amounts to
4 basic operations since 10 jobs occur within every
hyperperiod.
5 EXPERIMENTAL RESULTS
In this section, we evaluate the overhead of the ED-
H scheduler. We assume an energy source with con-
stant power P
r
. We have developed a discrete event-
driven simulator in C. We report here an experiment to
compare the overhead by varying the number of tasks.
For a specific processor utilization setting, we repeat
experiments for 50 periodic task sets. We report the
experiments for task sets with high energy utilization
and low energy utilization successively.
5.1 Task Sets with Low Energy
Utilization
Let us assume that the normalized energy utilization
U
e
/P
r
= 0.3. Consequently, the average consump-
tion power of the tasks is about 30% of the harvested
power. In this experiment, the time overhead is eval-
uated by varying the number of periodic tasks. Time
overhead is defined as the number of times where we
compute either the slack time or the slack energy rel-
ative to the total number of instances.
The number of slack time and slack energy com-
putations is clearly not dependent on the number of
tasks. However, the the number of overhead compu-
tations incurred by every computation of either the
slack time or the slack energy linearly increases as
the number of tasks increases. But when computing
the time overhead, we have to divide the number of
overhead computations by total number of instances.
OverheadConsiderationsinReal-timeEnergyHarvestingSystems
361