17.a Multiobjective Computation Offloading Algorithm
17.a Multiobjective Computation Offloading Algorithm
Abstract—In mobile edge computing (MEC), smart mobile becoming increasingly powerful in terms of computing
devices (SMDs) with limited computation resources and battery capability, they are, however, still not able to support
lifetime can offload their computing-intensive tasks to MEC computing-intensive applications. On the one hand, SMDs
servers, thus to enhance the computing capability and reduce the with limited computing capability may cause high latency,
energy consumption of SMDs. Nevertheless, offloading tasks to
the edge incurs additional transmission time and thus higher thus failing to meet the required quality of service (QoS)
execution delay. This paper studies the trade-off between the demand. On the other hand, high battery consumption by
completion time of applications and the energy consumption of computing-intensive applications may also significantly
SMDs in MEC networks. The problem is formulated as a degrade the quality of experience (QoE) for end users.
multiobjective computation offloading problem (MCOP), where With more computing and storage resources in cloud
the task precedence, i.e. ordering of tasks in SMD applications, is servers, mobile cloud computing (MCC) [3] has been
introduced as a new constraint in the MCOP. An improved
multiobjective evolutionary algorithm based on decomposition envisioned as a potential solution to deal with the above
(MOEA/D) with two performance enhancing schemes is proposed. mentioned problems. MCC migrates computational tasks to
1) The problem-specific population initialization scheme uses a cloud servers, thus to reduce the computational burden and
latency-based execution location initialization method to initialize energy consumption of local SMDs. This is referred to as the
the execution location (i.e. either local SMD or MEC server) for computation offloading problem (COP). Nevertheless, cloud
each task. 2) The dynamic voltage and frequency scaling based servers are usually geographically faraway from SMDs,
energy conservation scheme helps to decrease the energy
consumption without increasing the completion time of resulting into high transmission delay and low response speed.
applications. The simulation results clearly demonstrate that the Obviously, MCC is not suitable for scenarios involving
proposed algorithm outperforms a number of state-of-the-art delay-sensitive applications, as QoE cannot be properly
heuristics and meta-heuristics in terms of the convergence and guaranteed. Actually, the computation offloading in MCC is
diversity of the obtained nondominated solutions. only suitable for delay-tolerant and computation-intensive
applications, such as online social networks, mobile
Index Terms—Computation offloading, dynamic voltage and e-commerce, remote learning, etc. On the other hand, MEC
frequency scaling, mobile edge computing, multiobjective relocates cloud computing resources to the edge of networks
evolutionary algorithm.
in close proximity to SMDs, ensuring lower end-to-end delay
and faster response [4][5][6]. The computation offloading in
I. INTRODUCTION
MEC is more appropriate for supporting delay-sensitive and
TABLE I
SUMMARY OF THE MAIN NOTATIONS
Notation Definition
Btotal Total bandwidth offered by the MEC system
ci,j,k Number of CPU cycles required to perform task vi,j,k
di,j,k Input data size of task vi,j,k
e(vi,j,k, vi,j,l) Task-precedence constraint from task vi,j,k to task vi,j,l
Ei,j Set of the task precedence constraints of application Gi,j
F Computing capability of the MEC server
f i ,actual
j ,h Actual computing frequency on the h-th core of SMD Ui,j
Fig. 2. An example DAG of an application.
f max Maximum computing frequency on the h-th core of SMD
i , j ,h
Ui,j
There are two commonly used structural representation Gi,j Application (task graph) to be executed on SMD Ui,j
methods to denote an application, namely the graph-based gi,j Channel gain between SMD Ui,j and SeNB i
method [34] and the language-based method [35]. In particular, H Number of heterogeneous cores of a SMD
the graph-based method includes directed acyclic graph (DAG) Ii,j Interference at the SMD Ui,j
Li,j Execution location vector associated with application Gi,j
[20][25][27][28][36] and Petri Net [37]. DAG based model is
loci,j,k Execution location of task vi,j,k
one of the most popular methods. Therefore, each application M Number of the computing frequency levels on a core
on a SMD is modeled as a DAG task structure. Fig. 2 shows Number of SMDs in the i-th small cell associated with
N iSMD
an example DAG of an application. SeNB i
SMD
In this paper, time sharing is adopted in the MEC system N total Total number of SMDs in the MEC system
and the minimum time unit is referred to as time interval (e.g. N task
total Total number of tasks in the MEC system
several seconds). We assume that in any time interval, for any Nchannel Number of channels offered by the MEC system
SMD, there is only one application being executed. However, Ni,j Total number of tasks in application Gi,j
any SMD is allowed to run different applications in different Oi,j Execution order vector associated with application Gi,j
oi,j,k Output data size of task vi,j,k
time intervals, enabling co-existence of multiple applications.
ui,j,k The k-th task to be executed in Oi,j
piactual
, j ,h Actual power consumption of the h-th core of SMD Ui,j
B. System Model
p max Maximum power consumption of the h-th core of SMD
For the MeNB, its associated MEC server is with a i , j ,h
Ui,j
computing capability of F. Denote the i-th SeNB as i, i = pirxd
,j Power consumption when SMD Ui,j receives data
1,…,S, where S is the number of SeNBs. Let N iSMD and Ui,j be p txd
i, j Power consumption when SMD Ui,j offloads tasks
the number of SMDs and the j-th SMD in the i-th small cell pre(vi,j,k) Set of the immediate predecessors of task vi,j,k
associated with i, respectively. Ri,j Achievable uplink transmission rate of SMD Ui,j
S Number of SeNBs in the MEC system
Denote the application to be executed on SMD Ui,j by a
Computation offloading solution associated with
DAG Gi,j = (Vi,j, Ei,j), where Vi,j and Ei,j are the task and SOL(Gi,j)
application Gi,j
precedence constraint sets, respectively, i = 1,…,S, and j = SOL(i) Computation offloading solution associated with SeNB i
1,…, N iSMD . An application is also referred to as a task graph suc(vi,j,k) Set of the immediate successors of task vi,j,k
The j-th SMD in the i-th small cell associated with SeNB
Gi,j, which is composed of Ni,j tasks, where Ni,j = |Vi,j|. Let vi,j,k Ui,j
i
∈ Vi,j be the k-th task in task set Vi,j, k = 1,…,Ni,j. Edge e(vi,j,k, Vi,j Set of the tasks in application Gi,j
vi,j,l) ∈ Ei,j defines the task-precedence constraint from task vi,j,k vi,j,k The k-th task in application Gi,j
x A solution to the MCOP
to task vi,j,l, meaning vi,j,l cannot be executed until vi,j,k is αt The t-th frequency scaling factor
completed. i The i-th SeNB in the MEC system
Let pre(vi,j,k) and suc(vi,j,k) be the sets of the immediate σ2 Noise power
predecessors and successors of task vi,j,k, respectively. For a ω Bandwidth of a wireless channel
task graph Gi,j, denote the start and end tasks by vi,j,start and
vi,j,end, respectively. Taking the task graph in Fig. 2 as an
example, for task v6, its associated sets of immediate C. Communication Model
predecessors and successors are pre(v6) = {v2, v3, v4} and When a task is selected for offloading, its associated input
suc(v6) = {v7}; v1 and v7 are the start and end tasks, data is transmitted to the MEC server via SeNB and MeNB.
respectively. The transmission delay from SeNB to MEC server via wired
Each task vi,j,k is modeled as a 3-tuple set vi,j,k = (ci,j,k, di,j,k, connections is usually trivial, thus is ignored. The
oi,j,k), where ci,j,k is the number of CPU cycles required to transmission delay between the corresponding SMD and
perform vi,j,k, and di,j,k and oi,j,k are the input and output data SeNB is considered in the model.
sizes of vi,j,k, respectively. The input data of vi,j,k includes the Let Btotal and Nchannel be the total bandwidth and the number
input parameters, the program code, and the output data of channels offered by the MEC system, respectively. Each
channel is of a bandwidth ω = Btotal / Nchannel. Each SMD uses tasks, and pirxd
,j is the power consumption of Ui,j when
one of the Nchannel channels for data offloading. To guarantee
receiving data from its associated SeNB.
that all SMDs within the same small cell can perform
Assume there are M frequency scaling factors, i.e. α1,…,αM,
independent computation offloading, it is assumed that Nchannel
for an arbitrary core in an arbitrary SMD, where
is no less than the maximum number of SMDs allowed in a
0<α1<…<αt<…<αM = 1 [25]. The actual computing frequency
small cell. If two SMDs from neighboring small cells use the
that the h-th core of SMD Ui,j is working at can be defined as
same channel to transmit data, interference occurs and the
transmission rate is reduced. f i ,actual
j,h t f i ,max
j , h , t = 1,…,M. The actual power consumption
actual
According to the Shannon-Harley theorem, it is possible of the h-th core of Ui,j, piactual
, j , h , is equal to ai , j , h ( f i , j , h ) ,
that no errors occur in a channel with limited bandwidth and
where γ is a constant in the range of [2, 3] and ai , j , h is a
Gaussian white noise interference if transmitting information
at the theoretical maximum transmission rate. In this paper, we coefficient associated with the chip structure.
min
set the achievable uplink transmission rate in a channel to the Let TSMD , h (vi , j , k ) denote the minimum execution time of
theoretical maximum transmission rate of that channel. task vi,j,k if vi,j,k is executed on the h-th core of SMD Ui,j, at the
Assume each wireless channel is symmetric, i.e. the maximum computing frequency f i ,max min
j , h . TSMD , h (vi , j , k ) depends
achievable uplink and downlink transmission rates are the
same. When SMD Ui,j offloads tasks to the MEC server, the on the number of CPU cycles required to perform vi,j,k, ci,j,k,
achievable uplink transmission rate Ri,j is calculated using Eq. and the maximum computing frequency, f i ,max
j , h . Then, the
(1). actual execution time of vi,j,k on the h-th core TSMD , h (vi , j , k ) is
pitxd obtained using Eq. (3) [25].
, j gi , j
Ri , j log 2 1 2 (1)
Ii, j min
TSMD , h (vi , j , k ) TSMD , h (vi , j , k ) / t
c (3)
where ω is the channel bandwidth. pitxd
,j is the power max
i, j,k
f i, j,h t
consumption of Ui,j when tasks are offloaded to the MEC
server. gi,j is the channel gain between SMD Ui,j and SeNB i. If task vi,j,k is executed locally on the h-th core of SMD Ui,j,
σ2 is the noise power. Ii,j is the interference parameter its actual energy consumption ESMD actual
, h (vi , j , k ) is obtained via
associated with SMD Ui,j indicating how severe the channel
sharing is, as defined in Eq. (2). Eq. (4), according to [25].
actual actual
S NlSMD ESMD , h (vi , j , k ) pi , j , h TSMD , h (vi , j , k )
txd
Ii, j
l 1, l i k 1
( i , j ),( l , k ) p gi ,(l , k )
l,k (2)
ai , j , h ( f i ,actual min
j , h ) (TSMD , h (vi , j , k ) / t )
ai , j , h ( t fi ,max min
j , h ) (TSMD , h (vi , j , k ) / t )
where λ(i,j),(l,k) ∈ {0,1} is a channel sharing coefficient. λ(i,j),(l,k) (4)
= 1 represents that the same channel is being shared by both ( t ) 1 ai , j , h ( f i ,max min
j , h ) TSMD , h (vi , j , k )
Ui,j and Ul,k, and λ(i,j),(l,k) = 0 otherwise. pltxd
, k is the power ( t ) 1 ESMD
max
, h (vi , j , k )
consumption of Ul,k when offloading tasks, and gi,(l,k) is the
( t ) 1 pimax min
, j , h TSMD , h (vi , j , k )
channel gain between Ul,k and i, where Ul,k is associated with
SeNB l, l, i ∈ {1,…,S} and l ≠ i. max
where ESMD , h (vi , j , k ) is the maximum energy consumption if
SMD S
where N total i 1 NiSMD is the total number of SMDs in the
MEC system.
The average energy consumption (AEC) of all SMDs in the
MEC system can be obtained by Eq. (16).
SMD N
S Ni
1 i, j
AEC task
N total
E (v
i 1 j 1 k =1
i, j ,k ) (16)
where
actual
E (vi , j , k ) i , j , k ESMD , h (vi , j , k )
txd rxd
(17)
(1 i , j , k ) ( ESMD (vi , j ,k ) ESMD (vi , j , k ))
task S N SMD
N total i 1 j i 1 Ni , j is the total number of tasks in the
MEC system. i,j,k = 1 if vi,j,k is executed on SMD Ui,j; i,j,k = 0,
otherwise.
Fig. 3. Task scheduling plan.
The MCOP can be defined as a bi-objective MOP problem,
minimizing ACT in Eq. (15) and AEC in Eq. (16) subject to all
Fig. 3 shows the task scheduling plan according to Table II. task precedence constraints as defined in Eq. (18).
The start time and completion time of task v6 are
exe exe Minimize ( ACT , AEC )
STSMD (v6 ) 10 and CTSMD (v6 ) 16 , respectively. The Li , j , Oi , j
rxd
completion time of G1,1 , CT (G1,1 ) CT SMD (v7 ) , is 21. s.t.
C1: order (vi , j , k ) order (vi , j ,l ), if e(vi , j , k , vi , j ,l ) Ei , j
F. Problem Formulation exe exe
C2 : CTSMD (vi , j ,l ) RTSMD (vi , j , k ), vi , j ,l pre(vi , j , k )
The new MCOP model aims to simultaneously minimize rxd exe
the average completion time of applications and the average C3 : CTSMD (vi , j ,l ) RTSMD (vi , j , k ), vi , j ,l pre(vi , j , k )
energy consumption of SMDs in the above MEC system. txd exe (18)
C4 : CTSMD (vi , j , k ) RTMEC (vi , j , k )
exe rxd
Let CTSMD (v i , j ,end ) and CTSMD (v i , j ,end ) be the completion exe exe
C5 : max CTMEC (vi , j ,l ) RTMEC (vi , j , k )
vi , j ,l pre ( vi , j ,k )
time for executing the end task vi,j,end in application Gi,j on
SMD Ui,j and that for receiving the output data of vi,j,end via C6 : loci , j , k {0,1,..., H }, i, j , k
wireless channel, respectively. Let i , j , end be a binary
where, constraint C1 is the execution order constraint between
variable indicating if vi,j,end is executed on Ui,j or the MEC two tasks, i.e. if e(vi , j , k , vi , j ,l ) Ei , j , task vi , j ,l cannot be
server. i , j ,end 1 means vi,j,end is executed on Ui,j, and
executed before the completion of task vi , j , k . Constraints C2
i , j ,end 0 otherwise. The completion time of application Gi,j
and C3 are the local task-precedence constraints, ensuring that
on SMD Ui,j, CT (Gi , j ) , is defined in Eq. (14), which is equal vi , j , k cannot be executed before all its immediate
to the completion time of the end task vi,j,end in Gi,j. If vi,j,end is predecessors are completed. Constraints C4 and C5 are the
edge task-precedence constraints, indicating that vi , j , k cannot B. Original MOEA/D
be executed before it is completely offloaded to the MEC MOEA/D has been applied to various MOPs due to its high
server and all its immediate predecessors are completed on the effectiveness yet low computational cost [31][32][33][40][43]
MEC server. Constraint C6 is a computation offloading [44]. MOEA/D decomposes a MOP into a number of scalar
execution location constraint, specifying where vi , j , k is optimization subproblems (SOSPs) that are simultaneously
optimized in a collaborative and time efficient manner. It
executed, i.e. which core of U i , j or the MEC server.
employs genetic operators to generate new solutions and
obtain a set of nondominated solutions through an evolution
IV. OVERVIEW OF MOP AND MOEA/D process. Three basic methods have been employed in the
literature for decomposition, among which the Tchebycheff
A. MOP method is the mostly used, and adopted in our proposed
A MOP can be defined as Eq. (19). algorithm.
Let 1 ,..., N P be a set of uniformly spread weighted
Minimize F ( x ) ( f1 ( x ),..., f m ( x ))T
(19) vectors, where NP is the number of SOSPs. i (1i ,..., mi )
Subject to x is the weight vector associated with the i-th SOSP, i = 1,…,NP,
m
where x = ( x1 ,..., xn ) is an n-dimension decision vector in where m is the number of objectives, and j 1
ij 1 . Let
search space Ω. There are m objective functions in objective z * ( z1* ,..., z m* ) be the reference point,
vector F(x), where f1(x),…,fm(x) conflict with each other [39]. *
where z min{ f j ( x ) | x } , and j = 1,…,m. Based on the
Given two different solutions x1, x2 ∈ Ω, x1 is said to j
dominate x2, if fi(x1) ≤ fi(x2) for all i ∈ {1,…,m}, and fj(x1) < Tchebycheff method, the i-th SOSP is defined by Eq. (20).
fj(x2) for at least one j ∈ {1,…,m}. A solution x* ∈ Ω is known
Minimize g te ( x | i , z * ) max{ ij | f j ( x ) z *j |}
as Pareto optimal if no other solution in Ω dominates it. The 1 j m
(20)
set of all Pareto optimal solutions is known as the Pareto Subject to x
optimal set, of which the mapping in the objective space is
known as the Pareto optimal front (PF).
There are mainly two methods to handle a MOP. One is to
convert it to a single-objective optimization problem (SOP) by V. THE PROPOSED MOEA/D FOR MCOP
objective aggregation. In this case, the commonly used This paper proposes an improved MOEA/D to address the
method is weighted sum, where each objective, e.g. the ACT new MCOP, namely MOEA/D-MCOP. This section first
and AEC in this paper, is assigned a weight. However, weight introduces the solution representation and evaluation. Two
values should be set in advance. Heuristics and metaheuristics specially devised performance enhancing schemes, i.e. a
(including EAs) are often used to address a SOP. By running problem-specific population initialization scheme, and a
them once, a single solution is output. If system demands DVFS-based energy conservation scheme are then explained.
change, the weight values need to be re-set. Hence, the first Then, the overall procedure of MOEA/D-MCOP is given in
method only obtains a compromised solution, which cannot detail. The complexity of MOEA/D-MCOP is analyzed at last.
reflect the conflicting features between objectives. The other
method to tackle MOP is to use MOEAs. Any MOEA is A. Solution Representation and Evaluation
capable of obtaining a set of nondominated solutions in a
single run. These solutions reflect the Pareto-dominance As mentioned in Section III, for application Gi,j on SMD Ui,j,
relation among them. This is what a decision maker expects to the execution locations and the execution orders of all tasks in
know. Even if the system demands change, the nondominated Gi,j need to be determined in the MCOP. Let
solutions obtained by MOEAs are still valid. This is why Vi , j {vi , j ,1 ,..., vi , j , Ni , j } denote the set of tasks in Gi,j. Let
MOEAs are more appropriate to address the MCOP problem. L i , j (loci , j ,1 ,..., loci , j , k ,..., loci , j , Ni , j ) denote the execution
Currently, MOEAs have attracted increasingly more
location vector of all tasks in Gi,j, where
research attention and been successfully applied to address
loci , j , k {1,..., H , H 1} is the execution location of task vi,j,k,
various MOP problems, such as computation offloading
[27][30], workflow scheduling [20], function optimization and H is the number of cores in Ui,j. If 1 loci , j , k H , vi,j,k is
[7][40], feature selection [41], and job shop scheduling [42]. executed on the loci,j,k-th core of Ui,j. If loci , j , k H 1 , vi,j,k is
Pareto-dominance based MOEAs are the mainstream
optimizers in the literature, such as, NSGA-II. Nevertheless, offloaded to the MEC server. Let
they usually suffer from prematurity and local optima. On the O i , j (ui , j ,1 ,..., ui , j , k ,..., ui , j , Ni , j ) denote the execution order
other hand, compared with them, MOEA/D has been reported vector of all tasks in Gi,j, where ui , j , k Vi , j denotes the k-th
to achieve better global exploration ability with lower
task to be executed in O i , j , e.g. ui , j ,1 vi , j , start and
computational overhead [31][40]. This motivates us to adapt
MOEA/D for the new MCOP. ui , j , Ni , j vi , j , end .
computing time if it is executed on SMD, and its task
offloading time if it is executed on the MEC server. As
aforementioned, a solution to the MCOP problem, x, contains
all execution locations of all tasks in the MEC system and the
execution orders among them. By reducing the completion
time of each task in a greedy manner, this method reduces the
completion time of each application, which also helps to
reduce the average completion time of all applications in the
MEC system, i.e. ACT.
avg ofld
Let TSMD (vi , j , k ) and TMEC (vi , j , k ) be the average execution
time and the task offloading time of vi,j,k, respectively. For an
arbitrary application Gi,j, the procedure to determine the
execution locations of all tasks is described as below.
Fig. 4. Solution representation in the MCOP. avg ofld
For each vi,j,k in Gi,j, TSMD (vi , j , k ) and TMEC (vi , j , k ) are
ofld txd
calculated. TMEC (vi , j , k ) is the summation of TSMD (vi , j ,k ) ,
Let SOL(Gi , j ) ( Li , j , Oi , j ) be a computation offloading exe rxd
TMEC (vi , j ,k ) and TSMD (vi , j ,k ) (see Eqs. (7), (10) and (12)). If
solution (SOL) for application Gi,j, i = 1,…,S, j 1,..., N iSMD . avg ofld
TSMD (vi , j , k ) TMEC (vi , j , k ) , vi,j,k is executed on a randomly
Let SOL( i ) ( SOL(Gi ,1 ),..., SOL(Gi , N SMD )) be a SOL for all
i
selected core of Ui,j; otherwise, vi,j,k is offloaded to the MEC
applications on all SMDs associated with SeNB πi, i = 1,…,S. server. The execution location initialization for all tasks in Gi,j
A solution to the MCOP, x ( SOL ( 1 ),..., SOL( S )) , consists is shown in Algorithm 1, where randInt(1, H) is an integer
of all SOLs associated with all SeNBs in the MEC system. Fig. randomly generated in the range [1, H].
4 shows an example solution to the MCOP.
Given a solution x, its objective function values, F(x) = Algorithm 1. Latency-Based Execution Location Initialization
(fACT(x), fAEC(x)), can be calculated using Eqs. (15) and (16) in Input: application Gi,j.
Section III-F. Output: execution location vector Li , j .
1. Initialize vector Li , j (loci , j ,1 ,..., loci , j , Ni , j ) ;
B. Problem-Specific Population Intialization Scheme 2. for k = 1 to Ni,j do
avg H
The problem-specific population initialization scheme is 3. Calculate TSMD (vi , j ,k ) (1 / H ) h1 ci , j ,k / f i ,max
j ,h ;
presented as below. Let xpar1 and xpar2 be two parent solutions. Let
SOLpar1 (Gi , j ) ( Lipar 1 par1
, j , Oi , j ) and SOL
par 2
(Gi , j ) ( Lipar 2 par 2
, j , Oi , j )
MOEA/D-MCOP Procedure: be the SOLs for Gi,j in xpar1 and xpar2, respectively. The
Input:
crossover operator is applied to each SOLpar1 (Gi , j ) and
Np: the number of subproblems;
1 ,..., N P : uniformly spread weight vectors; SOLpar 2 (Gi , j ) pair, i = 1,…,S, j = 1,…, N iSMD , to obtain two
W: the number of neighbors for each subproblem; offspring SOLs for Gi,j, namely SOLoff 1 (Gi , j ) and
Stopping condition. SOLoff 2 (Gi , j ) , as described in Algorithm 4, where randInt(1,
Output:
EP: an external population storing the nondominated Ni,j) in step 2 is an integer randomly generated in the range [1,
solutions obtained during the evolution. Ni,j]. To be specific, for pair SOLpar1 (Gi , j ) and SOLpar 2 (Gi , j ) ,
Step 1) Initialization: single-point crossover is applied to the corresponding
Step 1.1) Set EP = ∅. execution location vector pair, i.e. Lipar 1
and Lipar 2
,j , j , and the
Step 1.2) For each i , i = 1,…,NP, obtain W closest
execution order vector pair, i.e. Oipar
,j
1
and Oipar
,j
2
,
weight vectors based on Euclidean distance, i1 ,..., iW ,
respectively.
and set (i ) {i1 ,..., iW } . First, we introduce the execution location (EL) crossover.
Step 1.3) Generate an initial population, x1 ,..., x N P , by For each pair ( Lipar 1 par 2
, j , Li , j ), we randomly generate a crossover
using the PSPI scheme in Section V-B and evaluate the point CPTi loc
, j (see steps 2-3 in Algorithm 4) and swap the
objective functions for each solution.
Step 1.4) Initialize reference point z * ( z1* ,..., z m* ) . corresponding portions of Lipar 1
, j and Lipar
,j
2
before CPTi loc
,j .
Output: two offspring SOLs for Gi,j, e.g. SOLoff 1 (Gi , j ) and SOLoff 2 (Gi , j ) . the execution order vector Oipar
,j in each SOLpar (Gi , j ) , i =
// the EL crossover 1,…,S, j = 1,…, N iSMD , to obtain an offspring SOL for Gi,j,
1. Initialize Loff 1 off 1 off 1 off 2 off 2 off 2
i , j (loci , j ,1 ,..., loci , j , N i , j ) and Li , j (loci , j ,1 ,..., loci , j , N i , j ) ;
namely SOLoff (Gi , j ) . This is described in Algorithm 6, where
2. Generate a random integer randInt(1, Ni,j);
3. Set CPTi loc random(0,1) is a number randomly generated in the range (0,
, j = randInt(1, Ni,j);
1). A mutation probability for all applications in the MEC
4. for k = 1 to CPTi loc do Set locioff, j ,1k locipar 2
and locioff, j ,k2 locipar 1
, j ,k ;
,j , j ,k system, MPapp, is used to decide if SOL(Gi,j) is mutated, i =
for k = CPTi loc 1,…,S, j = 1,…, N iSMD .
off 1 par 1 off 2 par 2
5. , j +1 to Ni,j do Set loci , j , k loci , j ,k and loci , j , k loci , j ,k ;
// the EO crossover
In the EL mutation, a mutation probability for Lipar loc
, j , MPi , j ,
6. Generate a random integer randInt(1, Ni,j);
7. Set CPTi ,ord temp
j = randInt(1, Ni,j) and N i , j CPTi ,ord
j Ni , j ; is adopted to decide if each execution location in Lipar
,j is
8. Generate two N itemp
,j -dimension temporary vectors, e.g. mutated. If an execution location locipar par
, j , k in Li , j is chosen for
Oitemp
,j
1
(uitemp 1 temp1 temp 2
, j ,1 ,..., ui , j , N temp ) and Oi , j (uitemp 2 temp 2
, j ,1 ,..., ui , j , N temp ) ; mutation, a random integer number from {1,…,H+1} is used
i, j i, j
and uipar
, j , N i , j vi , j , end . selected in temp, where uipar
, j , r is then moved to.
5. for k = 1 to Ni,j do
6. Generate a random number random(0, 1);
loc
7. Set MPrnd = random(0, 1);
loc
8. if MPrnd ≤ MPi loc
,j then
9. Generate a random integer randInt(1, H+1); Fig. 9. An example of the EL mutation.
off
10. Set loc i , j ,k = randInt(1, H+1);
off
11. else Set loc i , j ,k locipar
, j ,k ;
// the EO mutation
12. Initialize the offspring EO vector Oioff off off
, j (ui , j ,1 ,..., ui , j , N i , j ) ;
e.g. uipar
, j ,a , is found;
15. Include the visited tasks in vector (uipar par Fig. 10. An example of the EO mutation applied to the task graph in Fig. 2.
, j ,1 ,..., ui , j , a ) ;
16. Carry out backward search until the last successor of uipar
, j ,r ,
Algorithm 7. Mutation Procedure on One Solution
e.g. uipar
, j ,b , is found;
Input: parent solution, e.g. xpar.
17. Include the visited tasks in vector (uipar par Output: offspring solution, e.g. xoff.
, j ,b ,..., ui , j , Ni , j ) ;
1. Initialize xoff = (SOLoff(π1),…,SOLoff(πS));
18. Generate a temporary vector temp (uipar par
, j , a 1 ,..., ui , j ,b 1 ) ; 2. for i = 1 to S do // for each SOL par(πi)
19. Randomly select a location in temp and move uipar 3. for j = 1 to N iSMD do // for each SOL par(Gi,j)
, j ,r there;
In Fig. 13, there is no doubt MOEA/D-MCOP is the best. level of each core. Besides, eDors and TSDVFS are the
This is because the DVFS-EC scheme can significantly second- and third-best algorithms, respectively. The two
reduce the AEC by dynamically adjusting the frequency algorithms decrease the energy consumption of SMDs
thanks to DVFS. Meanwhile, eDors always overweighs problem. On the one hand, NSGA-II, MOWOA, MOFOA
TSDVFS with respect to the AEC. The reason behind it is and HGPCA are Pareto-dominance based. If parameters are
that eDors takes advantage of transmission power control not set appropriately, they are likely to get stuck into local
mechanism, which further reduces the energy consumption. optima and converge slowly. On the other hand, MOEA/D
However, both eDors and TSDVFS are not good at is decomposition-based, addressing a number of scalar
obtaining a decent tradeoff between ACT and AEC, i.e. optimization subproblems in parallel. Compared with those
improving one objective harms the other. On the other hand, Pareto-dominance based MOEAs, MOEA/D is featured
if we consider ACT and AEC together, MOEA/D-MCOP with stronger global exploration capability. Therefore,
achieves the best overall performance. MOEA/D performs better than NSGA-II, MOWOA,
The mean and SD values of IGD and GD obtained by all MOFOA, and HGPCA. This also justifies why MOEA/D is
algorithms are shown in Tables VIII and IX, respectively. chosen for addressing the MCOP problem.
Firstly, if taking all algorithms into account, one can Thirdly, among heuristics, TSDVFS is the winner as it
observe that MOEA/D-MCOP performs the best with outperforms CTESA and eDors in most test instances
respect to IGD and GD in all instances. IGD reflects the except Instances 3 and 4 in terms of IGD and GD. TSDVFS
diversification and convergence of nondominated solutions first adopts the initial scheduling algorithm to generate the
simultaneously. GD reveals how far the obtained PF is from minimal-delay schedule. Then, it applies DVFS technology
the reference PF. Results in Tables VIII and IX show that to reduce the energy consumption of SMDs. However,
MOEA/D-MCOP always obtains the set of nondominated TSDVFS cannot strike a balance between the application
solutions closest to the reference PF, which indicates completion time and the energy consumption of SMDs.
MOEA/D-MCOP achieves a better trade-off between global This is why TSDVFS is beaten by MOEA/D-MCOP. On the
exploration and local exploitation. other hand, eDors and CTESA also have obvious drawbacks.
Secondly, it is easily seen that MOEA/D outperforms all eDors is not good at reducing of the application completion
MOEAs except MOEA/D-MCOP in almost all instances, time. CTESA schedules the tasks on the partial critical path
showing that MOEA/D is highly effective for the MCOP rather than considering the task graph as a whole.
TABLE VIII
RESULTS OF IGD (BEST RESULTS ARE IN BOLD)
Algorithm Instance 1 Instance 2 Instance 3 Instance 4 Instance 5 Instance 6
NSGA-II 8.71(0.24) 5.37(0.29) 5.07(0.24) 9.22(0.41) 10.77(0.44) 5.93(0.19)
MOWOA 9.94(0.16) 7.21(0.25) 6.42(0.32) 11.88(0.31) 13.32(0.47) 8.24(0.34)
MOFOA 10.39(0.16) 6.97(0.20) 5.15(0.16) 10.40(0.23) 13.80(0.24) 8.93(0.26)
HGPCA 10.47(0.32) 7.92(0.35) 8.29(0.54) 8.66(0.39) 11.07(0.52) 8.45(0.34)
MOEA/D 7.86(0.16) 4.88(0.25) 3.14(0.16) 8.91(0.39) 11.60(0.39) 5.74(0.22)
TSDVFS 6.40(0) 2.78(0) 3.64(0) 4.45(0) 5.79(0) 2.22(0)
CTESA 9.80(0) 6.14(0) 4.63(0) 4.16(0) 7.99(0) 6.51(0)
eDors 8.33(0) 3.93(0) 3.22(0) 3.56(0) 10.33(0) 8.25(0)
MOEA/D-MCOP 0.19(0.21) 0.47(0.14) 0.81(0.29) 1.14(0.30) 1.68(0.55) 0.55(0.21)
TABLE IX
RESULTS OF GD (BEST RESULTS ARE IN BOLD)
Algorithm Instance 1 Instance 2 Instance 3 Instance 4 Instance 5 Instance 6
NSGA-II 2.99(0.05) 1.84(0.05) 1.53(0.07) 2.25(0.10) 2.12(0.08) 1.75(0.04)
MOWOA 3.30(0.03) 2.44(0.04) 2.07(0.11) 2.77(0.10) 2.73(0.15) 2.49(0.07)
MOFOA 3.24(0.03) 2.14(0.04) 1.36(0.03) 2.30(0.04) 2.12(0.03) 2.18(0.04)
HGPCA 3.24(0.05) 2.36(0.07) 2.14(0.10) 2.28(0.13) 2.31(0.11) 2.21(0.07)
MOEA/D 2.84(0.04) 1.73(0.04) 1.15(0.04) 2.00(0.08) 1.90(0.06) 1.70(0.04)
TSDVFS 2.56(0) 1.21(0) 1.17(0) 1.78(0) 1.78(0) 1.34(0)
CTESA 3.32(0) 2.09(0) 1.70(0) 0.91(0) 1.93(0) 1.93(0)
eDors 3.47(0) 2.56(0) 2.46(0) 3.25(0) 2.17(0) 2.46(0)
MOEA/D-MCOP 0.31(0.29) 0.56(0.10) 1.03(0.15) 0.89(0.26) 1.63(0.17) 0.52(0.11)
The results of Student’s t-test based on IGD are shown in rankings of the nine algorithms are shown in Table XI. The
Table X. MOEA/D-MCOP is clearly the best among all PFs obtained by the nine algorithms are shown in Fig. 14.
algorithms. Friedman test is also utilized to rank algorithm Table XI and Fig. 14 both demonstrate the superiority of
performance. Based on the IGD and GD values, the average MOEA/D-MCOP over the rest of the algorithms.
TABLE X
RESULTS OF STUDENT’S T-TEST BASED ON IGD
Alg.1 ↔ Alg.2 Instance 1 Instance 2 Instance 3 Instance 4 Instance 5 Instance 6
MOEA/D-MCOP ↔ NSGA-Ⅱ + + + + + +
MOEA/D-MCOP ↔ MOWOA + + + + + +
MOEA/D-MCOP ↔ MOFOA + + + + + +
MOEA/D-MCOP ↔HGPCA + + + + + +
MOEA/D-MCOP ↔ MOEA/D + + + + + +
MOEA/D-MCOP ↔ TSDVFS + + + + + +
MOEA/D-MCOP ↔ CTESA + + + + + +
MOEA/D-MCOP ↔ eDors + + + + + +
Symbol “+” indicates Alg.1 performs significantly better than Alg.2.
TABLE XI
RANKINGS OF ALL ALGORITHMS ON IGD AND GD
IGD GD
Algorithm
Average rank Position Average rank Position
NSGA-Ⅱ 5.33 6 4.50 4
MOWOA 7.67 7 8.00 8
MOFOA 8.00 9 5.67 6
HGPCA 7.67 8 7.00 7
MOEA/D 4.17 4 3.00 3
TSDVFS 2.67 2 2.33 2
CTESA 4.67 5 5.00 5
eDors 3.83 3 8.50 9
MOEA/D-MCOP 1.00 1 1.00 1