Bees Life Algorithm for Job Scheduling in Cloud Computing

Bees Life Algorithm for Job Scheduling
in Cloud Computing
Salim Bitam
Computer science department
Mohamed Khider University of Biskra
Po. Box 145 Biskra, Algeria
[email protected]
Infrastructure-as-a-Service (IaaS) refers to where the
application is carried out via useful functions and services
provided in the cloud. Between SaaS and IaaS, there are cloud
platform services known as Platform-as-a-Service (PaaS)
deliver operating system, programming language and solution
stack. It aims to improve the applications deployment cost and
reduce its complexity. It can be seen that the cloud resource use
can be simplified and efficiency operated by the scheduled
services use in an optimal manner in the interest of the endusers.
Abstract—Cloud computing is known as digital service delivery
over the Internet by several applications which are carried out by
computer systems in distributed datacenters. It supplies a high
performance computing based on protocols which allow shared
computation and storage over long distances. In this paper, we
present a new Bee Swarm optimization algorithm called Bees
Life Algorithm (BLA) applied to efficiently schedule computation
jobs among processing resources onto the cloud datacenters. It is
considered as NP-Complete problem and it aims at spreading the
workloads among the processing resources in an optimal fashion
to reduce the total execution time of jobs and then, to improve
the effectiveness of the whole cloud computing services. BLA has
been inspired by bees’ life in nature represented in their most
important behaviors which are reproduction and food source
searching. In order to evaluate the effectiveness and the
performance of this proposal, a set of experimental tests has been
conducted. After comparison with genetic algorithm (GA) as
conventional algorithm in this area, the reached results showed
that BLA outperforms GA in terms of execution time (makespan)
with the least complexity.
For example, Amazon Elastic Compute Cloud (EC2) is an
IaaS cloud, and is the most well known cloud. Through the use
of virtual machines EC2, clients create as many (virtual)
machines they require and then host all their required services
after an optimized scheduling within the machines. EC2 clients
are charged per CPU hour per virtual machine. It is even
possible to create a cluster within EC2 by requesting EC2 to
create multiple instances of a base virtual machine and then
installing the required cluster software into each machine [4].
Consequently, it is required to apply a special approach that
guarantees the distribution of the workload across thousands
datacenters to serve tens of thousands of end-user queries per
second; it is the job scheduling approach. In other words, we
consider the problem of load balancing that has the objective of
finding an allocation of jobs to datacenters that yields an equal
or approximately equal expected response time for all the jobs.
In the cloud, the commodity servers are used to perform the job
scheduling in order to provide new opportunities and
economies of scale [5].
Keywords- cloud computing; job scheduling; bees life
algorithm; genetic algorithm;
I.
INTRODUCTION
The cloud computing is a recent field in the computational
intelligence techniques which aims at surmounting the
computational complexity and provides dynamically services
using very large scalable and virtualized resources over the
Internet. It is defined as a distributed system containing a
collection of computing and communication resources located
in distributed datacenters which are shared by several endusers. There are two kinds of the cloud; the former is the public
cloud in which services may be sold to anyone on the Internet.
Here, Amazon Elastic Compute Cloud (EC2) [1], Google App
Engine [2] are large public cloud providers. The second type of
the cloud is the private cloud. It is a proprietary network or a
datacenter that supplies hosted services to a limited number of
clients (end-users). Cloud computing allows users to run
applications remotely including information technology
services called Software-as-a-Service (SaaS) [3]. Besides,
© ICCIT 2012
To take up this challenge, we propose in this paper an
efficient algorithm called Bees Life Algorithm (BLA) inspired
by the bees’ colony life. It aims at an optimal job scheduling by
assigning end-user tasks to the relevant datacenters in an
optimal way.
The remainder of the paper is organized as follows: the
next section gives the state of the art of the cloud job
scheduling as well as the problem statement. Section 3 gives
detailed description of the proposed algorithm. In order to
evaluate our proposal, an implementation by C++
186
processing time for parallelized tasks is the use of an
appropriate load balancer to distribute and assign tasks to
agents with less workload.
programming language has been realized, followed by the
experimental results, comparisons and discussions. They are
included in section 4. Finally, we conclude the paper and we
list some future researches.
II.
[11] described Ursa system which scales to a large number
of storage nodes and objects and aims to minimize latency and
bandwidth costs during system reconfiguration. This proposal
deals with an optimization problem that selects a subset of
objects from hot-spot servers and performs topology-aware
migration to minimize reconfiguration costs. The evaluation
study achieved cost-effective load balancing while scaling to
large systems and is time-responsive in computing placement
decisions.
RELATED WORK
A. Job scheduling in cloud computing: A State of the art
In the last years, the job scheduling problem in the cloud
computing has been studied in few research activities because
of the novelty of this research discipline however; we can
mention the following approaches. As related work, we
mention the work proposed in [6] which developed a load
balancing framework for high-performance clustered storage
systems. It provides a general method for reconfiguring a
system facing dynamic workload changes. It simultaneously
balances load and minimizes the cost of reconfiguration. The
effectiveness of this framework is demonstrated by balancing
the workload on a NetApp Data ONTAP GX system, a
commercial scale-out clustered NFS server implementation.
As our inspiration idea is the bees’ life in nature, we can
mention some works in this context. In [12] a population-based
metaheuristic inspired by the natural foraging behavior of
honey bees called Bees Algorithm. It starts with a number of
scout bees being placed randomly in the search space. The best
sites visited in point of view fitness are chosen as selected bees
which will be foraged their close sites to carry out a
neighborhood search.
[7] investigated the design of a power-aware application
placement controller (called pMapper) to ensure a workload
placement on heterogeneous virtualized server clusters. It takes
into account the cost-aware application placement problem as
well as minimizing power subject to a fixed performance
requirement. Authors established the superiority of their
proposal under most settings over other power unaware
algorithms as well as power aware algorithms both
theoretically and experimentally.
Another algorithm based on the reproduction behavior
principle in the bee colony has been proposed in [13]. It is
called marriage in honey bees optimization algorithm. It starts
with initializing the queen’s genotype at random and then a
heuristic is applied to improve the queen’s genotype, therefore
preserving the assumption that a queen is usually a good bee.
Next, a set of mating–flights is undertaken relatively to the
queen’s energy and speed. The queen then moves between
different states (solutions) in the space and mates with the
encountered drones according to probability criterion. After
laying, the queen is replaced with the fittest brood and so on.
In [8], authors explored a novel approach (called Rhizoma)
similar to P2P systems in which the cloud application to be
managed should expresses its resource requirements to the
runtime as a constrained optimization problem. Then, Rhizoma
fuses multiple real-time sources of resource availability data,
from which it decides to acquire or release resources. Rhizoma
results showed its performance. Nevertheless, this approach
can be enhanced to run across multiple clusters and
commercial utility computing providers.
B. Problem statement and notations
Job Scheduling aims at assigning jobs to datacenters in the
cloud so that the execution time (makespan) of the overall tasks
of jobs is minimized. This problem can be formulated as
follows.
We denote by:
Authors of [9] proposed to use statistical models to predict
resource requirements for Cloud computing applications. Such
a prediction proposal can help system design to reach
scalability, job scheduling, resource allocation, and workload
management. Also, they proposed an initial design of a
workload generator in order to evaluate alternative
configurations without the overhead of reproducing a real
workload. They argued that an effective prediction model is a
prerequisite for a good workload generator.
Jobs = {J1, J2,..., Ji,…, Jn}, a set of ‘n’ jobs to be scheduled.
Moreover, we consider for each job ‘i’:
JobiTasks = {JTaski1, JTaski2,..., JTaskim}, as a set of ‘m’
task partitions of Jobi disseminated among ‘m’ cloud
datacenters (DCs) in order to be executed. Consequently, each
cloud datacenter can carries out a disjoint subset of the
decomposed jobs set. For its assigned jobs, DCj ensures the
execution of their tasks as follows:
The purpose of [10] is to propose an approach for the
storage and analysis of very-large images on the cloud. This
service has been implemented using multiple distributed and
collaborative agents. For this purpose, a region-oriented data
structure is utilized, which allows storing and describing image
regions as jobs to be carried out. As basic idea to decrease
DCjTasks = {JTaskaj, JTaskbj,..., JTaskrj}
The union of these overall disjoint subsets gives the whole
set of jobs. For example, DCj carries out:
DCjTasks = {JTask3j, JTask6j,..., JTask9j} which are tasks of
jobs J3, J6 …, and J9 respectively.
187
following bees represent the drones and the remaining bees are
the workers. Consequently, the sum of the different bee
individuals (1, D and W) equal to the population size (N). ‘D’
and ‘W’ are considered as a two user-defined parameters. Each
cycle of a bee population life consists of two bee behaviors:
reproduction and food foraging respectively. In reproduction
behavior, the queen starts mating in the space by mating-flight
with the drones using crossover and mutation operators. Next,
queen starts breeding ‘N’ broods in step 4. Then, the evaluation
of the brood fitness is performed (steps 5). If the fittest brood is
fitter than the queen, it will be considered as the new queen for
the next population. Moreover, ‘D’ best bee individuals are
chosen among the ‘D’ fittest following broods and the drones
of the current population to form the drones of the next
population.
Therefore, the total execution time of all job tasks (‘r’
tasks) assigned to DCj would be:
Makespan(DCjTasks) =
Max (JTaskkj.StartTime + JTaskkj.ExeTime)
Where JTaskkj.StartTime is the time when job task ‘k’
JTaskkj starts executing on DCi and JTaskkj.ExeTime is the
execution time of JTaskkj at DCj.
Thus, the job scheduling problem in the cloud computing
could be defined as searching of a set:
DCTasks = {DC1Tasks, DC2Tasks,…, DCmTasks} and:
DCjTasks = {JTaskaj, JTaskbj, ..., JTaskrj} with 0 < r ≤ n
which reduces: Makespan(DCjTasks)
After that, ‘W’ best bee individuals are chosen among the
‘W’ fittest remaining broods and the workers of the current
population in order to ensure the food foraging (steps 6 to 8).
In step 9, the ‘W’ workers search food source in ‘W’ regions
of flowers. We consider that each worker represents one
region and there are other bees for each region recruited and
employed to search the best food source among the different
food sources in the region (step 10). The recruited bees
represent neighbor solutions in the search space used to ensure
neighborhood search. BLA uses more recruited bees for the
‘B’ best regions among ‘W’ regions. ‘B’ is user-defined
parameter. For each region in step 11, only the bee with the
highest fitness will be selected to form the next bee
population. The evaluation of the new population fitness is
executed in step 12. If the stopping criterion is not satisfied, a
new bees’ life cycle is performed, and then we rerun the third
step and so on.
In order to evaluate the quality of the requested solution
(DCTasks), a fitness function is defined as follows (used to
calculate the above makespan):
Fitness(DCTasks) = Σ (Fitness(JTaskij, DCj)) where (1≤ j ≤m)
and Fitness(JTaskij, DCj) = JTaskij.TimeToExe
where, JTaskij.TimeToExe is the execution time of task of job
‘i’ needs to run in DCj.
III.
BEES LIFE ALGORITHM
In this section, our proposal is presented. First, the life of
bees in nature is overviewed as an inspiration source of this
algorithm. It will be followed by its detailed description.
A. Bees in nature
As a social and domestic insect, the bee is native to Europe
and Africa. The bees feed on nectar as a source of energy in
their lives and use pollen as a source of protein in the rearing
larvae. The bee colony contains generally, a single breeding
female called Queen, a few thousands of males known as the
Drones, a several thousands of sterile females called Workers,
and many young bee larvae called Broods.
1. Initialize population (N bees) at random
2. Evaluate fitness of population (fittest bee is the queen, D
fittest following bees are drones, W fittest remaining bees
are workers)
3. While stopping criteria are not satisfied (Forming new
population)
/* reproduction behavior */
4. Generate N broods by crossover and mutation
5. Evaluate fitness of broods
6. If the fittest brood is fitter than the queen then replace the
queen for the next generation
7. Choose D best bees among D fittest following broods and
drones of current population (Forming next generation
drones)
8. Choose W best bees among W fittest remaining broods and
workers of current population (to ensure food foraging)
/* food foraging behavior */
9. Search of food source in W regions by W workers
10. Recruit bees for each region for neighborhood search
(more bees (FBest) for the best B regions and (FOther) for
remaining regions)
11. Select the fittest bee from each region
The bees share a communication language of extreme
precision, based on two kinds of dances: the round dance when
food is very close. They are carried out when bees search food.
The bees’ reproduction is guaranteed by the queen. It will mate
with several males in full flight, until her spermatheca is full.
The unfertilized egg will give rise to a drone, while, the
fertilized egg gives rise to worker or queen depending on food
quality [14].
B. Bees Life Algorithm description
Bees Life Algorithm presented in figure 1 and figure 2,
starts with bee population initialization step which contains N
bees (individuals) chosen randomly in the search space. The
population fitness is evaluated in the second step. A bee
population contains ‘1’ queen, ‘D’ drones and ‘W’ workers in
which the fittest bee represents the queen, the ‘D’ fittest
188
To evaluate each individual, the above fitness function is
applied. For this step, each task is characterized by its
execution time (JTaskij.TimeToExe).
12. Evaluate fitness of population (fittest bee is the queen, D
fittest following bees are drones, W fittest remaining bees
are workers)
13. End while
We choose to apply a dynamic stopping criterion. The BLA
iterations are carried out and stopped only when the fitness
does not change during ‘NS’. It is the stagnation state. The
number ‘NS’ is a user parameter. Note that this process is
limited by an iteration maximum number ‘ItMax’.
Figure 1. Bees Life Algorithm pseudo-code
Encoding
Population initialization
D. Optimization operators of BLA
Evaluation fitness
Yes
Stopping criterion
To ensure the diversity in the generation of populations,
two genetic operators are applied in the reproduction phase:
crossover and mutation. Nevertheless, in the foraging phase,
we define a greedy approach to ensure a neighborhood search
in order to optimize the found individual among its neighbors.
In the following sections, these operators are illustrated.
Output
No
Reproduction
1) Crossover
Selection (Drones)
It is a binary operator in which the queen mates with one
drone randomly chosen. This process is repeated until reaching
‘N’ individuals with crossover probability of ‘Pc’. In this paper,
we applied two-point crossover as shown in figure 3. Parents
are splitting at these two points chosen randomly to create
children after exchanging the extremities with correction if
children do not belongs to the search space.
Crossover
Mutation
Food foraging
Selection (Workers)
Before crossover: Parents
Foragers’ recruitment
Pi={<JTaskai, JTaskbi, JTaskci, JTaskdi, JTaskei,...,JTaskri>}
Evaluation fitness
Pj={<JTaskAj,JTaskBj, JTaskCj,JTaskDj, JTaskEj,...,JTaskRj>}
After crossover: Children
Figure 2. Flowchart for the BLA
Pi={<JTaskai, JTaskBi, JTaskCi, JTaskDi, JTaskei,...,JTaskri>}
C. Individual representation, evaluation and stopping
criterion
The encoding system used in this work to represent the
individuals is the list of strings as dynamic data structure. Each
population contains ‘N’ individuals (solutions) where each one
is represented by a set of datacenter. Each datacenter carried
out a set of job tasks as follows:
Pj={<JTaskAj,JTaskbj, JTaskcj, JTaskdj, JTaskEj,...,JTaskRj>}
Figure 3. 2-point crossover operator
2) Mutation
It is a unitary operator in which the child has the chance to
be mutated according to the mutation probability of ‘Pm’. We
propose the mutation operator in which a random selected task
will be chosen and replaced by another random selected task in
the same datacenter as shown in figure 4 and so on for the
other datacenters. If the new individual do not belongs to the
search space, a correction process is carried out.
DCTasks = {DC1Tasks, DC2Tasks,…, DCmTasks} : set of
datacenters.
Each datacenter contains a set of affected job tasks as
follows:
Child before mutation:
DCjTasks = {JTaskaj, JTaskbj, ..., JTaskrj}
Ci={<JTaskai, JTaskbi, JTaskci, JTaskdi, JTaskei,...,JTaskri>}
The BLA initialization aims at the generation of the first
population in which ‘N’ individuals are randomly selected. For
example, the following individuals are selected:
Child after mutation:
Ci={<JTaskai, JTaskXi, JTaskci, JTaskdi, JTaskei,...,JTaskri>}
DCTasks={DC1Tasks,DC2Tasks,…,DCmTasks}
Figure 4. Mutation operator
={<JTaska1,JTaskb1,...,JTaskr1>,<JTaska’2,JTaskb’2,...,JTaskr’2
>,…,<JTaska”m,JTaskb”m,...,JTaskr”m>}
189
3) Greedy local search approach
IV.
In the foraging part of BLA, we propose to use a greedy
approach as local search process in order to reach the best
individual in the neighborhood from the original individual. In
this approach, one datacenter task is randomly selected to be
permitted with another task in the nearest datacenter as shown
in figure 5.
EXPERIMENTAL STUDY
A. Experimental settings
In order to evaluate the performance and the effectiveness
of BLA to schedule tasks between datacenters in the cloud, we
propose a set of tests carried out virtual cloud that contains 20
datacenters. We assume that there are 5 jobs to be executed by
the cloud datacenters after scheduling of their parts (Tasks).
Original individual:
Each job can be divided in tasks relevant to the existent
datacenters. Each task is defined by its identifier and the
execution time. To deal with BLA, the user parameters are
chosen as follows: the population size equal to 10 individuals.
The stagnation number of iterations ‘NS’ is fixed in 50
iterations and the iteration maximum number ‘ItMax’ is equal
to 200. Drones number is equal to 4 while workers number is
equal to 5. As practical values, crossover and mutation
probabilities are chosen 0.95 and 0.01 respectively.
DCiTasks={<JTaskai,JTaskbi,JTaskci, JTaskdi,...,JTaskri>}
We assume that DCjTasks is the nearest datacenter to
DCiTasks, where:
DCjTasks={<JTaska’j,JTaskYj,JTaskc’j, JTaskd’j,...,JTaskr’j>}
The, the neighbor individual will be:
DCiTasks={<JTaskai,JTaskYi,JTaskci, JTaskdi,...,JTaskri>}
In the foraging step, we propose to disseminate 30 foragers
(FBest) to exploit 3 regions (B) represented by the 3 best
workers among 5 and only 15 foragers (FOther) are sent to the
2 remainder regions since they are the less promising regions.
Figure 5. Greedy approach for neighborhood search
E. BLA complexity analysis
To analyze the computational resources running time, the
performed complexity of BLA is calculated as follows. First of
all, double O(N) time units are used to choose and to evaluate
N bees which represent the population individuals. It means
that the initialization performs O(N) + O(N) ≈ O(N) time units.
The following table 1 indicates the execution time
(measured in milliseconds) of one task by a datacenter (in this
work, we assume that all tasks possess the same number of
instructions):
The process can be executed in the best case NS times and
in the worst case ItMax times. During the iteration, the
generated number of offsprings is (N × pc) with pc crossover
probability. Among them, ((N × pc) × pm) will be mutated
where pm is the mutation probability.
TABLE I.
DCj
Next, W workers among N ensure the food source foraging
as a greedy local search. FBest foragers are sent to B best
regions and FOthers foragers are sent to the remainder regions
(W-B) regions. Therefore, FBest perform O(FBest × B) time
units however, FOther execute O(FOthers × (W-B)) time units.
The total time complexity of each iteration can be calculated as
follows:
1
2
3
4
5
6
7
8
9
10
Exe.time 10
11
12
10
12
10
10
10
12
12
11
12
13
14
15
16
17
18
19
20
Exe.time 12
11
8
10
12
12
11
10
10
10
DCj
O(N)+O((N×pc)×pm)+O(FBest×B)+O(FOthers×(W-B))
EXECUTION TIME OF ONE TASK INTO DATACENTER
B. Experimental results
After BLA and GA tests executions with the same
parameter settings according to the cloud, the best solutions
found (tasks repartition) in terms of makespan are listed in the
table 2.
≈O(N+((N×pc)×pm)+(FBest×B)+(FOther×(W-B)) time units.
We mention the BLA performs:
in the best case:
TABLE II.
O(NS×(N+((N×pc)×pm)+(FBest×B)+(FOther×(W-B)))
Algo.
and in the worst case:
TASKS REPARTITION USING BLA AND GA
Task repartition between datacenters
Job1Tasks={JTask1 1, JTask1 4, JTask1 6, JTask1 7, JTask1 8}
Job2Tasks={JTask2 1, JTask2 6, JTask2 7, JTask2 8, JTask2 9}
O(ItMax×(N+((N×pc)×pm)+(FBest×B)+(FOther×(W-B)))
GA
Job3Tasks={JTask3 1, JTask3 6, JTask3 7, JTask3 12, JTask3 13,
JTask3 14}
We conclude that BLA performs a linear complexity
which is the least possible.
190
Algo.
conventional algorithm in this context. The obtained results of
BLA prove the efficiency and the performance of the proposed
algorithm in terms of the execution time.
Task repartition between datacenters
Job4Tasks={JTask4 1, JTask4 6, JTask4 7, JTask4 12,
JTask4 13, JTask4 18, JTask4 19}
As perspective, the dynamic job scheduling in the cloud
computing can be studied using BLA in which number of
datacenters can be varied. In addition, another aspect can be
treated such as the execution of jobs in real time.
Job5Tasks={JTask5 1, JTask5 6, JTask5 7, JTask5 12,
JTask5 13, JTask5 18, JTask5 20}
Job1Tasks={JTask1 1, JTask1 4, JTask1 6, JTask1 7, JTask1 8}
Job2Tasks={JTask2 1, JTask2 6, JTask2 7, JTask2 8, JTask2 9}
REFERENCES
Job3Tasks={JTask3 1, JTask3 6, JTask3 7, JTask3 8, JTask3 13,
BLA
JTask3 14}
[1]
Amazon Elastic Compute Cloud. http://aws.amazon.com/ec2/ (accessed
on October 25, 2011)
[2]
Google App Engine. http://code.google.com/appengine/ (accessed on
October 25, 2011).
[3]
B. Furht, and A. Escalante, “Handbook of cloud computing,” Cloud
computing fondamentals chapter writen by B. Furht, Springer, 2010.
[4]
A. Goscinski, and M. Brock, “Toward dynamic and attribute based
Job4Tasks={JTask4 1, JTask4 6, JTask4 7, JTask4 8, JTask4 13,
JTask4 18, JTask4 19}
Job5Tasks={JTask5 1, JTask5 6, JTask5 7, JTask5 8, JTask5 13,
JTask5 18, JTask5 20}
To calculate the fitness, the below mentioned fitness
function is applied:
publication, discovery and selection for cloud computing,” Future
Generation Computer Systems (26), pp. 947-970, 2010.
Fitness(DCTasks) = Σ (Fitness(JTaskij, DCj)) = Fitness(JTask1
1, DC1)+Fitness(JTask1 5, DC5)+…+ Fitness(JTask5 19, DC19)+
Fitness(JTask5 20, DC20)
[5]
and M. Leung,
"Cooperative load
balancing in distributed systems", presented at Concurrency and
Computation: Practice and Experience, pp.1953-1976, 2008.
where:
[6]
D. Kunkle, and J. Schindler, “A Load Balancing Framework for
Clustered Storage,” LNCS, vol. 5374, pp. 57–72. Springer, 2008.
[7]
A. Verma, P., Ahuja, A., and Neogi, “pMapper: Power and Migration
Fitness(JTaskij, DCj) = JTaskij.TimeToExe
For GA, we have: Fitness(DCTasks) = (50) + (52) + (61)
+ (71) + (71) = 305ms
Cost Aware Application Placement in Virtualized Systems,” LNCS, vol.
5346, pp. 243–264, Springer, 2008.
For BLA, we have: Fitness(DCTasks) = (50) + (52) + (58)
+ (68) + (68) = 296ms
[8]
Q. Yin, A. Schüpbach, J., Cappos, A., Baumann, and T., Roscoe,
“Rhizoma: A Runtime for Selfdeploying, Self-managing Overlays,”
LNCS, vol. 5896, pp. 184–204, Springer, 2009.
Table 2 shows that the best fitness is the fitness obtained by
BLA (296ms) compared with the fitness given by GA (305ms).
It represents the best execution time of the overall tasks of all
jobs (J1…J5) performed by the different datacenters
(DC1…DC20). These results confirm the reliability and
efficiency of BLA to solve job scheduling problem in the cloud
by an optimal workloads balancing.
[9]
A. Ganapathi, Y. Chen, A. Fox, R. Katz, D. Patterson, “Statistics-driven
workload modeling for the cloud,” University of California, Berkeley,
Tech. Rep, 2009.
[10] R. Alonso-Calvo, J. Crespo, M. Garcia-Remesal, A. Anguita, and V.
Maojo, “On distributing load in cloud computing: A real application for
very-large image datasets,” Procedia Computer Science, Elsevier, 1
(2010), pp. 2669-2677, 2010.
This superiority is due to the generalization of the proposed
algorithm that is a global optimization using the crossover
operator which guarantees the diversity of the solution. Also, it
ensures the local optima escape. Moreover, BLA carries out a
local search represents in the mutation operator and in the
neighborhood search approach which helps to take advantage
of the search history conducted by local search.
V.
D. Grosu, A.T. Chronopoulos,
[11] G. W. You, S. W. Hwang, and N. Jain, “Scalable Load Balancing in
Cluster Storage Systems,” LNCS Vol. 7049 Springer, pp. 101–122,
2011.
[12] D.T. Pham, E. Kog, A. Ghanbarzadeh, S. Otri, S. Rahim, and M. Zaidi,
“The Bees Algorithm – A Novel Tool for Complex Optimisation
Problems,” 2nd international virtual conference on Intelligent
PROduction Machines and Systems IPROMS, Oxford, Elsevier, 2006.
CONCLUSION
[13] H.A. Abbass, “A Single Queen Single Worker Honey-Bees Approach to
In this paper, job scheduling problem in the cloud
computing has been studied and solved with a novel
population-based metaheuristic called Bees Life Algorithm
which is inspired by nature life of bees. The makespan is the
major objective aimed at such problem in this scalable
computing area. In order to prove the reliability and the
efficiency of this proposal, an implementation and a set of tests
of BLA have been carried out and compared against GA as
3-SAT,” The Genetic and Evolutionary Computation Conference
GECCO2001, San Francisco, USA, 2001.
[14] S. Bitam, M. Batouche, E-G. Talbi, “A survey on bee colony
algorithms,” 24th IEEE International Parallel and Distributed Processing
Symposium, NIDISC Workshop, Atlanta, Georgia, USA, pp. 1-8, 2010.
191