An Automated Task Scheduling Model Using Non-Dominated Sorting Genetic Algorithm II For Fog-Cloud Systems
An Automated Task Scheduling Model Using Non-Dominated Sorting Genetic Algorithm II For Fog-Cloud Systems
4, OCTOBER-DECEMBER 2022
Abstract—Processing data from Internet of Things (IoT) applications at the cloud centers has known limitations relating to latency, task
scheduling, and load balancing. Hence, there have been a shift towards adopting fog computing as a complementary paradigm to cloud
systems. In this article, we first propose a multi-objective task-scheduling optimization problem that minimizes both the makespans and
total costs in a fog-cloud environment. Then, we suggest an optimization model based on a Discrete Non-dominated Sorting Genetic
Algorithm II (DNSGA-II) to deal with the discrete multi-objective task-scheduling problem and to automatically allocate tasks that should
be executed either on fog or cloud nodes. The NSGA-II algorithm is adapted to discretize crossover and mutation evolutionary operators,
rather than using continuous operators that require high computational resources and not able to allocate proper computing nodes. In our
model, the communications between the fog and cloud tiers are formulated as a multi-objective function to optimize the execution of
tasks. The proposed model allocates computing resources that would effectively run on either the fog or cloud nodes. Moreover, it
efficiently organizes the distribution of workloads through various computing resources at the fog. Several experiments are conducted
to determine the performance of the proposed model compared with a continuous NSGA-II (CNSGA-II) algorithm and four peer
mechanisms. The outcomes demonstrate that the model is capable of achieving dynamic task scheduling with minimizing the total
execution times (i.e., makespans) and costs in fog-cloud environments.
Index Terms—Genetic algorithm, NSGAII, task-scheduling, resource allocation, fog computing, cloud computing
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.
ALI ET AL.: AUTOMATED TASK SCHEDULING MODEL USING NON-DOMINATED SORTING GENETIC ALGORITHM II FOR FOG-CLOUD... 2295
processor cores, memory, and I/O interrupts) to handle cloud environments, as well as discusses multi-objective
user tasks can be challenging, particularly in dynamic fog- optimization and NSGA-II approaches.
cloud environments [4]. In shared-memory multiprocessor
systems, the connections between central memory, I/O inter- 2.1 Task Scheduling and Fog-Cloud Systems
rupts and processors require an optimization process to facili- With the prevalence of IoT applications, there has been an
tate task executions with a load-balancing capability. increasing interest in moving computing and storage at the
Furthermore, different task executions have different resource edge of a network close to users and organizations. In more
constraints that demand regular updates to examine their sta- detail, cloud data centers would not handle big data col-
tus (e.g., available or still occupied). Optimization and meta- lected from those applications in real-time, due to their limi-
heuristic approaches have been widely used to facilitate task tations of delay, limited bandwidth and geographical
scheduling and resource allocation [5], [6], [7]. However, distributions [4]. The cloud’s limitations bring attention to
existing approaches generally require manual tuning of move data processing and analytic models onto either fog
parameters and have a number of limitations [8]. computing or fog-cloud computing models for faster proc-
In this paper, we propose a multi-objective task scheduling essing [4]. To enable faster processing for the fog/fog-cloud
problem to minimize the total makespans and costs in fog- models, it is vital to develop effective task scheduling
cloud environments. One-point crossover is used to design a techniques.
discrete NSGA-II (DNSGA-II) model, which directly specifies Task scheduling in computing platforms is broadly clas-
computing nodes, rather than the use of mapping methods sified into dependent and independent approaches [9]. In
that require high computational resources. The process of the dependent approaches, there are dependencies and
individual reproduction in one-point crossover depends on communications while distributing and allocating tasks to
the production of a new offspring by swapping parts from particular computing resources. In the independent
two other individuals (called parents) so that the generated approaches, tasks are individually distributed on comput-
offspring has characteristics from its parents but is not similar ing resources either using a batch mode or an online mode
to them. This way of individual reproduction can construct [9]. Both modes describe the arrival way of the tasks, where
new discrete solutions that are able to further explore the in the batch mode, the tasks are allocated to the correspond-
search space and reduce the population similarity. This, there- ing fog nodes through a scheduling algorithm once they
fore, guides the search process of DNSGA-II and improves its arrived, while in the online mode, the allocations of the
global optimization ability, especially in distributed environ- arrived tasks are processed through a Resource Manage-
ments such as those of fog-cloud systems. ment System (RMS), as the arrival time of each task is ran-
The key contributions of this paper include the following: dom [9]. In our architecture, the online mode has been
considered as it is more realistic and reflects the task arrival
We formulate the task-scheduling problem as a and allocation processes in the real world.
multi-objective optimization problem for minimizing Task scheduling algorithms are essential in dynamic
the total execution times and costs to dynamically environments to allocate batch mode tasks and assist in
allocate appropriate resources to predefined tasks in organizing the arrival time of every task scheduled for the
a fog-cloud environment. resource management system. Task scheduling has been
We propose an enhanced NSGA-II optimization formulated as an NP-complete problem [10]. Despite the
model that can deal with discrete multi-objective advantages of fog-cloud systems, task scheduling and
optimization problems to assign particular comput- resource allocation in such systems still suffer from chal-
ing nodes (e.g., nodes 1 and 2), which cannot be allo- lenges related to dynamic environments and auto-configu-
cated using a continuous space. The proposed model ration of tasks and their required resources [7]. The task
is designed to adaptively tune extensive parameters scheduling problem in dynamic environments, such as fog-
to select their best values. cloud systems, demands the development of optimization
We assess the performance of the proposed NSGA-II models that could automatically tune its parameters and
model for scheduling tasks and dynamically distrib- specify appropriate computing resources to either fog or
uting them in fog-cloud environments. The model is cloud nodes [8]. There is also a lack of design for a fog-
tested to auto-allocate tasks with appropriate resour- enabled cloud architecture that demonstrates the communi-
ces either in a fog tier, a fog-cloud tier or a cloud tier, cation between fog and cloud elements and their resource
and is compared with other compelling models. distributions [9].
The rest of this work is structured as follows. Section 2 Optimization and meta-heuristic algorithms have been
explains the background and related work of the NSGA-II widely employed to schedule tasks and allocate batch or
model and task scheduling in fog-cloud environments. The online modes [4], [7]. For example, Naeem et al. [11] stated
problem of task-scheduling is discussed in Section 3. The that 46,000 IoT units were installed between 2016 and 2020,
proposed model and its fog-cloud architecture are then where heterogeneous resources and dynamic workloads
described in Section 4. The experimental results are provided needed for each IoT application introduce new issues in fog
in Section 5 and some conclusions are drawn in Section 6. and fog-cloud systems. In light of these open challenges,
there have been numerous attempts by researchers to allo-
cate tasks in fog and fog-cloud environment. Pham et al. [12]
2 BACKGROUND AND RELATED WORK considered a task scheduling problem, while they proposed
This section explains concepts and related studies to task a cost-makespan aware scheduling approach to obtain the
scheduling and resource allocation in fog, fog-cloud and highest cost-makespan trade-off value. They prioritized
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.
2296 IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. 10, NO. 4, OCTOBER-DECEMBER 2022
each node before allocating specific tasks to them. Although with task-scheduling problems in both cloud and fog-cloud
their approach hinted at the necessity of cost-makespan environments and discusses the computation differences
trade-off, they considered a rational factor to linearize that between them. To do so, we develop a modified NSGA-II
trade-off rather than using any Pareto optimization concepts. algorithm that can efficiently handle multi-objective optimiza-
In another work, Zeng et al. [13] concurrently considered tion problems.
task image placement and task scheduling strategies to min-
imize the completion time of service requests. By balancing 2.2 NSGA-II Algorithm
the workload task on both client and fog nodes, they NSGA-II is a powerful algorithm for solving Evolutionary
attempted to minimize the transmission latency of all Multi-Objective (EMO) problems. The main characteristics of
requests. A three-stage heuristic algorithm was proposed to NSGA-II include: 1) a fast sort method of non-dominated sol-
their mixed-integer nonlinear programming model. A utions, 2) a fast estimation technique of the density of solu-
method proposed by Xu et al. [14] conveyed a laxity-based tions, and 3) a simply crowded selection strategy [18]. NSGA
priority algorithm to allocate tasks on fog-cloud nodes. was basically designed for solving multiple objective optimi-
They attempted to minimize total energy consumption dur- zation problems with continuous decision variables. How-
ing the task and resource allocation and proposed a con- ever, a binary representation of solutions has also been used
strained optimization model which was later solved by an for applying classical genetic operators, such as a one-point
Ant Colony Optimization (ACO) algorithm. However, in crossover, a point mutation [5], logical crossover and muta-
their proposed model, they did not consider independent tion operators [19]. It was recommended by [5] the use of a
and associated tasks for scheduling. Moreover, their pro- real-valued representation with specific genetic operators,
posed approach was only validated against small datasets. such as Simulated Binary Crossover (SBX) and polynomial
A similar study was also carried out by Boveiri et al. [15] mutation [20], for solving continuous function optimization
who proposed a variant of ACO algorithm, the so-called problems.
max-min ant system, for task scheduling in cloud applica- Since multi-objective optimization problems involve more
tions. Different priority values of tasks were considered to than one objective function to be optimized simultaneously,
select the optimal combinations of task-orders. After and with the absence of any additional information about the
exhaustive experimental analysis on randomly generated EMO problem to be solved, no particular Pareto-optimal solu-
cloud-based computing data, they proved the suitability of tion can be considered as better than the others. Therefore, the
their algorithm against other counterparts. However, their optimal solutions (decisions) need to be determined as a
model was limited to small-sized task-graph input samples trade-off between two or more objectives and the optimality
in the cloud only. Recently, Nguyen et al. [7] also considered of a solution varies based on a number of factors, such as
a fog-cloud environment and proposed a time-cost aware user’s choice, problem definition or its environment. Consid-
scheduling algorithm to allocate tasks in different nodes. ering the merits of NSGA-II, its implementation in the cloud,
Although their approach is very useful to keep track of both fog and fog-cloud environment would be an interesting
cost and makespan associated with a resource and task allo- research work. However, since NSGA-II was originally devel-
cation, as with Pham et al. [12], they did not consider any oped for solving continuous problems, it needs to be modified
Pareto optimization algorithms to intelligently handle two- to solve discrete ones, as we propose in this study.
conflicting objectives (e.g., minimizing both costs and
makespan).
3 FORMULATION OF TASK SCHEDULING PROBLEM
From the discussions above, most of the existing task
scheduling approaches are only valid for small datasets and IN FOG-CLOUD SYSTEMS
only considered either cost or makespan (i.e., total comple- In fog-cloud systems, the fog layer receives several requests
tion time) as a single objective. Although some trade-off from many IoT applications. The requests are then decom-
analysis has been conducted in the existing works, such posed into small independent tasks, characterized by many
trade-offs could not reflect reality. To deal with two or mul- factors, for example, the number of instructions, memory
tiple contrasting objectives, Pareto optimization techniques, required, as well as input and output file sizes. The tasks
or multi-optimization algorithms are essential. Jena [16] have to be processed using the resources of the fog-cloud sys-
proposed a nested-PSO algorithm to solve a multi-objective tems, which comprise computing servers with various capa-
task scheduling problem. Their objectives were to minimize bilities. The servers could be located at either fog or cloud
energy and processing time. However, their analysis was nodes, where each of these has different resources that
only limited to the cloud computing environment. More enable computing, including core processors (e.g., CPU),
recently, Kumar and Venkatesan [17] proposed one multi- memory bandwidth, storage, and I/O usage. It is observed
objective task scheduling methodology, solved by a hybrid that the costs of using cloud nodes are higher, but such nodes
genetic-ACO algorithm. are more powerful than their fog counterparts.
Most of existing task scheduling techniques has been The notations of most of the mathematical symbols are
widely formulated as a multi-objective problem, which is listed in Table 1. In a typical task scheduling problem, the
more realistic than a single objective problem. The multi- objective is to schedule the entire tasks to minimize the total
objective problem makes a trade-off between the objectives, execution times (i.e., makespans) using the minimum total
including response time versus computation cost or power costs of available resources. For a single request, let N be the
consumption versus computation latency, should be opti- number of tasks (T ¼ fT1 ; T2 ; . . . ; Tj ; . . . ; TN g) to be proc-
mized to make the best decision(s). Consequently, this study essed, M the number of available servers (P ¼ fP1 ; P2 ; . . . ;
proposes a multi-objective optimization problem that deals Pi ; . . . ; PM g). For task Tj , let IðTj Þ be the number of
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.
ALI ET AL.: AUTOMATED TASK SCHEDULING MODEL USING NON-DOMINATED SORTING GENETIC ALGORITHM II FOR FOG-CLOUD... 2297
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.
2298 IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. 10, NO. 4, OCTOBER-DECEMBER 2022
mapped into discrete values of 2; 3; 5 that refer to the com- 4.2 Solution Representation and Initial Population
puting nodes required, either in the fog or the cloud tier. Initially, every solution in the population is represented by a
This problem has been solved using mapping functions, vector of integer values in the range [1 - M], where M is the
which sometimes demand high computational resources, total available nodes/processors and the length of each vec-
especially in the dynamic environments that have broader tor equals the number of tasks to be scheduled (N). The inte-
ranges of resources. ger value in each gene (Tji ) represents the task (Tj ) the will
In order to address this problem, we directly employ a be handled by the processor (Pi ). The number of the gener-
Discrete NSGA-II algorithm (DNSGA-II). This model has ated solutions equals the population size (PS). For each
practically proven its high performance, in terms of process- solution in the initial population, each task (Tj ) is randomly
ing time and costs, compared with CNSGA-II. The DNSGA- assigned to the processor (Pi ). For example, if we have 7
II algorithm is also enhanced to auto-tune its parameters tasks (N= 7) to be processed by 3 processors (M= 3), one
without human intervention; hence this enhanced version is candidate solution can be represented as in Fig. 1.
utilized to address the automatic task distributions and allo-
cate their proper computing resources in fog-cloud systems.
The aim of the proposed task scheduling-based DNSGA-II 4.3 Fitness Evaluation
is to optimize two objectives: minimum execution times In order to decide which solutions should be kept for the
(i.e., makespans) and minimum costs. These objectives are next generation and which should be excluded from the
constrained by that every task has to processed using population, the quality of all solutions needs to be mea-
enough resources at fog or cloud nodes, as mathematically sured. In this work, the fitness values of the candidate
formulated in Section 3. The main components of the task solutions are evaluated against two objective functions:
scheduling-based DNSGA-II are presented in Algorithm 1. 1) makespan, which is the total time that is needed by
The components of the model are elaborated below. the nodes to execute all the received tasks, and 2) total
cost, which is the total resources, such as RAM, CPU,
Algorithm 1. Pseudo-Code of Proposed Task Schedul- network bandwidth, required by the nodes to process
ing-Based DNSGA-II the tasks. Both objective functions are formulated by
Equations (2) and (3).
1: Pop InitialPopðPS; NÞ;
2: ½makespan; cost FitnessEvaluationðPopÞ; (sub-section 4.3)
3: ½Popsorted fastNonDominatedSortðPopÞ; (sub-section 4.4)
4: Gen 1; 4.4 Sorting of Population
5: while Gen Max Gen do A fast-non-dominated sorting mechanism is applied to sort
6: Selected vectors RankSelectionðPopsorted ; PSÞ; solutions within the population. In this procedure, each solu-
(sub-section 4.5) tion (Si ) has an integer value that is holding the number of sol-
7: Trail vectors CrossoverðSelected vectors; Pc Þ; utions, which dominate Si . This holder integer value called
(sub-section 4.6) ”domination count”. Another set, which contains all solutions
8: Mutant vectors MutationðTrail vectors; Pm Þ; that are dominated by the solution Si is calculated. Each solu-
(sub-section 4.7) tion in the population is assigned a rank, based on those two
9: Popnew Mutant vectors parameters, which represents the front to which this solution
10: ½makespan; cost FitnessReEvaluationðPopnew Þ; belongs with rank equal to 0 for the Pareto front solutions. In
11: Popunion MergeðPop; Popnew Þ; (sub-section 4.8) general, all solutions, which have rank x+1 are dominated by
12: Fronts fastNonDominatedSortðPopunion Þ; solutions with rank x. For example, the solutions, which are
13: X ½ ; // to keep Parents vectors dominated by solutions from the Pareto front, have rank 1.
14: FL ½ ; // to keep Front solutions
15: for Fi 2 Fronts do
16: CrowdingDisAssignmentðFi Þ; 4.5 Selection Operator
17: if SizeðXÞ þ SizeðFi Þ > PS then
The first step in the main loop of GA is the selection opera-
18: FL Fi ;
tion. In the proposed NSGA-II, binary tournament selec-
19: Break();
tion [21] is used. In this approach, two solutions (parents)
20: else
21: X MergeðX; Fi Þ;
are selected from the population pool based on the rank
22: end if for the reproduction process by crossover and mutation
23: end for operators. A solution is selected if and only if its rank is
24: if SizeðXÞ < PS then lower than the other. Solutions that have the same non-
25: FL RankAndDistanceSortingðFL Þ; dominated rank in the population are assigned a diversity
26: for j ¼ 1 : PS SizeðFrontL Þ do rank by adapting an explicit diversity-preservation or
27: X Xj ; niching strategy [8]. Genes in each non-dominated indi-
28: end for vidual are ranked based on the density of their region. The
29: end if density of solutions around a specific individual can be
30: Selected vectors RankAndDisSelectionðX; PSÞ; calculated using a crowding distance metric, which is the
31: Pop Selected vectors; average distance of the two solutions on either side of that
32: Gen Gen þ 1; solution along each of the objectives. Because such niching
33: end while strategy does not require external parameters, it is used by
NSGA-II [22].
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.
ALI ET AL.: AUTOMATED TASK SCHEDULING MODEL USING NON-DOMINATED SORTING GENETIC ALGORITHM II FOR FOG-CLOUD... 2299
4.6 Crossover Operator uses two solutions as parents and produces two offspring.
Crossover is considered the key operator for solution explo- Also, it uses a parameter called the distribution index (di ),
ration in a GA. New offspring (modified solutions) are which is kept fixed throughout a simulation run. If di is large,
reproduced by performing crossover and/or mutation the offspring is produced close to the parent, otherwise it will
operations. Generally in a crossover, two or more selected be produced away from the parent. di parameter has a direct
parents produce one or more offspring. In this paper, for effect in controlling the produced offspring distribution.
the purpose of further studying the performance of the
NSGA-II with continuous and discrete evolving operators, 4.7 Mutation Operator
two different crossover operators will be used: 1) one-point Mutation is considered a key operator that increases the
crossover, and 2) a simulated binary crossover (SBX). diversity of the population and enables GAs to explore
In one-point crossover, two solutions are randomly promising areas of the search space. Normally, after off-
selected as parents, a crossover point (CP ) is chosen uni- spring are produced by crossover, mutation is applied to
formly at random between 1 and the solution length (equa- their variables according to a low probability called the
tion 15), and two new solutions are created for the two mutation rate (pm ). It alters a few random bits of a solution
parents. This CP divides each solution into two sub-solu- and maintains genetic diversity, with the aim of preventing
tions (left and right) and then the right (or left) sub-solution convergence towards a local optimum. For the purposes of
of the two individuals are swapped. For example, Fig. 1 con- studying the performance of NSGA-II using both continu-
siders the individual in Section 4.2 as one parent (P1 ) and ous and discrete evolving operators, polynomial and a dis-
another one is P2 . OS1 and OS2 are two offspring, which are crete bit-flip mutations are used.
produced from recombination of P1 and P2 , with the CP In continuous NSGA-II (CNSGA-II), the polynomial muta-
occurs after the fourth bit. tion [23] is used. This mutation is based on the polynomial
distribution and applied with a user-defined index parameter
CP ¼ roundððamax amin Þ rand þ amin ; (15) (Plm ) to perturb the current solution (parent) to a neighbour-
ing solution (offspring) by mutating each solution separately,
where amax and amin are the upper and lower limits of CP , i.e., one parent solution gives one offspring. The two main
rand is a uniform random number generated in the range steps of polynomial mutation are as follows: 1) Calculate the
[0,1] and round is a function applied to round the produced perturbation parameter (Plm ) by using the following rule,
real number to its closest discrete one. ( 1
SBX crossover was first proposed by Deb and Agrawal ð2 randÞrþ1 1 ; rand < 0:5
[20] and it is used by the basic NSGA-II [18]. SBX is a real- Plm ¼ 1 ; (16)
1 ½2ð1 randÞrþ1 ; rand 0:5
parameter recombination operator, which is commonly used
for solving optimization problems in continuous domain. It where rand is a random number generated in the range [0-1]
mimics the one-point crossover with binary coding, so it and r a positive or negative exponent decided by the user. 2)
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.
2300 IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. 10, NO. 4, OCTOBER-DECEMBER 2022
The new offspring is then produced from the original solu- maximum allowed number of evaluations of the fitness
tion as follows: (objective) functions.
OS ¼ P þ Plm d (17) 4.10 Overall Model Architecture
The proposed task-scheduling model is designed in a fog-
where P is the parent solution, d the maximum perturbation cloud environment, as depicted in Fig. 1. The process of
allowed between the original and mutant solution, which is task-scheduling starts when a client requests the implemen-
also decided by the user. tation of a particular task, such as analytics of big data sour-
In our algorithm and based on [23] and after doing some ces collected at the edge layer. Then, the proposed model
experiments for validating them, r is set to 100 and d is cal- could be executed at the edge of a network using virtualiza-
culated as tion technology. The technology would enable the model to
allocate the demanded resources at either the fog or the
ðOS Xl Þ; ðXu OSÞ
d ¼ min : (18) cloud layer. The selection of which layer is better depends
Xu Xl
on the costs and time executions of tasks, as detailed in
Section 5. The model executes its procedure, including ini-
where Xl and Xu are the lower and upper values of tialization, discrete crossover and mutation operations to
solutions. dynamically allocate tasks of applications to fog and/or
The produced offspring (OS) usually contains real- cloud nodes. The model could also activate the load bal-
values. In order to use this mutation to the discrete task ancer service via the regular examination of the status of fog
scheduling problem, the produced continuous mutant vec- and cloud nodes (e.g., idle, occupied).
tors have been rounded to their nearest discrete values. In The main components of the fog-cloud system architec-
the discrete NSGA-II (DNSGA-II), the traditional bit-flip ture include three layers of the edge, fog, and cloud, as
mutation has been modified to produce discrete variables shown in Fig. 1. The edge layer includes the proposed task-
instead of binary ones and employed. The pseudo-code of scheduling model deployed in a virtualized server and
bit-flip mutation is presented in Algorithm 2. linked with virtualized fog nodes and cloud centers using
network gateways. The fog layer consists of a set fM of fog
Algorithm 2. Pseudo-Code for the Bit-Flip Mutation nodes/computation servers and fO of storage servers. In
1: M sizeðchildÞ // child is the vector produced from this layer, computing processes occur at devices that are
Crossover; close to end-users, such as local servers, gateways, etc. The
2: for k= 1 : M do cloud layer contains a set CM of cloud computing servers
3: R randðÞ; // a uniform random number generated in and CO of storage servers. All the servers in both Cloud and
the range [0,1] fog layers are interconnected with each other and with the
4: if R < Pm then clients. The fog layer contains a hierarchical computing
5: childðkÞ ¼ randiðMÞ; // randi is a discrete uniform architecture, where the proposed task scheduling model
random number generated in the range [1,M] distributes the tasks/workloads to be parallelly processed
6: end if by available computing nodes according to the length/com-
7: end for plexity of each task and the maximum capacity of each
node. The proposed model would be also deployed at a fog
mediator, which is a physical or virtual server that receives
4.8 Fitness Re-Evaluation and Selection the requests from a set E of clients. Then, it distributes the
The fitness values of the produced solutions in the new pop- tasks as independent ones to be processed on various fog-
ulation (Popnew ) are re-evaluated. Then, both old (Pop) and cloud nodes.
new (Popnew ) populations are combined in one population When a client request (r) sends to a (e) fog mediator,
(Popunion ) of size 2 PS. The individuals of Popunion are then along with an average arrival rate (Lre ). The proposed task
sorted into a hierarchy of sub-populations based on the scheduling based on DNSGA-II starts the execution process
ordering of Pareto dominance. The similarity between indi- of decomposing the request into several independent tasks,
viduals of each group is measured in the Pareto front, and which are then stored in a storage device (o) with capacity
the resulting groups and similarity values are used to (Ko ). A storage device is also used to handle any I/O inter-
endorse a diverse front of non-dominated solutions. The rupts, which could accidentally occur during task process-
non-dominated solutions are emphasized and the Pareto ing on a server/node. In this system, the I/O interrupts
front individuals are formed as Pareto-optimal solutions [6]. probability is assumed to be very small a ¼ 0:0001. After
The pseudo-code of the fitness re-evaluation and selection that, the tasks are transmitted to the computation server,
are illustrated in Algorithm 1 through steps 12 to 30. Finally, which was assigned by the proposed task scheduler, to be
the new population is formed by selecting all front solutions executed. The transmission time can be vary depending on
with rank 0, followed by solutions with higher ranks. the environment. Although the computing cloud servers
usually have a higher processing rate than fog servers,
4.9 Termination Conditions transmission latency in the cloud environment is larger
The processes of the NSGA-II operations continue until the than the fog environment. As the task execution time (make-
allowed time or number of generations (Gen) exceeds a pre- span) could be impacted by this latency, the proposed
defined maximum number of generations (Max Gen). Also, model has a critical role in balancing the distribution of
the NSGA-II algorithm termination can be decided by the tasks into fog and cloud computing servers.
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.
ALI ET AL.: AUTOMATED TASK SCHEDULING MODEL USING NON-DOMINATED SORTING GENETIC ALGORITHM II FOR FOG-CLOUD... 2301
TABLE 2 TABLE 4
Attributes Used to Generate Tasks Combination of Parameter Values
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.
2302 IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. 10, NO. 4, OCTOBER-DECEMBER 2022
TABLE 6
Response Table of Means of Both Average Total Makespan
and Average Total Cost
ranked first for both cases, while Pc has the lowest effect in
the case of the average total makespan and PS has the low-
est effect in the case of the average total cost.
TABLE 7
Summary of Detailed Makespan and Total Cost Values obtained from Discrete NSGA-II
TABLE 8
Summary of Detailed Makespan and Total Cost Values obtained From Continuous NSGA-II
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.
ALI ET AL.: AUTOMATED TASK SCHEDULING MODEL USING NON-DOMINATED SORTING GENETIC ALGORITHM II FOR FOG-CLOUD... 2303
Fig. 3. Performance profile graphs comparing DNSGA-II and CNSGA-II for fog, fog-cloud, and Cloud based on (a) makespan; (b) based on cost.
Fig. 4. Pareto front comparing results obtained from DNGSA-II and CNSGA-II for instances with 500 tasks (a) Fog environment; (b) Fog-cloud envi-
ronment; and (c) Cloud environment.
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.
2304 IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. 10, NO. 4, OCTOBER-DECEMBER 2022
TABLE 10 TABLE 12
Comparisons of DNSGA-II Against Some State-of-the-Art comparison Summary of DNSGA-II With Other
Algorithms Based on F Values for Fog Environment Algorithms for Fog and Fog-Cloud Systems
Instances F
DNSGA-II TCaS BLA MPSO RR
40 243.54 462.65 469.23 477.83 606.05
80 650.99 967.46 978.47 999.39 1272.45
120 949.25 1485.54 1511.26 1533.68 1957.28
160 1233.85 1998.07 2050.74 2064.67 2579.39
200 1531.94 2348.04 2417.43 2422.11 2870.55
250 1958.24 3129.95 3253.91 3243.72 4066.93
300 2394.73 3653.24 3821.45 3787.64 4622.54
350 2754.71 4128.28 4332.06 4271.83 5188.19
400 2965.68 4841.57 5119.01 5030.23 6111.52 of the proposed algorithm in achieving better total costs
450 3539.89 5540.53 5883.68 5813.80 7183.47
500 4100.59 6202.87 6585.18 6494.51 8060.75
and makespan than other comparative single objective-
based algorithms.
A further analysis is conducted based on the Wilcoxon
rank-test listed in Table 12. It can be noticed that the perfor-
ing objectives. However, to compare with several single mance of the proposed DNSGA-II is significantly better
objective algorithms, two objectives (i.e., makespan and than all the rival algorithms in fog and fog-cloud systems
total cost) are transformed into one objective equation using based on the resultant F values shown in Equation (22).
the following equation:
5.3.2 Comparison of Multi-Objective Algorithms
Minimize : F; (21)
In this section, the performance of the proposed DNSGA-II is
where compared with four Multi-objectives algorithms: 1) Strength
Pareto Evolutionary Algorithm 2 (SPEA-II) [32], 2) Multi-
F ¼ 0:5 Makespan þ 0:5 TotalCost: (22) objective Particle Swarm Optimization algorithm (MOPSO)
[33], 3) Pareto Envelope-based Selection Algorithm 2 (PESA-
In Equation (22), both makespan and total cost are given II) [34], and 4) ulti-objective Evolutionary Algorithm based
equal weights (0.5) to transform into a single objective on Decomposition (MOEA/D) [35]. These algorithms are
framework, which is a very common practice in the relevant used as they showed high performances in solving multi-
literature [7]. In the fog system, the performance of the pro- objective optimization problems.
posed algorithm is compared with four algorithms: 1) Time- The parameter settings of these algorithms are taken
Cost aware Scheduling (TCaS) [7], 2) Bee Life Algorithm from their original paper, and the stopping condition (maxi-
(BLA) [27], 3) Modified Particle Swarm Optimization mum number of iteration) for all of them including the pro-
(MPSO) [28] and 4) a simple Round Robin (RR) [29]. The posed algorithm is set to 5000 generations. Also, they run
outputs of the compassion’s between the algorithms are for 30 times and their best results are recorded in Table 13.
listed in Table 10. In the fog-cloud system, besides the four The makespan and cost obtained from DNSGA-II and the
algorithms above, other two algorithms: 5) Genetic Algo- competing algorithms are presented in Table 13. It is clear
rithm (GA) [30] and 6) Differential Evolution (DE) [31] are that the proposed DNSGA-II is better than others in a term of
used. The results of the comparisons are demonstrated in makespan. Considering the cost objective function, DNSGA-
Table 11. From both tables, the proposed DNSGA-II can II is better than SPEA-II, MOPSO, PEAS-II and MOEA/D in
obtain the best F values for all instances in both fog and 8, 9, 9 and 9 instances, respectively. The proposed DNSGA-II
fog-cloud systems. This indicates the superior performance algorithm can save average makespan considering all
TABLE 11
Comparisons of DNSGA-II Against Some State-of-the-Art Algorithms Based on F Values for Fog-Cloud Environment
Instances F
DNSGA-II TCaS BLA MPSO RR GA DE
40 249.28 487.95 498.36 484.43 586.49 597.72 607.50
80 691.20 1025.41 1050.62 1020.88 1379.43 1414.88 1421.74
120 1003.10 1568.57 1610.04 1565.13 1977.44 1676.20 2069.79
160 1340.16 2105.04 2159.88 2113.87 2658.42 2608.00 2652.67
200 1600.60 2518.46 2571.06 2503.58 2922.68 2692.65 3044.84
250 2092.01 3151.22 3238.47 3133.89 3800.75 3722.81 3875.03
300 2609.47 3896.64 4014.17 3890.33 4764.27 4444.26 4797.27
350 3042.89 4453.78 4582.14 1167.54 5223.22 4996.00 5351.96
400 3156.07 5182.03 5344.60 1373.58 5965.94 5870.29 6391.28
450 3875.96 5939.37 6142.45 5925.58 6839.80 6781.50 7201.34
500 4402.00 6646.87 6865.79 6624.85 7949.90 7446.65 7644.54
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.
ALI ET AL.: AUTOMATED TASK SCHEDULING MODEL USING NON-DOMINATED SORTING GENETIC ALGORITHM II FOR FOG-CLOUD... 2305
TABLE 13
Comparisons of DNSGA-II With SPEA-II, MOPSP, PESA-II and MOEA/D Based on
Both Makespan and Total Cost for Fog-Cloud System
instances by 36.75, 39.15, 41.99 and 41.57 percent compared from Fig. 6, both cost and makespan are drawn for executing
to SPEA-II, MOPSO, PEAS-II and MOEA/D, respectively. different tasks or instances of different nodes in the fog and
DNSGA-II can save the average cost of all instances by 2.72, fog-cloud systems. Since, comparing with two contrasting
5.55, 3.25 and 3.92 percent, compared to PEA-II, MOPSO, values is very tricky, we hypothetically give 50 percent credit
PEAS-II and MOEA/D, respectively. to each cost and makespan value, i.e., each cost and makespan
The Wilcoxon test is also carried out to judge if there is a values are multiplied by 0.5 and then summed up to cal-
statistical significant difference between the proposed culate normalised value, as shown in that figure. Hence,
DNSGA-II and the other algorithms, where the results are normalised value ¼ 0:5 cost þ 0:5 makespan. In the case
presented in Table 14. From Table 14, it is clear that the pro- of Fig. 6a, normalised values under the fog system show
posed DNSGA-II statistically outperforms the rival algo- a sharp decreasing trend with the increasing number of
rithms for both makespan and cost. Additionally, the fog nodes up to 10 fog nodes (i.e., 10FN), after which the
Pareto-fronts obtained from DNSGA-II, SPEA-II, MOPSO, decrements flatten. Hence, we can claim that for the fog
PESA-II and MOEA/D algorithms are plotted for instances system, if we intend to solve different tasks or instances,
with 40 and 450 tasks, depicted in Fig. 5. It is obvious that having 16 fog nodes should be the optimum decision,
the proposed DNSGA-II algorithm can produce better considering both makespan and cost values.
results (solutions are in the lower areas) than other rival Meanwhile, for the fog-cloud environment, this work
algorithms. Based on these experiments for both single and started considering 3 cloud nodes with different fog nodes.
multi-objective formulations, the proposed DNSGA-II is As depicted in Fig. 6b, the normalised value of cost and
empirically proven that it is the best one compared with the makespan decreased up to 3 cloud nodes and 16 fog nodes
competing algorithms. (i.e., 3CN&16FN), and then flattened. To identify the opti-
mum number of cloud nodes, another experiment was car-
ried out with 16 fog nodes and different cloud nodes for the
5.4 Discussions and Implications same fog-cloud environment. It can be seen from Fig. 6c, the
This section explains the sensitivity analysis of the proposed normalised values are increasing with increasing cloud
DNSGA-II algorithm for fog and fog-cloud systems. One fun- nodes. Hence, from this experiment, it can be claimed that
damental query regarding task scheduling or latency minimi- for the fog-cloud environment, having 16 fog nodes and 1
zation is to sort out an optimal number of nodes for each cloud node (i.e., 16FN&1CN) is the optimal decision, con-
system. The optimum number of nodes for different comput- sidering both makespan and cost.
ing systems, a practitioner can allocate resources accordingly Another experiment is also carried out to observe perfor-
based on employing the proposed algorithm. It can be seen mance measures with increasing task numbers. As
expected, normalised values of cost and makespan always
TABLE 14
Comparison Summary Between DNSGA-II, SPEA-II, MOPSO, show a non-linearly increasing trend with increasing task
PESA-II, and MOEA/D for Fog-Cloud System Based numbers for both fog and fog-cloud environments, as
on Both Makespan and Cost depicted in Fig. 7. It is observed in Fig. 8, the computational
time in seconds also increases with the increasing number
of nodes for both environments. CT_fog and CT_cloud_fog
represent the computing time in seconds for fog and fog-
cloud environments, respectively. It is noted that the com-
puting time of the fog-cloud environment is always higher
than the simple fog nodes. This is also obvious, even in the
case of fog-cloud nodes, as there are more tasks that need to
be allocated in a higher number of nodes.
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.
2306 IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. 10, NO. 4, OCTOBER-DECEMBER 2022
Fig. 5. Comparison of Pareto fronts obtained from DNGSA-II, SPEA-II, MOPSO, PESA-II, and MOEA/D for Fog-Cloud system for instances with (a)
40 instances and (b) 450 instances
Fig. 6. Performance measures based on number of nodes (a) fog environment; (b) fog-cloud environment (3 cloud nodes and different fog nodes);
and (c) fog-cloud environment (16 fog nodes and different cloud nodes).
Fig. 7. Performance measures based on number of tasks (a) fog environment; (b) fog-cloud environment.
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.
ALI ET AL.: AUTOMATED TASK SCHEDULING MODEL USING NON-DOMINATED SORTING GENETIC ALGORITHM II FOR FOG-CLOUD... 2307
resources either in the fog or the cloud. The model has [12] X.-Q. Pham, N. D. Man, N. D. T. Tri, N. Q. Thai, and E.-N. Huh,
“A cost-and performance-effective approach for task scheduling
proven its high performance in distributing the tasks to based on collaboration between cloud and fog computing,” Int.
appropriate resources in fog-cloud systems. Several statis- J. Distrib. Sensor Netw., vol. 13, no. 11, 2017, Art. no.
tical analyses and experiments were carried out to exam- 1550147717742073.
ine the model’s evaluation. The model was also [13] D. Zeng, L. Gu, S. Guo, Z. Cheng, and S. Yu, “Joint optimization of
task scheduling and image placement in fog computing sup-
compared with a continuous NSGA-II model and other ported software-defined embedded system,” IEEE Trans. Comput.,
four peer mechanisms to determine how tasks and their vol. 65, no. 12, pp. 3702–3712, Dec. 2016.
needed resources could properly be allocated either in [14] J. Xu, Z. Hao, R. Zhang, and X. Sun, “A method based on the com-
bination of laxity and ant colony system for cloud-fog task sched-
the fog or the cloud layer. The experimental results uling,” IEEE Access, vol. 7, pp. 116 218–116 226, 2019.
showed the high performance of the proposed model in [15] H. R. Boveiri, R. Khayami, M. Elhoseny, and M. Gunasekaran,
terms of lower makespans and costs compared with “An efficient swarm-intelligence approach for task scheduling in
others. This could give an indication to utilize the model cloud-based Internet of Things applications,” J. Ambient Intell.
Humanized Comput., vol. 10, no. 9, pp. 3469–3479, 2019.
in distributing batch tasks with large-scale data in fog- [16] R. Jena, “Multi objective task scheduling in cloud environment
cloud environments. using nested PSO framework,” Procedia Comput. Scie., vol. 57,
In the future, we will extend this work to address the pp. 1219–1227, 2015.
challenge of allocating resources in cyber-physical systems [17] A. S. Kumar and M. Venkatesan, “Multi-objective task scheduling
using hybrid genetic-ant colony optimization algorithm in cloud
and also allow auto-configuration of service orchestration at environment,” Wireless Pers. Commun., vol. 107, no. 4, pp. 1835–1848,
the edge of a network. 2019.
[18] K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, “A fast and elit-
ist multiobjective genetic algorithm: NSGA-II,” IEEE Trans. Evol.
ACKNOWLEDGMENTS Comput., vol. 6, no. 2, pp. 182–197, Apr. 2002.
[19] R. Gupta and S. J. Nanda, “A binary NSGA-III for unsupervised
Ismail M. Ali, Karam M. Sallam, Ripon Chakraborty and band selection in hyper-spectral satellite images,” in Proc. IEEE
Michael Ryan are supported by the Capability Systems Cen- Congress Evol. Comput., 2019, pp. 522–529.
[20] K. Deb et al., “Simulated binary crossover for continuous search
tre, UNSW Canberra. The work of Nour Moustafa was sup- space,” Complex Syst., vol. 9, no. 2, pp. 115–148, 1995.
ported in part by the Australia Memorial spitfire [21] B. L. Miller et al., “Genetic algorithms, tournament selection, and
Fellowship- PS39150. The work of Kim-Kwang Raymond the effects of noise,” Complex Syst., vol. 9, no. 3, pp. 193–212, 1995.
Choo was supported by the Cloud Technology Endowed [22] A. Jaszkiewicz and J. Branke, “Interactive multiobjective evolu-
tionary algorithms,” in Multiobjective Optimization. Berlin, Ger-
Professorship, and NSF CREST Grant HRD-1736209. many: Springer, 2008, pp. 179–193.
[23] K. Deb and S. Tiwari, “Omni-optimizer: A generic evolutionary
algorithm for single and multi-objective optimization,” Eur. J.
REFERENCES Oper. Res., vol. 185, no. 3, pp. 1062–1087, 2008.
[1] X.-Q. Pham and E.-N. Huh, “Towards task scheduling in a cloud- [24] “fog-cloud task scheduling dataset,” Nov. 2019. [Online]. Avail-
fog computing system,” in Proc. 18th Asia-Pacific Netw. Operations able: https://research.unsw.edu.au/projects/cross-disciplinary-
Manage. Symp., 2016, pp. 1–4. optimization-u nder-capability-context
[2] L. Yin, J. Luo, and H. Luo, “Tasks scheduling and resource alloca- [25] E. D. Dolan and J. J. More, “Benchmarking optimization software
tion in fog computing based on containers for smart man- with performance profiles,” Math. Program., vol. 91, no. 2, pp. 201–
ufacturing,” IEEE Trans. Ind. Inform., vol. 14, no. 10, pp. 4712–4721, 213, 2002.
Oct. 2018. [26] H. J. Barbosa, H. S. Bernardino, and A. M. Barreto, “Using perfor-
[3] J. Hartmanis, “Computers and intractability: A guide to the mance profiles for the analysis and design of benchmark
theory of NP-completeness,” Siam Rev., vol. 24, no. 1, 1982, experiments,” in Advances in Metaheuristics. Berlin, Germany:
Art. no. 90. Springer, 2013, pp. 21–36.
[4] D. Chahal, B. Mathew, and M. Nambiar, “Simulation based job [27] S. Bitam, S. Zeadally, and A. Mellouk, “Fog computing job schedul-
scheduling optimization for batch workloads,” in Proc. ACM/ ing optimization based on bees swarm,” Enterprise Inf. Syst., vol. 12,
SPEC Int. Conf. Perform. Eng., 2019, pp. 313–320. no. 4, pp. 373–397, 2018.
[5] J. Brownlee, “Clever algorithms: Nature-inspired programming [28] S. Abdi, S. A. Motamedi, and S. Sharifian, “Task scheduling using
recipes,” pp. 27–79, 2011. [Online]. Available: https://dl.acm. modified PSO algorithm in cloud computing environment,” in
org/doi/book/10.5555/1983645 Proc. Int. Conf. Mach. Learn. Elect. Mech. Eng., 2014, pp. 8–9.
[6] N. K. Madavan, “Multiobjective optimization using a pareto dif- [29] I. S. Rajput and D. Gupta, “A priority based round robin CPU
ferential evolution approach,” in Proc. Congress Evol. Comput., scheduling algorithm for real time systems,” Int. J. Innovations
2002, pp. 1145–1150. Eng. Technol., vol. 1, no. 3, pp. 1–11, 2012.
[7] B. M. Nguyen et al., “Evolutionary algorithms to optimize task [30] M. D. Vose, The Simple Genetic Algorithm: Foundations and Theory.
scheduling problem for the IoT based bag-of-tasks application in Cambridge, MA, USA: MIT Press, 1999.
cloud–fog computing environment,” Appl. Sci., vol. 9, no. 9, 2019, [31] I. M. Ali, D. Essam, and K. Kasmarik, “A novel differential evolu-
Art. no. 1730. tion mapping technique for generic combinatorial optimization
[8] R. Salimi, N. Bazrkar, and M. Nemati, “Task scheduling for problems,” Appl. Soft Comput., vol. 80, pp. 297–309, 2019.
computational grids using NSGA II with fuzzy variance based [32] E. Zitzler, M. Laumanns, and L. Thiele, “SPEA2: Improving the
crossover,” Advances Comput., vol. 3, no. 2, pp. 22–29, 2013. strength pareto evolutionary algorithm,” Swiss Federal Inst. Tech-
[9] L. Liu, D. Qi, N. Zhou, and Y. Wu, “A task scheduling algo- nol., Zurich, Switzerland, TIK-Rep. 103, 2001.
rithm based on classification mining in fog computing envi- [33] G. T. Pulido and C. A. C. Coello, “Using clustering techniques to
ronment,” Wireless Commun. Mobile Comput., vol. 2018, 2018, improve the performance of a multi-objective particle swarm opti-
Art. no. 2102348. mizer,” in Genetic and Evolutionary Computation Conference. Berlin,
[10] C. Tang et al., “A mobile cloud based scheduling strategy for Germany: Springer, 2004, pp. 225–237.
industrial Internet of Things,” IEEE Access, vol. 6, pp. 7262–7275, [34] D. W. Corne, J. D. Knowles, and M. J. Oates, “The pareto envelope-
2018. based selection algorithm for multiobjective optimization,” in Proc.
[11] R. Z. Naeem, S. Bashir, M. F. Amjad, H. Abbas, and H. Afzal, “Fog Int. Conf. Parallel Problem Solving From Nature, 2000, pp. 839–848.
computing in Internet of Things: Practical applications and future [35] Q. Zhang and H. Li, “MOEA/D: A multiobjective evolutionary
directions,” Peer-to-Peer Netw. Appl., vol. 12, no. 5, pp. 1236–1262, algorithm based on decomposition,” IEEE Trans. Evol. Comput.,
2019. vol. 11, no. 6, pp. 712–731, Dec. 2007.
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.
2308 IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. 10, NO. 4, OCTOBER-DECEMBER 2022
Ismail M. Ali received the undergraduate degree Michael Ryan (Senior Member, IEEE) is the
from the Faculty of Computer and Information, director of the Capability Systems Centre, Univer-
Zagazig University, Egypt, in 2010, and the mas- sity of New South Wales Canberra, Australia. He
ter’s and PhD degrees in computer science from lectures and regularly consults in a range of sub-
the School of Engineering and IT (SEIT), Univer- jects including communications systems, sys-
sity of New South Wales, Canberra, Australia. He tems engineering, requirements engineering, and
is a research associate at the Capability Systems project management. He is a co-chair of the
Centre, University of New South Wales, Canberra, Requirements Working Group in the International
Australia. His master thesis has been awarded Council on Systems Engineering (INCOSE). He
“The Stephen Fester Prize” for “The Most Out- is a fellow of Engineers Australia, a fellow of the
standing Thesis on an Information Technology International Council on Systems Engineering,
Related Topic by a Masters by Research or PhD Student. His current and a fellow of the Institute of Managers and Leaders. He is the author
research interests include optimization problems, evolutionary algorithms, or co-author of 13 books, three book chapters, and more than 300 tech-
production system and supply network engineering, operation research, nical papers and reports.
Cybersecurity, and IoT.
Authorized licensed use limited to: Mepco Schlenk Engineering College. Downloaded on December 12,2022 at 05:37:47 UTC from IEEE Xplore. Restrictions apply.