A Hyper-Heuristic Scheduling Algorithm For Cloud
A Hyper-Heuristic Scheduling Algorithm For Cloud
A Hyper-Heuristic Scheduling Algorithm For Cloud
fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing
IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX
I. I NTRODUCTION
2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing
IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX
(1)
n X
m
X
i=1 j=1
Cij ,
(2)
2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing
IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX
can submit jobs to the Hadoop cluster, which will then split
the jobs into tasks of a given size and provide a number of
slots to run tasks in parallel. The processing speed of these
slots depends on the types of jobs submitted to the cluster.
The definitions of parallel machines for scheduling can be
divided into three kinds: (1) identical machines in parallel, (2)
machines in parallel with different speeds, and (3) unrelated
machines in parallel [1]. Since a Hadoop cluster generally
consist of machines with different speeds, its task scheduling
problem can be considered as the second kind of parallel
machines for scheduling.
B. Scheduling Methods for Cloud
To develop more efficient scheduling algorithms for cloud,
some recent reviews were given in [33], [34], which encompass non-metaheuristic and metaheuristic scheduling algorithms, such as earliest-finish-time-based algorithm and
genetic algorithm. Also given in [33] was a comparison
sheet to classify the scheduling algorithms discussed there by
methods, parameters, and factors of scheduling. In addition,
the method presented in [35] uses feedback information to
estimate the earliest finish time to dynamically adjust the
resource allocation.
Among researches on non-metaheuristic scheduling algorithms, the earliest start time, latest start time, and makespan
[36], [37] are usually used to evaluate the scheduling results;
however, to precisely describe cloud environment, additional
measurements (objective functions) are also used in describing
and measuring the scheduling on cloud. For instance, the cost
of workflow and the deadline defined by a user were used in
[38] while the price-based model was used in [39]. Besides
the additional measurements, another study [36] combined the
static and dynamic scheduling algorithms into a cloud system
to adjust its resource allocation strategies on the fly. The main
advantages of this kind of algorithms are: (1) they are simple
and easy to implement; (2) some rule-based deterministic
algorithms can find acceptable solutions quickly; and (3) most
of them are compatible to each other; thus, some studies have
tried to integrate two or more non-metaheuristic algorithms
to solve the scheduling problem. Theoretically, one of the
major disadvantages of these algorithms is in that the results
obtained by these algorithms may be far from optimal or even
acceptable. In practice, our observation shows that because
they are simple and easy to implement on a cloud system,
several cloud systems use traditional scheduling algorithms
to manage the computing resources, such as Hadoop, which
uses first in first out (FIFO) [40] as the default scheduling
algorithm.
Although the FIFO scheduler of Hadoop can achieve a
high utilization as far as a cluster is concerned, it provides
no fairness at all. Even worse, it sometimes leads to a long
response time, especially when the number of jobs to be run
is beyond the available computing resources. For a concrete
example, consider the following scenario: A very long job
arrives the job queue followed by a short job with the same
priority. The FIFO scheduler of Hadoop will schedule the first
job and allocate all the resources it needs. This implies that
the second job must wait until the first job is completed. The
result is obviously a very long response time for the second
job. For a cluster that has enough capacity to run all the jobs
at the same time, most schedulers can satisfy the demand of
the input jobs and tasks. It means that each job can be run and
completed before the deadline. Assume a high map-capacity
Hadoop cluster has 200 maps. Most of the schedulers can
finish the jobs when there are 10 input jobs each of which
use 20 maps, i.e., when there are total 10 20 = 200 tasks
to be assigned to the 200 map slots. When the input jobs and
tasks are too large to be run by the cluster (system) at the same
time, the overall computation time will differ because different
scheduling strategies may decide to schedule the jobs to be run
and the resources to be allocated differently. Moreover, most,
if not all, of the schedulers shipped with Hadoop today do not
take into consideration the so-called makespanthe objective
HHSA described herein is trying to improve.
To solve this problem, Facebook developed Hadoop Fair
Scheduler (HFS) and improved it with Delay Scheduling [41]
to get better data locality and throughput. HFS calculates each
tasks fair share, sorts them in increasing order, and then
picks the one with least fair share when there are empty slots.
In the scenario above, HFS will schedule the shorter job first
when it receives low fair share, thus finishing the shorter job
before the longer one completes, by sacrificing only a little
delay for a dramatically faster response time of the second job.
On the other hand, Yahoo developed Capacity Scheduler [42]
to deal with the same scheduling problem. By guaranteeing the
capacity of the queues for different jobs, Capacity Scheduler
can also achieve fairness, but it requires a more sophisticated
control over the cluster. In summary, these two schedulers
are not focused on pursuing the optimal solution; rather,
they try to enhance the response time of each job. As such,
this paper is aimed at demonstrating that by estimating and
predicting the processing speed and completion time of each
machine and each job, HHSA can generate feasible solutions
that optimize the makespan not taken into consideration by
the other schedulers. In addition, our experiments show that
HHSA can eventually provide better solutions in terms of
makespan.
In addition to non-metaheuristic scheduling algorithms, an
alternative is the heuristic scheduling algorithms [9] that can
be used to provide better scheduling plans than do the rulebased scheduling algorithms for cloud computing. As shown
in Fig. 1(a), the basic idea of heuristics is to use three
key operatorstransition, evaluation, and determination
to search for the possible solutions on the convergence
process. Note that in Fig. 1(a), t denotes the iteration number;
tmax the maximum number of iterations or the stop criteria.
More precisely, the transition operator creates the solution
s, by using methods which could be either perturbative or
constructive or both [43]; the evaluation operator measures the
fitness of s by using a predefined measurement; and then the
determination operator determines the next search directions
based on the s from the transition operator and the evaluation
operator. Because heuristics use tactical guess to find the
possible solutions, it has a much better chance to find a better
result than do most rule-based deterministic algorithms.
2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing
IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX
Input
H
H1
LLH Selection
Transition
H1
H2
Input
TED
Input
Evaluation
t=t+1
Determination
t = tmax ?
No
Yes
Fig. 1.
TED
t=t+1
Hn
t = tmax ?
Yes
Output
Output
(a)
(b)
No
No
Hn
Hi
t=t+1
Accepted?
Yes
t = tmax ?
No
Yes
Output
(c)
2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing
IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX
2
3
4
5
6
7
8
9
10
11
12
13
14
23
SA
22
21
best so far makespan
20
19
18
17
16
15
0
200
400
600
23
Fig. 2.
800
1000
Iteration
GA
22
21
20
19
18
17
16
15
0
200
400
600
800
1000
Iteration
if H S and F2 = true,
if H P and F1 = true and F2 = true,
otherwise.
(3)
false
true
(4)
2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing
IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX
GA
PSO
ACO
Hi
N
population-based?
Diversity detection
Improvement detection
Perturbation
Fig. 4.
Host
Host
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
(a)
task
virtual task
(
true D(Z) > ,
F2 =
false otherwise.
1
(5)
s
f
(zbest ) f (zworst )
max
Tk =
>
:Tmax max 1
max
N
if Hi P,
(6)
otherwise,
(b)
Fig. 5. Example showing how CloudSim works by assigning tasks to VMs.
(a) virtual machines. (b) workflow tasks.
B. An Example
A simple example is given in Fig. 4 to depict how HHSA
works. As this example shows, there are two cases to deal with:
one is SSBHAs while the other is PBHAs. If the randomly
selected algorithm is an SSBHA, such as simulation annealing
(SA), then it will be evolved by using the improvement
detection operator to check if there is an improvement in the
fitness of the current solution. On the contrary, if a PBHA
is chosen, it is the diversity of the current solutions (i.e., the
solutions in the population) that will be checked by using the
diversity detection operator before the improvement detection
operator is applied. After that, the perturbation operator will
be applied to either the current solution or the population
before they are passed on to the newly selected LLH. This
process will be repeated until the stop condition is reached. As
shown in Fig. 4, the hyper-heuristic algorithm contains many
low-level heuristic algorithms. After the candidate low-level
heuristic algorithms to be in the pool are decided, the proposed
algorithm will randomly select a low-level heuristic algorithm
Hi from the pool. Then, if Hi is a PBHA, the proposed
algorithm will first perform the diversity detection operator.
Finally, for both the PBHA and SSBHA, the improvement
detection and perturbation operators will be performed. The
process will be repeated until a new low-level heuristic algorithm is selected.
2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing
IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX
TABLE I
PARAMETER SETTINGS OF THE FIVE CLOUD SCHEDULING ALGORITHMS
FOR W ORKFLOW S CHEDULING ON C LOUD S IM
Algorithm
SA
GA
ACO
PSO
HHSA
Parameters
temperature t = 10
temperature reduce rate tr = 0.9
mutation probability m = 0.95
pheromone updating fact = 0.1
choosing probability q0 = 0.85
related influence weights = = 1
inertia weight = 0.8
acceleration coefficient c1 = c2 = 1.0
max iteration of low-level algorithm max = 50
non-improved iteration threshold ni = 5
V. R ESULTS
In this section, two kinds of scheduling problems are used
to evaluate the performance of the proposed algorithm. One
is the workflow scheduling problem; the other is the Hadoop
map-task scheduling problem.
A. Workflow Scheduling on CloudSim
1) Datasets and Parameter Settings: CloudSim [14] is a
tool for emulating a cloud computing environment. In this
study, CloudSim is used as the emulator in solving the workflow scheduling problem. As shown in Fig. 5(a), CloudSim can
be used to construct a data center with a set of virtual machines
as the resource. Each task of a workflow can be started by
assigning it to a VM once its parent tasks are completed. For
example, as shown in Fig. 5(b), task 3 will be started once
its parent tasks 0 and 1 are completed. Besides, the starting
and ending tasks, s and e, are virtual task and are not to be
assigned to any VM. For more details and other workflow
examples, readers are referred to [49] and [50].
The empirical analysis was conducted on an ASUS PC with
2.67 GHz Intel i7-920 CPU and 4GB of memory running
Fedora 12 with Linux 2.6.31 and using CloudSim to construct
four virtual machines in a data center. The workflow datasets
from the studies described in [51], [52] and PSPLIB [53]
are employed to compare the performance of the proposed
algorithm and other scheduling algorithms evaluated in this
paper. Among these datasets, the e-Economic, fMRI, and
protein annotation have, respectively, 10, 15, and 15 tasks
[51], [52] while the j30, j60, and j90 have, respectively, 30,
60, and 90 tasks [53]. More precisely, fMRI is a dataset for
evaluating workflow that can be processed in parallel while
e-Economic is a dataset for evaluating workflow that can be
processed sequentially. For a scheduling problem, the dataset
of [53] contains serial and parallel tasks. Each simulation was
carried out 30 runs. The maximum number of iterations each
run is set equal to 1,000. The population size is set equal to
50 for PBHAs. In HHSA, the maximum number of iterations
of low-level algorithm max is set equal to 50, and the nonimproved iteration threshold ni is set equal to 5. The other
parameter settings of the scheduling algorithms are as shown
in Table I.
2) Simulation Results of Workflow Scheduling: To evaluate
the performance of HHSA for the workflow scheduling problem, we compare it with two traditional rule-based algorithms
and four heuristic algorithms, namely, min-min [54], maxmin [54], simulated annealing [55], genetic algorithm [56],
particle swarm optimization [57], and ant colony optimization
[58]. For the datasets e-Economic, e-Protein, and fMRI, the
results in Table II show that heuristics usually can find better
results than traditional scheduling algorithms (i.e., min-min,
max-min, and FIFO) in terms of makespan. In addition, the
results of ACO are similar to those of the proposed algorithm
for the first three datasets shown in Table II. For the large
datasets, j30, j60, and j90, the results of four heuristics (SA,
GA, PSO, and ACO) are better than min-min, max-min, and
FIFO. Moreover, the results also show that HHSA outperforms
all the other scheduling algorithms, namely, min-min, maxmin, FIFO, SA, GA, PSO, and ACO for the last three datasets
shown in Table II.
The results of best-so-far makespan given in Fig. 6 show
that the min-min and max-min get almost exactly the same
makespan in all iterations. For the SA, the higher the temperature which will get a larger fine-tune rate for the current
solution, the poorer the best-so-far makespan compared to
the other non-traditional algorithms at the early iterations. On
the other hand, with a lower temperature, SA will converge
quickly. For the population-based heuristic algorithms GA,
PSO, and ACO, the search directions will converge in about
500 iterations. Fig. 6 also shows that HHSA converges faster
than the other heuristic algorithms, and it usually takes no
more than 200 iterations. In addition, because HHSA is able to
automatically choose the suitable low-level heuristic algorithm
and use the perturbation method to improve the results, the end
results of HHSA are usually better than the other scheduling
algorithms, especially for complex and large-scale problems.
A closer look at these simulation results shows that the maxmin algorithm does not scale well as the number of tasks
increases. For example, for small datasets, the results depicted
in Fig. 6(a), (b), and (c) show that max-min can provide a
result that is close to the other heuristic scheduling algorithms
in terms of the makespan (more precisely, the differences are
no more than 3). However, as the number of tasks increases,
the results described in Fig. 6(d), (e), and (f) show that the
differences between max-min and other heuristic scheduling
algorithms are also increased. For instance, Fig. 6(d) shows
that the differences between max-min and other heuristic
scheduling algorithms are more than five; Fig. 6(e) and (f)
show that the differences between them are more than ten. On
the other hand, for the min-min algorithm, the results given in
Fig. 6(d), (e) and (f) show that min-min is closer to the other
heuristic scheduling algorithm than max-min for large-scale
datasets. Fig. 6 also provides the convergence information
of the scheduling algorithms compared in this study. The
results given in Fig. 6(a) show that the search process of
these scheduling algorithms will converge to a stable state
very quickly when the dataset is small. A good example is
the results of ACO and HHSA, which show that the result at
iteration 100 is very close to the result at iteration 1,000. But
the results depicted in Fig. 6(b) show that the search process
of ACO and HHSA can still find a better result after iteration
100, meaning that the heuristic scheduling algorithms still have
a chance to find a better result at later iterations when the
2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing
IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX
TABLE II
S IMULATION RESULTS OF THE WORKFLOW SCHEDULING ALGORITHMS EVALUATED IN THIS STUDY
dataset
min min
max min
FIFO
SA
GA
Average
5.91
5.50
7.00
5.17
5.21
Best
5.91
5.50
7.00
5.16
5.16
e-Economic
Worst
5.91
5.50
7.00
5.25
5.41
S.D.
0.00
0.00
0.00
0.02
0.09
Average
8.75
8.75
9.38
7.87
7.76
Best
8.75
8.75
9.38
7.62
7.50
e-Protein
Worst
8.75
8.75
9.38
8.25
8.25
S.D.
0.00
0.00
0.00
0.17
0.27
Average
10.0
10.0
10.7
9.74
9.64
Best
10.0
10.0
10.7
9.50
9.50
fMRI
Worst
10.0
10.0
10.7
10.0
10.0
S.D.
0.00
0.00
0.00
0.16
0.14
Average
18.7
20.3
20.5
16.7
15.8
Best
18.7
20.3
20.5
16.0
15.0
j30
Worst
18.7
20.3
20.5
17.5
16.5
S.D.
0.00
0.00
0.00
0.35
0.35
Average
37.5
41.1
41.5
35.9
33.2
Best
37.5
41.1
41.5
34.0
31.5
j60
Worst
37.5
41.1
41.5
38.8
34.6
S.D.
0.00
0.00
0.00
0.97
0.78
Average
56.0
61.9
54.0
55.9
50.8
Best
56.0
61.9
54.0
53.1
48.5
j90
Worst
56.0
61.9
54.0
59.8
53.7
S.D.
0.00
0.00
0.00
1.71
1.20
N.B.: The units of measurement for each column is in seconds. S.D. represents
10
5.8
5.6
MIN_MIN
MAX_MIN
SA
GA
PSO
ACO
HHSA
11
best so far makespan
11.5
MIN_MIN
MAX_MIN
SA
GA
PSO
ACO
HHSA
10.5
6.2
best so far makespan
11
MIN_MIN
MAX_MIN
SA
GA
PSO
ACO
HHSA
6.4
PSO
ACO
HHSA
5.26
5.16
5.16
5.16
5.16
5.16
5.75
5.16
5.16
0.13
0.00
0.00
7.83
7.50
7.50
7.50
7.50
7.50
8.5
7.50
7.50
0.28
0.00
0.00
9.66
9.50
9.50
9.50
9.50
9.50
10.0
9.50
9.50
0.15
0.00
0.00
16.2
15.8
15.4
15.6
15.5
15.0
17.0
16.2
15.8
0.39
0.18
0.15
34.2
32.7
31.9
32.3
31.6
31.0
36.5
33.2
32.5
1.08
0.34
0.46
51.2
48.9
48.0
49.0
48.2
47.0
54.6
49.8
48.7
1.44
0.33
0.46
the standard deviation.
9.5
9
8.5
10.5
10
5.4
8
5.2
9.5
7.5
5
200
400
600
800
1000
200
400
Iteration
800
1000
24
200
400
50
21
20
19
18
800
1000
(c) fMRI
MIN_MIN
MAX_MIN
SA
GA
PSO
ACO
HHSA
45
best so far makespan
22
600
Iteration
(b) e-Protein
MIN_MIN
MAX_MIN
SA
GA
PSO
ACO
HHSA
23
MIN_MIN
MAX_MIN
SA
GA
PSO
ACO
HHSA
70
65
40
60
55
35
17
50
16
15
30
0
200
400
600
800
1000
200
400
Iteration
(d) j30
Fig. 6.
Iteration
(a) e-Economic
600
600
Iteration
(e) j60
800
1000
200
400
600
800
1000
Iteration
(f) j90
2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing
IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX
Map
Task
Job
Reduce
slot
TABLE IV
DATASET GENERATED FOR BENCHMARK
slot
1
slot
slot
slot
2
# Maps
1
2
3-20
21-60
% Jobs in Benchmark
56%
14%
16%
14%
# Jobs in Benchmark
28
7
8
7
slot
slot
Fig. 7.
TABLE III
PARAMETERS OF THE FIVE CLOUD SCHEDULING ALGORITHMS
EVALUATED
Algorithm
SA
GA
ACO
PSO
HHSA
Parameters
temperature t = 10
temperature reduce rate tr = 0.9
mutation probability m = 0.95
trail persistence = 0.8
choosing probability q0 = 0.85
relative importance = = 1
inertia weight = 0.8
acceleration coefficient c1 = c2 = 1.0
the max number of iterations of LLH max = 50
the max number of non-improved iterations ni = 10
size of each map task. The size of each reduce task remains
unknown. Since the makespan of each reduce task cannot be
predicted, only map task scheduling is applicable. Therefore,
for the proposed algorithm, our focus is on scheduling tasks
to map slots.
As mentioned previously, in addition to the size of each
map task, we also need the processing speed of each task. To
obtain this critical attribute, the algorithm first checks if the
job exists in the record of processing speed. If not, one of the
tasks in the job will be prioritized and scheduled immediately.
After the map task is finished, we can divide the size of the
map task by the processing time to get the speed which then
can be used to calculate the processing time of the rest of the
map tasks and to predict the total makespan.
In order to simulate the production environment, the job
inter-arrival times in the experiment are roughly exponentially
distributed with a mean of 14 seconds, as randomly sampled
from a Facebook trace [41]. The datasets for the grep jobs on
Hadoop are strings each of size 100 bytes and each on a line
by itself randomly generated using a Python script. The sizes
and submission periods are also randomly generated based on
the statistics described in [41]. Fifty jobs are submitted in the
experiment, and the total submission schedule is 13 minutes
long. The sizes and the distributions of the jobs are as listed
in Table IV. In this study, we also tried submitting larger jobs
in a shorter period. More precisely, in the test, jobs to sort two
1GB, two 3GB, two 5GB, and one 10GB files are submitted
in one minute.
In this study, Hadoop was running on both single-node
(machine) and multi-node setups in a virtualized environment.
The single-node setup is an Intel i7-3820 with 64G RAM,
which runs Gentoo Linux with kernel version 3.7.10. Hadoop
was compiled from source version 1.1.3 using sun-jdk-1.6
toolchain. By properly configuring the map and task capacities
of Hadoop, a single machine can still provide multiple working
2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing
IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX
10
TABLE V
P ERFORMANCE OF HHSA ON H ADOOP WITH S INGLE -N ODE ( IN
SECONDS )
Task Type
grep
Log Analyzer
TeraSort
Average
Best
Worst
S.D.
Average
Best
Worst
S.D.
Average
Best
Worst
S.D.
FIFO
858
857
862
1.00
1065
1042
1094
14.93
904
838
1024
43.54
Fair Scheduler
861
859
864
1.41
1040
1037
1048
2.65
756
710
833
29.42
TABLE VI
P ERFORMANCE OF HHSA ON H ADOOP WITH M ULTI -N ODE ( IN SECONDS )
Task Type
grep
Log Analyzer
TeraSort
Average
Best
Worst
S.D.
Average
Best
Worst
S.D.
Average
Best
Worst
S.D.
FIFO
851
848
861
2.23
795
752
832
21.07
1180
1077
1326
65.12
Fair Scheduler
852
843
861
3.87
802
749
876
26.67
1096
1027
1249
46.97
HHSA
853
848
861
3.16
793
741
829
22.56
1046
932
1178
66.02
TABLE VII
P ERFORMANCE OF HHSA ON C LOUD S IM AND H ADOOP ( IN SECONDS )
Platform
HHSA
859
850
866
5.19
1037
1018
1048
6.78
626
531
829
66.98
CloudSim
Hadoop (Multi-Node)
Average
Best
Worst
S.D.
Average
Best
Worst
S.D.
FIFO
989
989
989
0.00
1180
1077
1326
65.12
HHSA
952
937
980
12.29
1046
932
1178
66.02
TABLE VIII
PARAMETER SETTINGS FOR THE ANALYSIS
Parameter
max number of iterations ()
max number of iterations of LLH (max )
max number of non-improved iterations (ni )
Settings
250, 500, 750, 1000
[20, ]
[1, ]
2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing
IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX
26.05
50.2
250
500
750
1000
26
25.95
250
500
750
1000
50.1
25.9
50
25.85
49.9
makespan
makespan
11
25.8
25.75
49.8
25.7
49.7
25.65
49.6
25.6
49.5
25.55
25.5
49.4
0
200
400
600
LLH max iterations
800
1000
1000
166
makespan
makespan
800
250
500
750
1000
166.5
75.4
75.2
165.5
75
165
74.8
164.5
74.6
164
0
200
400
600
LLH max iterations
800
1000
400
600
LLH max iterations
167
250
500
750
1000
75.6
200
200
400
600
LLH max iterations
800
1000
50.3
250
500
750
1000
26
50.1
50
makespan
25.9
makespan
250
500
750
1000
50.2
25.8
25.7
49.9
49.8
49.7
49.6
25.6
49.5
25.5
49.4
0
200
400
600
non-improve iterations
800
1000
75.8
800
1000
250
500
750
1000
166.5
166
makespan
75.6
makespan
400
600
non-improve iterations
167
250
500
750
1000
76
200
75.4
75.2
75
165.5
165
74.8
164.5
74.6
74.4
164
0
200
400
600
non-improve iterations
800
1000
200
400
600
non-improve iterations
800
1000
2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing
IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX
Time in seconds
single-node
multi-node
6
5.00
5.10
4.80
2.00
1.93
1.27
0
FIFO
Fair
HHSA
Scheduler
(a) grep
500
single-node
multi-node
Time in seconds
432.60
400
381.93
374.90
378.57
303.97
300
266.03
200
FIFO
Fair
HHSA
Scheduler
(b) TeraSort
Fig. 10.
12
a reasonable time is needed. This explains why a hyperheuristic-based scheduling algorithm is presented in this paper,
which uses various search strategies to solve the scheduling
problem of a cloud for providing a better result than traditional scheduling algorithms and other heuristic scheduling
algorithms do. Because the design of the proposed algorithm
is not for a particular cloud system, it can be applied to
many applications that require task scheduling, such as science computing on Cloud. But the high latency inherent in
the heuristic-based algorithms will make them unsuitable for
the low-level scheduling of IaaS. Moreover, to the best of
our knowledge, there exists no general and efficient way to
automatically determine the number of resources that is used
for each application for a very simple reason. The number
of resources required may differ for different input to the
application.
Compared to most traditional rule-based deterministic
scheduling algorithms (e.g., min-min, max-min, and FIFO)
that use only one search direction, the proposed algorithm
uses multiple search directions at each iteration during the
convergence process, thus having a higher chance to find a
better result than the rule-based deterministic algorithms do.
The results depicted in Sections V-A2 and V-B2 and Table VI
show that in terms of makespan, the proposed algorithm outperforms the traditional scheduling algorithms in most cases,
for not only the single-node but also the multi-node datasets.
Compared to the other heuristic scheduling algorithms, the
proposed algorithm, again in terms of makespan, can still
provide a better result than the other heuristic scheduling
algorithms, in terms of not only the results of CloudSim
but also the results of Hadoop, as shown in Sections V-A2
and V-B2. One of the reasons that can be easily justified is
that HHSA leverages the strengths of many search strategies
provided by different heuristic scheduling algorithms (lowlevel algorithms), thus making it more diverse in terms of
the directions for which it searches during the convergence
process, especially when compared to the other heuristic
scheduling algorithms.
For the stability issue, HHSA is not designed for interconnectivity and locality because they will degrade the performance of Hadoop. As the authors of [62] pointed out, if
the nodes of a virtualized Hadoop cluster actually reside in
the same physical node, the overhead incurred for transferring
data between these nodes is generally smaller than transferring
the data between physical nodes. Hence, if the overhead of
connection is too large but the scheduling problem is too small,
the performance of the proposed algorithm will be degraded;
otherwise, the performance of the proposed algorithm will be
better than the other scheduling algorithms, especially when
the scheduling problem becomes too complex or too large.
VI. C ONCLUSIONS
This study presents a high-performance hyper-heuristic algorithm to find better scheduling solutions for cloud computing systems. The proposed algorithm uses two detection
operators to automatically determine when to change the lowlevel heuristic algorithm and a perturbation operator to finetune the solutions obtained by each low-level algorithm to
2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing
IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX
13
2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/TCC.2014.2315797, IEEE Transactions on Cloud Computing
IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. X, NO. X,JANUARY XXXX
14
2168-7161 (c) 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See
http://www.ieee.org/publications_standards/publications/rights/index.html for more information.