allel execution time as compared to some well-known
task scheduling algorithms. (A. Mishra and Mishra,
2019) have done performance evaluation of SA-based
task scheduling algorithms by varying its various pa-
rameters.
Various task scheduling algorithms are proposed
in the literature for minimizing the energy consump-
tion of tasks. (Mishra and Tripathi, 2014a) have pro-
posed a pseudo-polynomial time energy-efficient task
scheduling algorithm for a given computation load
and a given deadline on a multi-core processor with
software-controlled dynamic voltage scaling (DVS).
(Mishra and Tripathi, 2014b) have proposed a Monte-
Carlo energy-efficient task scheduling algorithm for a
given set of independent tasks and a given common
deadline on a multi-core processor with software-
controlled DVS. (Mishra and Tripathi, 2011a) have
formulated a problem of energy efficient task schedul-
ing of send-receive task graphs on multiple multi-core
processors with software controlled DVS. (Mishra
and Trivedi, 2020) have done benchmark compar-
ison of the contention aware nature-inspired meta-
heuristic task scheduling algorithms. (S. K. Biswas
and Muhuri, 2018) have proposed energy-efficient
task scheduling algorithms in multiprocessor systems
using archived multi-objective SA. (Y. Yun and Kim,
2019) have proposed an adaptive genetic algorithm
for energy-efficient task scheduling on asymmetric
multiprocessor system-on-chip.
SA is successfully applied to solve scheduling
problems. A recent example of SA based scheduling
algorithm is provided by (K. Haridass and McDon-
ald, 2014). They solve the problem of scheduling a
log transport system using SA.
3 THE SAEETSA ALGORITHM
Before describing the SAEETSA algorithm, first we
describe the Energy Efficient Task Scheduling Prob-
lem (EETSP) and the EETSA algorithm (Mishra and
Tripathi, 2014b). We use the same notation of
(Mishra and Tripathi, 2014b). t independent tasks
are given. The task set is {T
j
| j ∈ [1..t]}. Task T
j
has computation requirement of c
j
( j ∈ [1. .t], c
j
∈
N), given by the set C = {c
j
| j ∈ [1. .t] }. A com-
mon deadline of D is given (D ∈ N). The task set
{T
j
| j ∈ [1..t]} has to be scheduled on a multi-core
processor with p cores and q possible discrete speeds
given by the set Q = {s
i
| i ∈ [1. .q],s
i
∈ N }. We de-
fine the speed profile of the processor, F = ( f
i
)
q
i=1
, to
be the vector such that f
i
is the number of time slots
in [0, D] in which the cores are running at the speed
of s
i
. We define the sleep profile of the processor,
H = (h
ki
)
(k,i)∈[1..p]×[1..q]
, to be the matrix such that h
ki
is the number of time slots for s
i
on the k’th core that
are sleeping. We define the binary partition matrix of
the task set, G = (G
k j
)
(k, j)∈[1..p]×[1..t]
, to be the ma-
trix such that g
k j
= 1 if and only if the the task T
j
is allocated on the k’th core (otherwise it is 0). The
multi-core processor has software controlled per-chip
DVS. By per-chip DVS we mean that we can only
change the speed of all cores simultaneously (not in-
dividually). If the speed of the multi-core processor
is s
i
, then either a core will run at the speed of s
i
, or
it will be in a sleep state (speed = 0). Power con-
sumption of a core running at a speed of s is given by
P(s) = αs
3
, where α is a constant. Energy consump-
tion by a core running at a speed of s during τ units
of time is given by E(s,τ) = P(s)τ. A core running at
a speed of s can perform a maximum of c = sτ units
of computation during τ units of time. We assume
that the DVS software can change the speed of the
multi-core processor at periodic checkpoints given by
δτ = 1 (at the start of each unit time interval). The
EETSP problem is to find an allocation of tasks to the
cores, speed of the multi-core processor at each unit
of time in [0, D], and for each core the unit time in-
tervals in which it is sleeping, so that the energy con-
sumption of the tasks is minimized, and also each task
is finished within the given deadline of D. (Mishra
and Tripathi, 2014b) have formulated an integer lin-
ear program (ILP) for the EETSP problem (equations
(6) − (8), and (11) − (16) in (Mishra and Tripathi,
2014b)).
Now we describe the EETSA algorithm for solv-
ing the EETSP problem as given in (Mishra and Tri-
pathi, 2014b). The EETSA algorithm is a Monte-
Carlo algorithm. It takes as input (m, n,t,C,Q,D),
where m and n are integer parameters. The EETSA
algorithm is divided into three parts. The first part
is lined 01 to 27 in (Mishra and Tripathi, 2014b) in
which we make m attempts using randomization to
find a feasible solution of the ILP. The second part
is lined 28 to 44 in (Mishra and Tripathi, 2014b) in
which we make n attempts using randomization to re-
duce the energy consumption for the case when the
first part of the algorithm succeeds in finding a feasi-
ble solution of the ILP (otherwise we return “NO SO-
LUTION” which may be a wrong output). This en-
ergy reduction assumes that no core is sleeping. The
third part is lined 45 to 50 in (Mishra and Tripathi,
2014b) in which we further try to reduce the energy
consumption by assuming that some cores can sleep.
Similar to the EETSA algorithm, SAEETSA al-
gorithm also takes (m,n,t,C,Q,D) as input param-
eters, and it is also divided into three parts. First
part of the SAEETSA algorithm is lines 1 to 4. It
ECTA 2021 - 13th International Conference on Evolutionary Computation Theory and Applications
82