SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Proc. of Int. Conf. on Computational Intelligence and Information Technology

A Modified Genetic Algorithm based Load
Distribution Approach towards Web Hotspot rescue
Debashree Devi1, Y. Jayanta Singh 2
1, 2

Department of Computer Science & Engineering and Information Technology,
DonBosco College of Engineering and Technology, Assam DonBosco University, Guwahati, India
Email: debashree.0748@gmail.com
Email: jayanta@dbuniversity.ac.in

Abstract—Web hotspot is a serious problem often experienced in case popular websites. It
provides dramatic load spike in a website, which occurs when a huge number of users
accessing the same website. A prominent solution to this problem is server load balancing.
Dynamic load balancing involves allocation of requests to the server or processor
dynamically when they arrive. For effective load balancing, a near-optimal schedule of
incoming requests or processes must be determined “on-the-fly”, so that execution of
requests can be completed in shortest possible time. So we have proposed a Genetic
Algorithm based load balancing scheme which relies on a process scheduling policy. Genetic
Algorithm provides to search for the optimal solution out a search of candidate solutions. It
follows the survival-of-the-fittest principle, to achieve the optimal solution, through a
number of generations. The proposed algorithm is evaluated for various population size and
number of generations, to maximize the processor utilization of nodes/ processors in the
system.
Index Terms— Dynamic Load Balancing, Genetic Algorithm, Server load balancing, Web
hotspot.

I. INTRODUCTION
With the rapid increase in the no. of internet users, it is obvious for a website to get a millions of hits per day.
For popular websites, e.g. social networking website, online audio/ video playing website etc, this rapid
increase in load may cause serious problem. Addition to this, the rapid development of internet applications,
diversifies the services offered by popular websites. These services are real-time and dynamic. Hence
handling of all these requests by one single server will lead to a situation of overloading. Technically such a
situation can be termed as “web-hotspot”. Situations like web-hotspot generally stay for a very short period
of time [1]. But it can seriously degrade the performance of a website. The use of a high performance system
as a solution would be very costly. We can use a flexible web server system, which is scalable with the
changing load in the website. But it also costs a high amount of money, as it leads to more hardware
requirements.
The concept of load balancing is not that much old. In 1995, when the Internet was first introduced, it was
only used for some academic purposes. But as soon as it was introduced in to the business world, people
started to use the internet for various tasks. With increasing number people accessing the internet, number of
issues has to take care in order to provide good service to the customers. This is where the concept of load
balancing lies. Load balancing can be defined as a form of system performance evaluation, analysis and
DOI: 03.LSCS.2013.6.574
© Association of Computer Electronics and Electrical Engineers, 2013
optimization, which is used to distribute the load constantly assigned to a single server, across a network of
processing elements or servers, so as to equalize the load among the servers, at any point of time.
A most commonly used load balancing technique is DNS Round Robin, a DNS-based load balancing
process. This technique provides a function to associate more than one IP address to a single hostname, as
shown in Fig.1 [16]. For e.g., the hostname, www.vegan.net, is associated with multiple IP addresses,
provided to distribute the traffic evenly among the IP addresses. However DNS Round Robin ended up with
limitations like caching issues, traffic distribution etc. Now-a-days, the SLB (server load balancing) process
is quite effective in context to solve problems like redundancy, scalability and server management. SLB
generally comes with components like VIP (virtual IP address), server, user access levels, redundancy,
persistence, service checking, load balancing algorithms etc. Load balancing algorithms are mathematically
programmed into SLB device. They are assigned to individual VIPs. There is a number of load balancing
algorithm, those can be categorized as global or local, static or dynamic, centralized or distributed etc.
In our proposed system, the concept of SLB is implemented, with application of an optimization algorithm,
namely Genetic Algorithm. Genetic algorithm combines the exploitation of previous results with the
exploration of new solutions of the search space. It generally follows the survival-of-the-fittest technique [2].
Genetic algorithm provided to maintain a population of candidate solutions that evolves over time and
ultimately converges to give the optimal solution. In a population, individuals are represented by
chromosome, which is represented as a string of bits. To evolve the best solution and to implement natural
selection, an objective function is defined, which helps to measure a candidate solution’s relative fitness.
The domain of our key problem is distributed system. Generally a distributed system comprises of a no. of
computers, which acts as client, accessing services from another set of computers, which acts as servers. The
most common example of distributed system is the World Wide Web (www). The WWW, everyday it
intercepts a large traffic, directing it to a web server system.The purpose of web server is to store information
and serve client requests. A web server system is consisting of multiple web server hosts, running a number
of web applications simultaneously.
Dynamic load balancing comes with the need of allocating servers/ resources to client requests, at the
moment they arrive. It is “mission-critical” as it is unpredictable to determine the incoming load. It involves
key issues like task migration and load sharing. According to Ref. [3], Load sharing provides to manage the
tasks in the system in such a way that no processor in the system is idle. Generally a process is migrated to
another processor if the migration cost or overhead is less than some predetermined matrix, in order to
improve processor utilization. Migration of processes generally requires more hardware requirements, which
in turn leads to increase the cost of execution. The load balancing problem strategy tries to ensure that the
processors or servers in the system are equally loaded and every processor or server does same number of
request processing. After receiving of the requests, a good scheduling policy should be maintained which can
assure assigning of requests, to appropriate servers, within the shortest execution time. In this paper, we have
considered the problem of load balancing is a process scheduling policy which takes every incoming request
as one process and assign it to a processor or server for processing.
The rest of the paper is organized as follows: In section 2, a brief description of the related works has given.
In section 3, theoretical details about the Genetic Algorithm are described. In section 4, the system and
process model is introduced. Section 5 included the proposed Genetic Algorithm based load balancing
approach. The implementations and results are discussed in section 6. Section 7 includes the conclusion part.

Figure 1: DNS round Robin mechanism

10
II. RELATED WORKS
Web hotspot being a serious problem as it degrades the quality of the website. Manual control on this whole
process would surely affect the website quality. Ref. [1] defined DotSlash autonomic rescue system, given by
Weibin Zhao, provided a solution to this problem. In order to solve the problem, DotSlash enables the web
site to create a distributed web server system on the fly, adaptive to the changing environment. In the design
model of DotSlash autonomic rescue system, a cost effective mechanism was applied to handle the increase
request load. According to it, different web sites can form a mutual-aid community of web servers, so that in
case of critical period it can use the spare capacity of other web sites in the community.
The working of DotSlash rescue system can be described simply by the following steps:
 Dynamic Virtual Hosting
 Request Redirection
 Workload Monitoring
 Rescue Control
 Service Recovery.

A. Dynamic load balancing Approaches
In client based approach, requested documents can be routed to any replicated web server even when the
nodes are loosely (or not) coordinated. Routing of requests to the web clusters can be done by either Webclients or by Client-side proxy servers [4]. DNS- based approach provides to overcome the limitations of
client based approach as it uses request routing mechanism in the cluster side. The cluster DNS or the
authoritative DNS server for the distributed Web server system’s nodes, translates the URL to the IP address
of one server, so as provides architecture transparency at the URL-level [4] [5]. Based on the scheduling
algorithm, used by the cluster DNS, to balance the load on the Web server’s node, the DNS-based approach
can be categorized into Constant TTL Algorithm and Adaptive or Dynamic TTL Algorithm.
Cluster based approach for peer-to-peer system; B. Mortazavi and G. Kesidis [6] have used a reputation
framework, based on which they have designed a game, in which players play in order to receive maximum
files from the system. Brighten Godfrey and et al. [7] has proposed an algorithm for load balancing for
heterogeneous and dynamic P2P system. Kalman Graffi et al [8] have used a DHT-based information
gathering and system analyzing technique. Ananth Rao et al [9] to address the load balancing problem in p2p
system have proposed an algorithm, which gives the idea of virtual server. Song Fu et al [10] has
characterized the behaviour of randomized search algorithms in the general P2P environment. In case of
dispatcher based approach, Harikesh Singh et al. [5] have addressed an advanced DNS dispatching technique
provided to distribute the HTTP requests from the clients, by using Round Robin and proximity based
scheduling algorithm.
Many of the approaches of load balancing involved optimization techniques like Fuzzy logic, Genetic
Algorithm also. Load balancing problem is known to be NP- hard in context to number of requests versus
number of machines/ servers. It leads to search for an optimum solution to this problem. Yu-Kwong Kwok
and et al [14] defined a new dynamic fuzzy-decision-based load balancing system incorporated in a
distributed object computing environment. With the help of conventional control theory, the sudden increase
in the load was considered as an external force to the system. A feedback mechanism is maintained which
provide to minimize the effect of the external force to the system. A Genetic Algorithm based approach was
introduced by Bibhudatta Sahoo et al [15] for dynamic load distribution in heterogeneous distributed system.
It has defined the load balancing as a job scheduling mechanism, comparing the proposed system with two
scheduling policies like LERT-MW and LERT-MWM. Priyanka Gonade et al [3] defined a modified Genetic
Algorithm approach with an objective function for minimum load deviation of a node.
III. GENETIC ALGORITHM - THEORETICAL CONCEPT
Genetic Algorithm (GA) is search based method which works based on the principle of natural selection and
genetics. It is a model based on search methods, provided to obtain the optimal solution out of a search space
consists of a population of potential solution. This algorithm follows the principle of survival of the fittest,
where each individual presents a point in problem solution’s search space. An individual which represents a
candidate solution can be expressed as string of bits, referred to as chromosomes. Each chromosome is
11
composed of variables called genes and values associated with the genes are termed as alleles. To evolve the
best solution and to implement natural selection, an objective function is defined, which helps to measure a
candidate solution’s relative fitness. The objective function is an important concept as it is used subsequently
used by the GA to guide the evolution of best solutions. After the problem is encoded in a chromosomal
manner and an objective function has been chosen, solution to the search problem can be evolved by using
the following steps [11]:
 INITIALIZATION:
The initial population of candidate solutions is usually generated randomly across the search space.
 EVALUATION:
After initialization of the population, the fitness values of all the candidate solutions are evaluated by using
the objective function.
 SELECTION:
Selection provides to select those solutions with higher fitness value to the next generation and thus imposes
the survival-of-the-fittest mechanism on the candidate solutions. The main idea of selection is to prefer better
solutions to worse ones, and many selection procedures have been proposed to accomplish this idea. Some of
the selection techniques are roulette-wheel selection, stochastic universal selection, ranking selection and
tournament selection.
 RECOMBINATION:
Recombination provides to combine parts of two or more parental candidate solutions to create a new,
possibly better solutions, termed as offspring. The offspring under recombination will not be identical to any
particular parent and will instead combine parental traits in a novel manner [13].
 MUTATION:
The task of mutation is to locally but randomly modify a solution. It generally involves changing one or more
traits of an individual. We can say that the mutation performs a random walk in the space of the candidate
solutions.
 REPLACEMENT:
The offspring population created by selection, recombination, and mutation replaces the original parental
population. Many replacement techniques such as elitist replacement, generation-wise replacement and
steady-state replacement methods are used in GAs.
 TERMINATION CONDITIONS OR STOPPING CONDITIONS:
Termination conditions are generally problem dependent. Some general stopping conditions are obtaining of
optimal solution, same fitness value for more than one generation, consecutively etc.
A. Basic Genetic Algorithm Operators
SELECTION OPERATOR:
The basic selection techniques can be distinguished into two categories:
 FITNESS PROPORTIONATE SELECTION
This includes methods such as roulette-wheel selection and stochastic universal selection [11]. In roulettewheel selection, each individual in the population is assigned a roulette wheel slot sized according to its
fitness value. Thus a better solution will have a larger slot than a less fit solution.
 ORDINAL SELECTION
This includes methods such as tournament selection and truncation selection [11]. In tournament selection, snumber of chromosomes are selected in random and put in tournament against each other. The fittest group
with k-number of individuals is selected as the parent.
RECOMBINATION OPERATOR:
After selection, individuals from the offspring pool are recombined (or crossed over) to create new, hopefully
better, offspring. In recombination process, two individuals are selected randomly and recombined with
predefined probability, pc, termed as crossover probability. A uniform random number, r is defined which is
compared with the pc. If r<= pc, then the individuals are recombined and if r> pc, then individuals are simply
taken to be the copy of their parents. A pseudo code for the above mechanism is given below:
Pseudo Code:
[1] Start
[2] Define r any random number
[3] Define pc, pc= crossover probability
[4] If r <= pc
12
[5] then perform recombination
[6] else
[7] copy the parents to the next generation.
[8] End
MUTATION OPERATOR:
The significance of mutation operator is to add diversity to the population and to ensure the exploration of
entire search space. Mutation is the primary variation/search operator, which is performed with low
probability in GA. Bit-flip mutation is the most common mutation technique used. A mutation probability,
pm is defined, according to which each bit in a binary string is changed (as 0 is converted to 1, and vice
versa).
REPLACEMENT OPERATOR:
Replacement techniques are used to introduce the newly generated offspring into the parental population.
Some of the replacement techniques are:
 Delete-All:
It provides to delete all the individuals in a current population and replace them with same number of newly
created offspring.
 Steady-State:
This technique provides to delete n-number of old members and replace them with n-number of new
offspring. The number to delete and replace, n, at any one time is a parameter to this deletion technique.
 Steady-state-no-duplicates:
While replacing n-number of parents with n-number of offspring, this technique ensures that no duplicate
chromosomes are added to the population.
IV. SYSTEM AND PROCESS MODEL
In this paper, the problem of load balancing implements a process scheduling policy. Every incoming client
requests are taken as one process. We have to find the optimum schedule according to which the processes/
requests are allocated to different servers, according to their demand. Process scheduling mechanism can be
implemented into two phases:
 PROCESS DISTRIBUTION:
Provide to distribute the load equally on the processor.
 PROCESS EXECUTION ORDERING:
Genetic algorithm concept is used in this stage. GA provided to search random search methods that mimic
the principle of evolution mad natural selection. From an entire solution space, GA provided to search for the
optimal solution.
Every request that arrived at the distributed server system is considered as one process. A request queue is
defined which will entry each request in it, i.e. received every request is put into the queue. They are taken
out from the queue for processing in a FCFS order.
Let P= (p1, p2, p3.........pn) denoted the set of processor or server in the distributed system. Constraint is
applied as one processor can execute only one request at a time.
J= (j1, j2, j3............j m) denotes the set of processes to be executed
A n×m assignment matrix, where the value pik , 1 < i < n, 1 < k < m; denotes number of times a process, pi is
allocated to a specific server, jk. With every schedule, the matrix gets increased.
The process scheduling mechanism can be depicted by the Fig. 2 [3] [12]. As shown in Fig.2,  represents
the request queue and 1, 2,.........m represents the processors or severs in the distributed system.
In this paper it is considered the underlying system architecture has the following components, as shown in
figure 3.
 Clients
 Forwarding Machine
 MASTER
 Servers

13
Figure 2: process scheduling mechanism

Clients are connected through a network to the distributed server system. A distributed server system consists
of a number of servers, interconnected to each other. When clients have send requests, it is basically received
by the FMs (Forwarding machine), which are responsible for forwarding the requests to the servers. Behind
every FM, a server or sometimes a cluster of servers is present; to process different requests according to
their demand. The MASTER performs the role of server load balancer. Server load balancing can be
defined as the process of distributing the traffic occurred in a web site, among a number of servers, using a
Network-based device. Generally it is a user- transparent process. In our underlying system model, the
MASTER is responsible for taking decisions about the process/ request assignment.
To avoid deadlock-type situation, the process scheduling mechanism must fulfil the following two
constraints:
Time Constraint (CT): Processes/ requests with same demand can’t be allocated to a server simultaneously.
There should be a specific time-interval while allocating processors/servers, to different requests/ processes.
Activity Constraint (CA): No server should be active or ideal forever. After a specific time period, each
server should assign to sleep (idle) state, while other servers processing the requests.
To simply define the load balancing problem, suppose we have a set of n-requests or tasks, which we have to
assign to m- machines/ servers. We are given an array of non-negative elements, T[1,2,….n], where the value
T[i] represents the running time of a task, i. The assignment is given by the assignment matrix.
A. Performance Metrics:
To evaluate the performance of the proposed model, we have considered the following metrics
PROCESSOR LOAD:
It is defined as the number of processes allocated to a specific process/ server. It is denoted by load(pi), gives
the total number of processes a processor has which is the sum of number of processor already allocated to
that processor and the newly assigned processes to that processor.
Mathematically,
( )=∑

.

	

	
	

	

	
,

,

+∑

.

	

	
	

	

	
,

,

(1)

MAKESPAN:
It is defined as the maximum finishing time or total execution time required to complete the maximum load
on any processor, pi, at any time, t.
Mathematically,
( )

= max

(2)

PROCESSOR UTILIZATION:
Processor utilization for any processor, pi is obtained by dividing the processor load, load (pi), by the value
of makespan.
Mathematically,
		

(

( )=

)
( )

14

(3)
Figure 3: Underlying system architecture

Average processor utilization is given by:
	

=

∑

.

	

	
	

.

( )

	

(4)

V. PROPOSED GENETIC ALGORITHM BASED APPROACH
Generally the Genetic Algorithm provides an efficient way to search for an optimal solution. The algorithm
starts by randomly generating an initial population of possible solutions. In this paper, the proposed GAimplemented load balancing provides distribution of processes, among different processor or server, based on
processor load. When a process is assigned to a processor, the processor load is updated with the latest
assigning process to that processor or server, which is given by the assignment (n×m) matrix. In context to
our problem, the initial population is created by randomly taking incoming requests/ processes. A request
queue is defined with all un- processed requests/ processes within it. After a specific time- interval, the
request/ processes are taken out from the queue in FCFS order and randomly allocated to the processors
(servers). Then each schedule is evaluated according to a fitness function. Two best schedules are selected, to
produce the next generation. Mutation and crossover functions are performed over the selected schedules to
produce schedules with higher fitness value, in order to maintain the population size. In every generation,
individuals are evaluated with the fitness function and less fit solutions are got rejected.
The algorithm can be implemented in the following phases:
 INITIALIZATION PHASE:
Genetic algorithm provides to search from a large population of individuals. The initial population is created
by randomly selecting the processes/ requests from the request queue, in FCFS order and then randomly
assigned to processors (servers). The order of assigning the processes is taken as a condition. The initial
population is obtained by swapping the orders of assignment of processes, for a fixed number of times.
 EVALUATION PHASE:
Evaluation phase provides to find a quality measure to determine how fit one individual is among the
population. In context to our key problem, “web hotspot”, where the load on the server suddenly get
increased to high; we define the fitness of a schedule as the number of un-processed requests. This is because
our foremost aim is to find an optimum solution for distributing load among the processors (servers), so that
there is a response for every incoming processes/ requests. The fittest schedule will have zero un-processed
requests.
The fitness function can be defined as:
( )={

= 0, ∀ = 1,2, … . }

(5)

So, a schedule, s is said to be fittest if there is no un-processed request. This fitness function is applied to find
the fitness of individuals in the initial population.
 SELECTION PHASE:
Selection phase provides to get more copies of the solutions with higher fitness value and hence survival-of
–the-fittest mechanism can be implemented on the candidate solution. This will improve the total fitness of
15
the population. For selection of individuals, a quality measure, q is defined where q=u. Therefore, schedules
with less number of un-processed requests/ processes are selected to the next generation.
 RECOMBINATION PHASE:
Recombination phase provides to create new and better offspring by combining two or more parental
solutions, selected through the selection phase. There are number of recombination operators are defined to
accomplish this, as follows:
Crossover
It involves exchanging parts of information between two randomly selected individuals. Two best individuals
are randomly selected and from one string, a process, ji is selected at random and put it into the second string.
For two process, ji and jk, for ji, jk € J, both the processes are exchanged between the two individuals. For one
of the parents being the best individual, then we simply mutate the second string.
Mutation
It involves change the gene values in the chromosomes. It replaced the gene value with a new value selected
from a definite domain for the gene. For mutating two processes, two number r and c are defined with the
conditions:
i)
r#c
ii)
Set r is not empty.
From set, r one process is selected at random and replaces it on c.
 TERMINATION PHASE:
Stopping conditions are defined as when the programme encounters these situations, it will get terminated.
Some of the stopping conditions are:
 Reached maximum number of generations,
 Obtaining equal fitness for number of generations.
 Obtaining desired solution.
All these steps are combined to give the GA based load balancing algorithm.
Here is the algorithm:
Algorithm:
GA based Load Balancing
{
[1] Initialization
[2] Load Checking
[3] Repeat through step [9] until request_queue is empty
Until topping conditions are TRUE
{
[4] Randomly create the initial population
[5] Apply fitness function
[6] Choose two best individuals from the population
[7] Crossover the selected individuals
[8] Mutate the child
[9] Replace the worse individuals in the population with best ones
}
}
[10] End
The whole mechanism is shown in figure 4.
VI. IMPLEMENTATION AND RESULTS
We have implemented our proposed algorithm on Pentium Core-i3-540 with 3.06 GHz processor and with
500GB HDD and 4GB RAM. We have used JDK 1.6 as the coding language and Netbeans IDE 7.0.1 as the
front-end tool. For application of our proposed Genetic Algorithm to solve the load balancing problem, we
have set the parameters as follows:
 Population size: It defines the number of processes/ requests taken at random, in every execution.
The population size will vary from 20- 100.
 Number of Generations: It defines the number of cycles the algorithm is run, to converge towards
the optimal solution.
16
Figure 4: Flowchart for GA based load balancing mechanism



MI (million instructions): It defines process length, i.e. the number of instructions, each process
contain as processing requirements. It varies from 1-10 MI per request.
For simulating our proposed algorithm, we have implemented it with GridSim 5.4 toolkit. The GridSim
toolkit comes up with multiple entities like users, brokers, Resource, GIS (Grid Information Service) and
Input-Output. In our implementation of Genetic Algorithm based load balancing, for each process, is given as
input with varying processing times and input file size. The “Gridlet” Package contains all the information
related to a process and its execution. During simulation, GridSim provides scheduling of processes/ jobs
based on two events, either time-shared or space-shared. For easier implementation of our proposed
algorithm, we have considered the space-shared scheduling for simulation. For every incoming process/
request, this scheduling provides to allocate the machines/ servers immediately, if there are available
machines. Otherwise the processes are queued. During Gridlet assignment, processing time for each request
is determined and an event is scheduled. After completion of execution of scheduled Gridlet process, the
resource simulator frees the machines/ servers and checks for request in the queue. Then it is assigned to
available machines/ servers. In Table 1, a statistical scenario of a space-shared scheduling is given, for four
Gridlet processes, with processing requirements are 6.5, 4.6, 10 and 8 MI respectively.
We have simulated the proposed algorithm for different population size and number of generations, and then
evaluate the GA convergence to maximize the processor utilization. The results are shown in Fig. 5 and Fig.
6 respectively.
TABLE I: A SCHEDULING STATISTICS SCENARIO FOR SPACE-SHARED RESOURCES IN GRIDSIM
Gridlet
Numbers
G1

Request Length
(MI)
6.5

Arrival time
(a)
0

G2

4.6

4

4

8.6

4.6

G3

10

6

6.5

16.5

10.5

G4

8

8

8.6

16.6

8.6

17

Start Time
(s)
0

Finish Time
(f)
6.5

Elapsed
Time (f-a)
6.5
Processor Utilization
100
90

--->Utilization%

80
70
60
50
40
30

Population size=80

20

Popualtion Size=40

10

Popualation size= 100

0
0

10

20

30

40

50

60

70

80

90

---->Nos. of processor

Figure 5: GA convergence for various populations with respect to processor utilization

VII. CONCLUSION
With the rapid increase in the number of internet users, the problem of load balancing is becoming “missioncritical” as it has to cover issues like redundancy, scalability, flexibility, QoS etc. in its solution. In this paper,
we have considered the web hotspot as our key problem, with distributed system as our problem domain. We
have proposed a GA approach for load distribution. Our aim was to assign the requests among the servers in
such a way that every request get processed, even in situations like “web hotspot”, where the load in the site
get suddenly increased to very high. While implementing GA, we have formulated the load balancing
problem as a process scheduling policy. A modified genetic algorithm is introduced with an objective
function equal to number of un-processed requests/ processes in a random population. We have simulated our
proposed model by using GridSim distributed system simulator, with space-shared scheduling of resources.
The results have shown that with different population size, the GA convergence for maximizing processor
utilization is obtained well. Even with the increasing number of processes, the proposed algorithm converges
towards the optimal solution. For varying number of generations, it has given a near optimal result.
Through the work, we did not compare our work with any previous work. Besides more number of
parameters have to be evaluated, for various situation. In our future work, we would try to simulate our
proposed algorithm for more number of parameters, and in different problem domain.
VIII. ACKNOWLEDGEMENT
While concluding the paper, we would like to thank those people who endowed upon us their constant
guidance and encouragement during the work. We would like to thank and express our sense of gratitude to
the faculty members of Department of Computer Science Engineering & Information Technology, for their
kind help and encouragement. Lastly we express our gratitude to our parents and all the friends who helped
us in one way or the other.
REFERENCES
[1] Weibin Zhao, “Towards Autonomic Computing: Service Discovery and Web Hotspot Rescue”, COLUMBIA
UNIVERSITY, 2006.
[2] Albert Y. Zomaya, Yee-HweiTeh, “Observations on Using Genetic Algorithms for Dynamic Load-Balancing”,
IEEE, transactions on parallel and distributed systems, Vol. 12, Number. 9, September 2001.
[3] Priyanka Gonnade, Sonali Bodkhe, “An Efficient load balancing using Genetic algorithm in Hierarchical structured
distributed system”, International Journal of Advanced Computer Research, Volume-2 Number-4 Issue-6
December-2012.
[4] Valeria Cardellini, Michale Colajanni, Phillip S.Yu, “ Dynamic Load balancing web Server System”, IEEE Internet
Computing, vol. 3, Number 3, PP 28-39, May-June 1999.

18
Procesor Utilization

--->Processor Utilization

120
100
80
60
40

Processor Utilization

20
0
10

15

20

25

30

---->No. of Generations

Figure 6: Performance comparison of processor utilization with respect to number of generations

[5] Harikesh Singh, Dr. Shishir Kumar, “Dispatcher Based Dynamic Load Balancing on Web Server System”,
International Journal of Grid and Distributed Computing Vol. 4, Number. 3, September, 2011.
[6] B. Mortazavi and G. Kesidis, "Cumulative Reputation Systems for Peer-to-Peer Content Distribution", in
proceedings of IEEE Annual Conference on Information Sciences and Systems, PP 1546- 1552, 22-24 March 2006.
[7] BrightenG odfrey, KarthikLakshminarayanan, Sonesh Surana, Richard Karp, IonStoica, “Load Balancing in
Dynamic Structured P2P Systems”, IEEE INFOCOM 2004.
[8] Kalman Graffi, Sebastian Kaune, Konstantin Pussep, Aleksandra Kovacevic, Ralf Steinmetz, “Load Balancing for
Multimedia Streaming in Heterogeneous Peer-to-Peer Systems” NOSSDAV, Braunschweig, Germany, 2008.
[9] Ananth Rao, Karthik Lakshminarayanan, Sonesh Surana, Richard Karp, Ion Stoica, “Load Balancing in Structured
P2P Systems”, Elsevier Science Publishers B. V. Amsterdam, The Netherlands, volume 63, Issue 3, March 2006.
[10] Song Fu, Cheng-Zhong Xu, Haiying Shen, “Random Choices for Churn Resilient Load Balancing in Peer-to-Peer
Networks”, In Proceedings of the 22nd ACM/IEEE International Parallel and Distributed Processing Symposium
(IPDPS), 2008.
[11] Kumara Sastry, David Goldberg, Graham Kendall, “GENETIC ALGORITHMS”, Search Methodologies, Springer,
PP 97-125, 2005.
[12] Vinay Harsora, Apurva Shah, “A Modified Genetic Algorithm for Process Scheduling in Distributed System”, IJCA
Special Issue on “Artificial Intelligence Techniques - Novel Approaches & Practical Applications”, AIT, 2011.
[13] D. E. Goldberg, “Design of Innovation: Lessons From and For Competent Genetic Algorithms”, Kluwer, Boston,
MA, 2002.
[14] Yu-Kwong Kwok_ and Lap-Sun Cheung, “A new fuzzy-decision based load balancing system for distributed object
computing”, Elsevier Journal of Parallel and Distributed Computing, 2003.
[15] Bibhudatta Sahoo, Sudipta Mohapatra, and Sanjay Kumar Jena, “A Genetic Algorithm Based Dynamic Load
Balancing Scheme for Heterogeneous Distributed Systems”, Proceedings of the International Conference on Parallel
and Distributed Processing Techniques and Applications, Vol-2, Issue-July, 2008. Bools:
[16] Tony Bruke, “Server Load Balancing”, Published by O'Reilly & Associates, Inc., 101 Morris Street, Sebastopol,
August, 2001.

19

Mais conteúdo relacionado

Mais procurados

Request routing in CDN
Request routing in CDNRequest routing in CDN
Request routing in CDNSandeep Kath
 
The Concept of Load Balancing Server in Secured and Intelligent Network
The Concept of Load Balancing Server in Secured and Intelligent NetworkThe Concept of Load Balancing Server in Secured and Intelligent Network
The Concept of Load Balancing Server in Secured and Intelligent NetworkIJAEMSJORNAL
 
A load balancing model based on cloud partitioning for the public cloud. ppt
A  load balancing model based on cloud partitioning for the public cloud. ppt A  load balancing model based on cloud partitioning for the public cloud. ppt
A load balancing model based on cloud partitioning for the public cloud. ppt Lavanya Vigrahala
 
Guarding Fast Data Delivery in Cloud: an Effective Approach to Isolating Perf...
Guarding Fast Data Delivery in Cloud: an Effective Approach to Isolating Perf...Guarding Fast Data Delivery in Cloud: an Effective Approach to Isolating Perf...
Guarding Fast Data Delivery in Cloud: an Effective Approach to Isolating Perf...Zhenyun Zhuang
 
Implementing a Caching Scheme for Media Streaming in a Proxy Server
Implementing a Caching Scheme for Media Streaming in a Proxy ServerImplementing a Caching Scheme for Media Streaming in a Proxy Server
Implementing a Caching Scheme for Media Streaming in a Proxy ServerAbdelrahman Hosny
 
Hybrid Scheduling Algorithm for Efficient Load Balancing In Cloud Computing
Hybrid Scheduling Algorithm for Efficient Load Balancing In Cloud ComputingHybrid Scheduling Algorithm for Efficient Load Balancing In Cloud Computing
Hybrid Scheduling Algorithm for Efficient Load Balancing In Cloud ComputingEswar Publications
 
LOAD BALANCING ALGORITHM TO IMPROVE RESPONSE TIME ON CLOUD COMPUTING
LOAD BALANCING ALGORITHM TO IMPROVE RESPONSE TIME ON CLOUD COMPUTINGLOAD BALANCING ALGORITHM TO IMPROVE RESPONSE TIME ON CLOUD COMPUTING
LOAD BALANCING ALGORITHM TO IMPROVE RESPONSE TIME ON CLOUD COMPUTINGijccsa
 
Service Request Scheduling based on Quantification Principle using Conjoint A...
Service Request Scheduling based on Quantification Principle using Conjoint A...Service Request Scheduling based on Quantification Principle using Conjoint A...
Service Request Scheduling based on Quantification Principle using Conjoint A...IJECEIAES
 
Efficient and secure content processing and distribution by cooperative inter...
Efficient and secure content processing and distribution by cooperative inter...Efficient and secure content processing and distribution by cooperative inter...
Efficient and secure content processing and distribution by cooperative inter...Mumbai Academisc
 
LOAD BALANCING ALGORITHM ON CLOUD COMPUTING FOR OPTIMIZE RESPONE TIME
LOAD BALANCING ALGORITHM ON CLOUD COMPUTING FOR OPTIMIZE RESPONE TIMELOAD BALANCING ALGORITHM ON CLOUD COMPUTING FOR OPTIMIZE RESPONE TIME
LOAD BALANCING ALGORITHM ON CLOUD COMPUTING FOR OPTIMIZE RESPONE TIMEijccsa
 
Enhanced Dynamic Web Caching: For Scalability & Metadata Management
Enhanced Dynamic Web Caching: For Scalability & Metadata ManagementEnhanced Dynamic Web Caching: For Scalability & Metadata Management
Enhanced Dynamic Web Caching: For Scalability & Metadata ManagementDeepak Bagga
 
Server load balancer ppt
Server load balancer pptServer load balancer ppt
Server load balancer pptShilpi Tandon
 
A COMPREHENSIVE SOLUTION TO CLOUD TRAFFIC TRIBULATIONS
A COMPREHENSIVE SOLUTION TO CLOUD TRAFFIC TRIBULATIONSA COMPREHENSIVE SOLUTION TO CLOUD TRAFFIC TRIBULATIONS
A COMPREHENSIVE SOLUTION TO CLOUD TRAFFIC TRIBULATIONSijwscjournal
 

Mais procurados (19)

Request routing in CDN
Request routing in CDNRequest routing in CDN
Request routing in CDN
 
The Concept of Load Balancing Server in Secured and Intelligent Network
The Concept of Load Balancing Server in Secured and Intelligent NetworkThe Concept of Load Balancing Server in Secured and Intelligent Network
The Concept of Load Balancing Server in Secured and Intelligent Network
 
A load balancing model based on cloud partitioning for the public cloud. ppt
A  load balancing model based on cloud partitioning for the public cloud. ppt A  load balancing model based on cloud partitioning for the public cloud. ppt
A load balancing model based on cloud partitioning for the public cloud. ppt
 
My Dissertation 2016
My Dissertation 2016My Dissertation 2016
My Dissertation 2016
 
N1803048386
N1803048386N1803048386
N1803048386
 
saito_porcupine
saito_porcupinesaito_porcupine
saito_porcupine
 
Guarding Fast Data Delivery in Cloud: an Effective Approach to Isolating Perf...
Guarding Fast Data Delivery in Cloud: an Effective Approach to Isolating Perf...Guarding Fast Data Delivery in Cloud: an Effective Approach to Isolating Perf...
Guarding Fast Data Delivery in Cloud: an Effective Approach to Isolating Perf...
 
Implementing a Caching Scheme for Media Streaming in a Proxy Server
Implementing a Caching Scheme for Media Streaming in a Proxy ServerImplementing a Caching Scheme for Media Streaming in a Proxy Server
Implementing a Caching Scheme for Media Streaming in a Proxy Server
 
Hybrid Scheduling Algorithm for Efficient Load Balancing In Cloud Computing
Hybrid Scheduling Algorithm for Efficient Load Balancing In Cloud ComputingHybrid Scheduling Algorithm for Efficient Load Balancing In Cloud Computing
Hybrid Scheduling Algorithm for Efficient Load Balancing In Cloud Computing
 
Load Balancing Server
Load Balancing ServerLoad Balancing Server
Load Balancing Server
 
LOAD BALANCING ALGORITHM TO IMPROVE RESPONSE TIME ON CLOUD COMPUTING
LOAD BALANCING ALGORITHM TO IMPROVE RESPONSE TIME ON CLOUD COMPUTINGLOAD BALANCING ALGORITHM TO IMPROVE RESPONSE TIME ON CLOUD COMPUTING
LOAD BALANCING ALGORITHM TO IMPROVE RESPONSE TIME ON CLOUD COMPUTING
 
Service Request Scheduling based on Quantification Principle using Conjoint A...
Service Request Scheduling based on Quantification Principle using Conjoint A...Service Request Scheduling based on Quantification Principle using Conjoint A...
Service Request Scheduling based on Quantification Principle using Conjoint A...
 
Efficient and secure content processing and distribution by cooperative inter...
Efficient and secure content processing and distribution by cooperative inter...Efficient and secure content processing and distribution by cooperative inter...
Efficient and secure content processing and distribution by cooperative inter...
 
XenApp Load Balancing
XenApp Load BalancingXenApp Load Balancing
XenApp Load Balancing
 
LOAD BALANCING ALGORITHM ON CLOUD COMPUTING FOR OPTIMIZE RESPONE TIME
LOAD BALANCING ALGORITHM ON CLOUD COMPUTING FOR OPTIMIZE RESPONE TIMELOAD BALANCING ALGORITHM ON CLOUD COMPUTING FOR OPTIMIZE RESPONE TIME
LOAD BALANCING ALGORITHM ON CLOUD COMPUTING FOR OPTIMIZE RESPONE TIME
 
G216063
G216063G216063
G216063
 
Enhanced Dynamic Web Caching: For Scalability & Metadata Management
Enhanced Dynamic Web Caching: For Scalability & Metadata ManagementEnhanced Dynamic Web Caching: For Scalability & Metadata Management
Enhanced Dynamic Web Caching: For Scalability & Metadata Management
 
Server load balancer ppt
Server load balancer pptServer load balancer ppt
Server load balancer ppt
 
A COMPREHENSIVE SOLUTION TO CLOUD TRAFFIC TRIBULATIONS
A COMPREHENSIVE SOLUTION TO CLOUD TRAFFIC TRIBULATIONSA COMPREHENSIVE SOLUTION TO CLOUD TRAFFIC TRIBULATIONS
A COMPREHENSIVE SOLUTION TO CLOUD TRAFFIC TRIBULATIONS
 

Semelhante a A Modified Genetic Algorithm based Load Distribution Approach towards Web Hotspot rescue

A Distributed Control Law for Load Balancing in Content Delivery Networks
A Distributed Control Law for Load Balancing in Content Delivery NetworksA Distributed Control Law for Load Balancing in Content Delivery Networks
A Distributed Control Law for Load Balancing in Content Delivery NetworksSruthi Kamal
 
Bluedog white paper - scaling for high availability, high utilization
Bluedog white paper - scaling for high availability, high utilizationBluedog white paper - scaling for high availability, high utilization
Bluedog white paper - scaling for high availability, high utilizationtom termini
 
E VALUATION OF T WO - L EVEL G LOBAL L OAD B ALANCING F RAMEWORK IN C L...
E VALUATION OF  T WO - L EVEL  G LOBAL  L OAD  B ALANCING  F RAMEWORK IN  C L...E VALUATION OF  T WO - L EVEL  G LOBAL  L OAD  B ALANCING  F RAMEWORK IN  C L...
E VALUATION OF T WO - L EVEL G LOBAL L OAD B ALANCING F RAMEWORK IN C L...ijcsit
 
PROPOSED LOAD BALANCING ALGORITHM TO REDUCE RESPONSE TIME AND PROCESSING TIME...
PROPOSED LOAD BALANCING ALGORITHM TO REDUCE RESPONSE TIME AND PROCESSING TIME...PROPOSED LOAD BALANCING ALGORITHM TO REDUCE RESPONSE TIME AND PROCESSING TIME...
PROPOSED LOAD BALANCING ALGORITHM TO REDUCE RESPONSE TIME AND PROCESSING TIME...IJCNCJournal
 
DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...
DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...
DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...acijjournal
 
Load Balancing And Yahoo!
Load Balancing And Yahoo!Load Balancing And Yahoo!
Load Balancing And Yahoo!TwinVasion
 
COST-MINIMIZING DYNAMIC MIGRATION OF CONTENT DISTRIBUTION SERVICES INTO HYBR...
 COST-MINIMIZING DYNAMIC MIGRATION OF CONTENT DISTRIBUTION SERVICES INTO HYBR... COST-MINIMIZING DYNAMIC MIGRATION OF CONTENT DISTRIBUTION SERVICES INTO HYBR...
COST-MINIMIZING DYNAMIC MIGRATION OF CONTENT DISTRIBUTION SERVICES INTO HYBR...Nexgen Technology
 
Cost minimizing dynamic migration of content
Cost minimizing dynamic migration of contentCost minimizing dynamic migration of content
Cost minimizing dynamic migration of contentnexgentech15
 
Cost-Minimizing Dynamic Migration of Content Distribution Services into Hybri...
Cost-Minimizing Dynamic Migration of Content Distribution Services into Hybri...Cost-Minimizing Dynamic Migration of Content Distribution Services into Hybri...
Cost-Minimizing Dynamic Migration of Content Distribution Services into Hybri...nexgentechnology
 
An Efficient Distributed Control Law for Load Balancing in Content Delivery N...
An Efficient Distributed Control Law for Load Balancing in Content Delivery N...An Efficient Distributed Control Law for Load Balancing in Content Delivery N...
An Efficient Distributed Control Law for Load Balancing in Content Delivery N...IJMER
 
IRJET- Commercial Web Application Load Balancing based on Hybrid Cloud
IRJET- Commercial Web Application Load Balancing based on Hybrid CloudIRJET- Commercial Web Application Load Balancing based on Hybrid Cloud
IRJET- Commercial Web Application Load Balancing based on Hybrid CloudIRJET Journal
 
Role of Virtual Machine Live Migration in Cloud Load Balancing
Role of Virtual Machine Live Migration in Cloud Load BalancingRole of Virtual Machine Live Migration in Cloud Load Balancing
Role of Virtual Machine Live Migration in Cloud Load BalancingIOSR Journals
 
Modified Active Monitoring Load Balancing with Cloud Computing
Modified Active Monitoring Load Balancing with Cloud ComputingModified Active Monitoring Load Balancing with Cloud Computing
Modified Active Monitoring Load Balancing with Cloud Computingijsrd.com
 
P2P Video-On-Demand Systems
P2P Video-On-Demand SystemsP2P Video-On-Demand Systems
P2P Video-On-Demand SystemsAshwini More
 
Real time service oriented cloud computing
Real time service oriented cloud computingReal time service oriented cloud computing
Real time service oriented cloud computingwww.pixelsolutionbd.com
 
Load Balancing Algorithm to Improve Response Time on Cloud Computing
Load Balancing Algorithm to Improve Response Time on Cloud ComputingLoad Balancing Algorithm to Improve Response Time on Cloud Computing
Load Balancing Algorithm to Improve Response Time on Cloud Computingneirew J
 
Cloud Computing Load Balancing Algorithms Comparison Based Survey
Cloud Computing Load Balancing Algorithms Comparison Based SurveyCloud Computing Load Balancing Algorithms Comparison Based Survey
Cloud Computing Load Balancing Algorithms Comparison Based SurveyINFOGAIN PUBLICATION
 
Static Enabler: A Response Enhancer for Dynamic Web Applications
Static Enabler: A Response Enhancer for Dynamic Web ApplicationsStatic Enabler: A Response Enhancer for Dynamic Web Applications
Static Enabler: A Response Enhancer for Dynamic Web ApplicationsOsama M. Khaled
 

Semelhante a A Modified Genetic Algorithm based Load Distribution Approach towards Web Hotspot rescue (20)

J017367075
J017367075J017367075
J017367075
 
A Distributed Control Law for Load Balancing in Content Delivery Networks
A Distributed Control Law for Load Balancing in Content Delivery NetworksA Distributed Control Law for Load Balancing in Content Delivery Networks
A Distributed Control Law for Load Balancing in Content Delivery Networks
 
Bluedog white paper - scaling for high availability, high utilization
Bluedog white paper - scaling for high availability, high utilizationBluedog white paper - scaling for high availability, high utilization
Bluedog white paper - scaling for high availability, high utilization
 
E VALUATION OF T WO - L EVEL G LOBAL L OAD B ALANCING F RAMEWORK IN C L...
E VALUATION OF  T WO - L EVEL  G LOBAL  L OAD  B ALANCING  F RAMEWORK IN  C L...E VALUATION OF  T WO - L EVEL  G LOBAL  L OAD  B ALANCING  F RAMEWORK IN  C L...
E VALUATION OF T WO - L EVEL G LOBAL L OAD B ALANCING F RAMEWORK IN C L...
 
PROPOSED LOAD BALANCING ALGORITHM TO REDUCE RESPONSE TIME AND PROCESSING TIME...
PROPOSED LOAD BALANCING ALGORITHM TO REDUCE RESPONSE TIME AND PROCESSING TIME...PROPOSED LOAD BALANCING ALGORITHM TO REDUCE RESPONSE TIME AND PROCESSING TIME...
PROPOSED LOAD BALANCING ALGORITHM TO REDUCE RESPONSE TIME AND PROCESSING TIME...
 
DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...
DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...
DYNAMIC ALLOCATION METHOD FOR EFFICIENT LOAD BALANCING IN VIRTUAL MACHINES FO...
 
Load Balancing And Yahoo!
Load Balancing And Yahoo!Load Balancing And Yahoo!
Load Balancing And Yahoo!
 
COST-MINIMIZING DYNAMIC MIGRATION OF CONTENT DISTRIBUTION SERVICES INTO HYBR...
 COST-MINIMIZING DYNAMIC MIGRATION OF CONTENT DISTRIBUTION SERVICES INTO HYBR... COST-MINIMIZING DYNAMIC MIGRATION OF CONTENT DISTRIBUTION SERVICES INTO HYBR...
COST-MINIMIZING DYNAMIC MIGRATION OF CONTENT DISTRIBUTION SERVICES INTO HYBR...
 
Cost minimizing dynamic migration of content
Cost minimizing dynamic migration of contentCost minimizing dynamic migration of content
Cost minimizing dynamic migration of content
 
Cost-Minimizing Dynamic Migration of Content Distribution Services into Hybri...
Cost-Minimizing Dynamic Migration of Content Distribution Services into Hybri...Cost-Minimizing Dynamic Migration of Content Distribution Services into Hybri...
Cost-Minimizing Dynamic Migration of Content Distribution Services into Hybri...
 
An Efficient Distributed Control Law for Load Balancing in Content Delivery N...
An Efficient Distributed Control Law for Load Balancing in Content Delivery N...An Efficient Distributed Control Law for Load Balancing in Content Delivery N...
An Efficient Distributed Control Law for Load Balancing in Content Delivery N...
 
IRJET- Commercial Web Application Load Balancing based on Hybrid Cloud
IRJET- Commercial Web Application Load Balancing based on Hybrid CloudIRJET- Commercial Web Application Load Balancing based on Hybrid Cloud
IRJET- Commercial Web Application Load Balancing based on Hybrid Cloud
 
Role of Virtual Machine Live Migration in Cloud Load Balancing
Role of Virtual Machine Live Migration in Cloud Load BalancingRole of Virtual Machine Live Migration in Cloud Load Balancing
Role of Virtual Machine Live Migration in Cloud Load Balancing
 
Modified Active Monitoring Load Balancing with Cloud Computing
Modified Active Monitoring Load Balancing with Cloud ComputingModified Active Monitoring Load Balancing with Cloud Computing
Modified Active Monitoring Load Balancing with Cloud Computing
 
P2P Video-On-Demand Systems
P2P Video-On-Demand SystemsP2P Video-On-Demand Systems
P2P Video-On-Demand Systems
 
Performance Evaluation of Virtualization Technologies for Server
Performance Evaluation of Virtualization Technologies for ServerPerformance Evaluation of Virtualization Technologies for Server
Performance Evaluation of Virtualization Technologies for Server
 
Real time service oriented cloud computing
Real time service oriented cloud computingReal time service oriented cloud computing
Real time service oriented cloud computing
 
Load Balancing Algorithm to Improve Response Time on Cloud Computing
Load Balancing Algorithm to Improve Response Time on Cloud ComputingLoad Balancing Algorithm to Improve Response Time on Cloud Computing
Load Balancing Algorithm to Improve Response Time on Cloud Computing
 
Cloud Computing Load Balancing Algorithms Comparison Based Survey
Cloud Computing Load Balancing Algorithms Comparison Based SurveyCloud Computing Load Balancing Algorithms Comparison Based Survey
Cloud Computing Load Balancing Algorithms Comparison Based Survey
 
Static Enabler: A Response Enhancer for Dynamic Web Applications
Static Enabler: A Response Enhancer for Dynamic Web ApplicationsStatic Enabler: A Response Enhancer for Dynamic Web Applications
Static Enabler: A Response Enhancer for Dynamic Web Applications
 

Mais de idescitation (20)

65 113-121
65 113-12165 113-121
65 113-121
 
69 122-128
69 122-12869 122-128
69 122-128
 
71 338-347
71 338-34771 338-347
71 338-347
 
72 129-135
72 129-13572 129-135
72 129-135
 
74 136-143
74 136-14374 136-143
74 136-143
 
80 152-157
80 152-15780 152-157
80 152-157
 
82 348-355
82 348-35582 348-355
82 348-355
 
84 11-21
84 11-2184 11-21
84 11-21
 
62 328-337
62 328-33762 328-337
62 328-337
 
46 102-112
46 102-11246 102-112
46 102-112
 
47 292-298
47 292-29847 292-298
47 292-298
 
49 299-305
49 299-30549 299-305
49 299-305
 
57 306-311
57 306-31157 306-311
57 306-311
 
60 312-318
60 312-31860 312-318
60 312-318
 
5 1-10
5 1-105 1-10
5 1-10
 
11 69-81
11 69-8111 69-81
11 69-81
 
14 284-291
14 284-29114 284-291
14 284-291
 
15 82-87
15 82-8715 82-87
15 82-87
 
29 88-96
29 88-9629 88-96
29 88-96
 
43 97-101
43 97-10143 97-101
43 97-101
 

Último

Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 

Último (20)

Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 

A Modified Genetic Algorithm based Load Distribution Approach towards Web Hotspot rescue

  • 1. Proc. of Int. Conf. on Computational Intelligence and Information Technology A Modified Genetic Algorithm based Load Distribution Approach towards Web Hotspot rescue Debashree Devi1, Y. Jayanta Singh 2 1, 2 Department of Computer Science & Engineering and Information Technology, DonBosco College of Engineering and Technology, Assam DonBosco University, Guwahati, India Email: debashree.0748@gmail.com Email: jayanta@dbuniversity.ac.in Abstract—Web hotspot is a serious problem often experienced in case popular websites. It provides dramatic load spike in a website, which occurs when a huge number of users accessing the same website. A prominent solution to this problem is server load balancing. Dynamic load balancing involves allocation of requests to the server or processor dynamically when they arrive. For effective load balancing, a near-optimal schedule of incoming requests or processes must be determined “on-the-fly”, so that execution of requests can be completed in shortest possible time. So we have proposed a Genetic Algorithm based load balancing scheme which relies on a process scheduling policy. Genetic Algorithm provides to search for the optimal solution out a search of candidate solutions. It follows the survival-of-the-fittest principle, to achieve the optimal solution, through a number of generations. The proposed algorithm is evaluated for various population size and number of generations, to maximize the processor utilization of nodes/ processors in the system. Index Terms— Dynamic Load Balancing, Genetic Algorithm, Server load balancing, Web hotspot. I. INTRODUCTION With the rapid increase in the no. of internet users, it is obvious for a website to get a millions of hits per day. For popular websites, e.g. social networking website, online audio/ video playing website etc, this rapid increase in load may cause serious problem. Addition to this, the rapid development of internet applications, diversifies the services offered by popular websites. These services are real-time and dynamic. Hence handling of all these requests by one single server will lead to a situation of overloading. Technically such a situation can be termed as “web-hotspot”. Situations like web-hotspot generally stay for a very short period of time [1]. But it can seriously degrade the performance of a website. The use of a high performance system as a solution would be very costly. We can use a flexible web server system, which is scalable with the changing load in the website. But it also costs a high amount of money, as it leads to more hardware requirements. The concept of load balancing is not that much old. In 1995, when the Internet was first introduced, it was only used for some academic purposes. But as soon as it was introduced in to the business world, people started to use the internet for various tasks. With increasing number people accessing the internet, number of issues has to take care in order to provide good service to the customers. This is where the concept of load balancing lies. Load balancing can be defined as a form of system performance evaluation, analysis and DOI: 03.LSCS.2013.6.574 © Association of Computer Electronics and Electrical Engineers, 2013
  • 2. optimization, which is used to distribute the load constantly assigned to a single server, across a network of processing elements or servers, so as to equalize the load among the servers, at any point of time. A most commonly used load balancing technique is DNS Round Robin, a DNS-based load balancing process. This technique provides a function to associate more than one IP address to a single hostname, as shown in Fig.1 [16]. For e.g., the hostname, www.vegan.net, is associated with multiple IP addresses, provided to distribute the traffic evenly among the IP addresses. However DNS Round Robin ended up with limitations like caching issues, traffic distribution etc. Now-a-days, the SLB (server load balancing) process is quite effective in context to solve problems like redundancy, scalability and server management. SLB generally comes with components like VIP (virtual IP address), server, user access levels, redundancy, persistence, service checking, load balancing algorithms etc. Load balancing algorithms are mathematically programmed into SLB device. They are assigned to individual VIPs. There is a number of load balancing algorithm, those can be categorized as global or local, static or dynamic, centralized or distributed etc. In our proposed system, the concept of SLB is implemented, with application of an optimization algorithm, namely Genetic Algorithm. Genetic algorithm combines the exploitation of previous results with the exploration of new solutions of the search space. It generally follows the survival-of-the-fittest technique [2]. Genetic algorithm provided to maintain a population of candidate solutions that evolves over time and ultimately converges to give the optimal solution. In a population, individuals are represented by chromosome, which is represented as a string of bits. To evolve the best solution and to implement natural selection, an objective function is defined, which helps to measure a candidate solution’s relative fitness. The domain of our key problem is distributed system. Generally a distributed system comprises of a no. of computers, which acts as client, accessing services from another set of computers, which acts as servers. The most common example of distributed system is the World Wide Web (www). The WWW, everyday it intercepts a large traffic, directing it to a web server system.The purpose of web server is to store information and serve client requests. A web server system is consisting of multiple web server hosts, running a number of web applications simultaneously. Dynamic load balancing comes with the need of allocating servers/ resources to client requests, at the moment they arrive. It is “mission-critical” as it is unpredictable to determine the incoming load. It involves key issues like task migration and load sharing. According to Ref. [3], Load sharing provides to manage the tasks in the system in such a way that no processor in the system is idle. Generally a process is migrated to another processor if the migration cost or overhead is less than some predetermined matrix, in order to improve processor utilization. Migration of processes generally requires more hardware requirements, which in turn leads to increase the cost of execution. The load balancing problem strategy tries to ensure that the processors or servers in the system are equally loaded and every processor or server does same number of request processing. After receiving of the requests, a good scheduling policy should be maintained which can assure assigning of requests, to appropriate servers, within the shortest execution time. In this paper, we have considered the problem of load balancing is a process scheduling policy which takes every incoming request as one process and assign it to a processor or server for processing. The rest of the paper is organized as follows: In section 2, a brief description of the related works has given. In section 3, theoretical details about the Genetic Algorithm are described. In section 4, the system and process model is introduced. Section 5 included the proposed Genetic Algorithm based load balancing approach. The implementations and results are discussed in section 6. Section 7 includes the conclusion part. Figure 1: DNS round Robin mechanism 10
  • 3. II. RELATED WORKS Web hotspot being a serious problem as it degrades the quality of the website. Manual control on this whole process would surely affect the website quality. Ref. [1] defined DotSlash autonomic rescue system, given by Weibin Zhao, provided a solution to this problem. In order to solve the problem, DotSlash enables the web site to create a distributed web server system on the fly, adaptive to the changing environment. In the design model of DotSlash autonomic rescue system, a cost effective mechanism was applied to handle the increase request load. According to it, different web sites can form a mutual-aid community of web servers, so that in case of critical period it can use the spare capacity of other web sites in the community. The working of DotSlash rescue system can be described simply by the following steps:  Dynamic Virtual Hosting  Request Redirection  Workload Monitoring  Rescue Control  Service Recovery. A. Dynamic load balancing Approaches In client based approach, requested documents can be routed to any replicated web server even when the nodes are loosely (or not) coordinated. Routing of requests to the web clusters can be done by either Webclients or by Client-side proxy servers [4]. DNS- based approach provides to overcome the limitations of client based approach as it uses request routing mechanism in the cluster side. The cluster DNS or the authoritative DNS server for the distributed Web server system’s nodes, translates the URL to the IP address of one server, so as provides architecture transparency at the URL-level [4] [5]. Based on the scheduling algorithm, used by the cluster DNS, to balance the load on the Web server’s node, the DNS-based approach can be categorized into Constant TTL Algorithm and Adaptive or Dynamic TTL Algorithm. Cluster based approach for peer-to-peer system; B. Mortazavi and G. Kesidis [6] have used a reputation framework, based on which they have designed a game, in which players play in order to receive maximum files from the system. Brighten Godfrey and et al. [7] has proposed an algorithm for load balancing for heterogeneous and dynamic P2P system. Kalman Graffi et al [8] have used a DHT-based information gathering and system analyzing technique. Ananth Rao et al [9] to address the load balancing problem in p2p system have proposed an algorithm, which gives the idea of virtual server. Song Fu et al [10] has characterized the behaviour of randomized search algorithms in the general P2P environment. In case of dispatcher based approach, Harikesh Singh et al. [5] have addressed an advanced DNS dispatching technique provided to distribute the HTTP requests from the clients, by using Round Robin and proximity based scheduling algorithm. Many of the approaches of load balancing involved optimization techniques like Fuzzy logic, Genetic Algorithm also. Load balancing problem is known to be NP- hard in context to number of requests versus number of machines/ servers. It leads to search for an optimum solution to this problem. Yu-Kwong Kwok and et al [14] defined a new dynamic fuzzy-decision-based load balancing system incorporated in a distributed object computing environment. With the help of conventional control theory, the sudden increase in the load was considered as an external force to the system. A feedback mechanism is maintained which provide to minimize the effect of the external force to the system. A Genetic Algorithm based approach was introduced by Bibhudatta Sahoo et al [15] for dynamic load distribution in heterogeneous distributed system. It has defined the load balancing as a job scheduling mechanism, comparing the proposed system with two scheduling policies like LERT-MW and LERT-MWM. Priyanka Gonade et al [3] defined a modified Genetic Algorithm approach with an objective function for minimum load deviation of a node. III. GENETIC ALGORITHM - THEORETICAL CONCEPT Genetic Algorithm (GA) is search based method which works based on the principle of natural selection and genetics. It is a model based on search methods, provided to obtain the optimal solution out of a search space consists of a population of potential solution. This algorithm follows the principle of survival of the fittest, where each individual presents a point in problem solution’s search space. An individual which represents a candidate solution can be expressed as string of bits, referred to as chromosomes. Each chromosome is 11
  • 4. composed of variables called genes and values associated with the genes are termed as alleles. To evolve the best solution and to implement natural selection, an objective function is defined, which helps to measure a candidate solution’s relative fitness. The objective function is an important concept as it is used subsequently used by the GA to guide the evolution of best solutions. After the problem is encoded in a chromosomal manner and an objective function has been chosen, solution to the search problem can be evolved by using the following steps [11]:  INITIALIZATION: The initial population of candidate solutions is usually generated randomly across the search space.  EVALUATION: After initialization of the population, the fitness values of all the candidate solutions are evaluated by using the objective function.  SELECTION: Selection provides to select those solutions with higher fitness value to the next generation and thus imposes the survival-of-the-fittest mechanism on the candidate solutions. The main idea of selection is to prefer better solutions to worse ones, and many selection procedures have been proposed to accomplish this idea. Some of the selection techniques are roulette-wheel selection, stochastic universal selection, ranking selection and tournament selection.  RECOMBINATION: Recombination provides to combine parts of two or more parental candidate solutions to create a new, possibly better solutions, termed as offspring. The offspring under recombination will not be identical to any particular parent and will instead combine parental traits in a novel manner [13].  MUTATION: The task of mutation is to locally but randomly modify a solution. It generally involves changing one or more traits of an individual. We can say that the mutation performs a random walk in the space of the candidate solutions.  REPLACEMENT: The offspring population created by selection, recombination, and mutation replaces the original parental population. Many replacement techniques such as elitist replacement, generation-wise replacement and steady-state replacement methods are used in GAs.  TERMINATION CONDITIONS OR STOPPING CONDITIONS: Termination conditions are generally problem dependent. Some general stopping conditions are obtaining of optimal solution, same fitness value for more than one generation, consecutively etc. A. Basic Genetic Algorithm Operators SELECTION OPERATOR: The basic selection techniques can be distinguished into two categories:  FITNESS PROPORTIONATE SELECTION This includes methods such as roulette-wheel selection and stochastic universal selection [11]. In roulettewheel selection, each individual in the population is assigned a roulette wheel slot sized according to its fitness value. Thus a better solution will have a larger slot than a less fit solution.  ORDINAL SELECTION This includes methods such as tournament selection and truncation selection [11]. In tournament selection, snumber of chromosomes are selected in random and put in tournament against each other. The fittest group with k-number of individuals is selected as the parent. RECOMBINATION OPERATOR: After selection, individuals from the offspring pool are recombined (or crossed over) to create new, hopefully better, offspring. In recombination process, two individuals are selected randomly and recombined with predefined probability, pc, termed as crossover probability. A uniform random number, r is defined which is compared with the pc. If r<= pc, then the individuals are recombined and if r> pc, then individuals are simply taken to be the copy of their parents. A pseudo code for the above mechanism is given below: Pseudo Code: [1] Start [2] Define r any random number [3] Define pc, pc= crossover probability [4] If r <= pc 12
  • 5. [5] then perform recombination [6] else [7] copy the parents to the next generation. [8] End MUTATION OPERATOR: The significance of mutation operator is to add diversity to the population and to ensure the exploration of entire search space. Mutation is the primary variation/search operator, which is performed with low probability in GA. Bit-flip mutation is the most common mutation technique used. A mutation probability, pm is defined, according to which each bit in a binary string is changed (as 0 is converted to 1, and vice versa). REPLACEMENT OPERATOR: Replacement techniques are used to introduce the newly generated offspring into the parental population. Some of the replacement techniques are:  Delete-All: It provides to delete all the individuals in a current population and replace them with same number of newly created offspring.  Steady-State: This technique provides to delete n-number of old members and replace them with n-number of new offspring. The number to delete and replace, n, at any one time is a parameter to this deletion technique.  Steady-state-no-duplicates: While replacing n-number of parents with n-number of offspring, this technique ensures that no duplicate chromosomes are added to the population. IV. SYSTEM AND PROCESS MODEL In this paper, the problem of load balancing implements a process scheduling policy. Every incoming client requests are taken as one process. We have to find the optimum schedule according to which the processes/ requests are allocated to different servers, according to their demand. Process scheduling mechanism can be implemented into two phases:  PROCESS DISTRIBUTION: Provide to distribute the load equally on the processor.  PROCESS EXECUTION ORDERING: Genetic algorithm concept is used in this stage. GA provided to search random search methods that mimic the principle of evolution mad natural selection. From an entire solution space, GA provided to search for the optimal solution. Every request that arrived at the distributed server system is considered as one process. A request queue is defined which will entry each request in it, i.e. received every request is put into the queue. They are taken out from the queue for processing in a FCFS order. Let P= (p1, p2, p3.........pn) denoted the set of processor or server in the distributed system. Constraint is applied as one processor can execute only one request at a time. J= (j1, j2, j3............j m) denotes the set of processes to be executed A n×m assignment matrix, where the value pik , 1 < i < n, 1 < k < m; denotes number of times a process, pi is allocated to a specific server, jk. With every schedule, the matrix gets increased. The process scheduling mechanism can be depicted by the Fig. 2 [3] [12]. As shown in Fig.2,  represents the request queue and 1, 2,.........m represents the processors or severs in the distributed system. In this paper it is considered the underlying system architecture has the following components, as shown in figure 3.  Clients  Forwarding Machine  MASTER  Servers 13
  • 6. Figure 2: process scheduling mechanism Clients are connected through a network to the distributed server system. A distributed server system consists of a number of servers, interconnected to each other. When clients have send requests, it is basically received by the FMs (Forwarding machine), which are responsible for forwarding the requests to the servers. Behind every FM, a server or sometimes a cluster of servers is present; to process different requests according to their demand. The MASTER performs the role of server load balancer. Server load balancing can be defined as the process of distributing the traffic occurred in a web site, among a number of servers, using a Network-based device. Generally it is a user- transparent process. In our underlying system model, the MASTER is responsible for taking decisions about the process/ request assignment. To avoid deadlock-type situation, the process scheduling mechanism must fulfil the following two constraints: Time Constraint (CT): Processes/ requests with same demand can’t be allocated to a server simultaneously. There should be a specific time-interval while allocating processors/servers, to different requests/ processes. Activity Constraint (CA): No server should be active or ideal forever. After a specific time period, each server should assign to sleep (idle) state, while other servers processing the requests. To simply define the load balancing problem, suppose we have a set of n-requests or tasks, which we have to assign to m- machines/ servers. We are given an array of non-negative elements, T[1,2,….n], where the value T[i] represents the running time of a task, i. The assignment is given by the assignment matrix. A. Performance Metrics: To evaluate the performance of the proposed model, we have considered the following metrics PROCESSOR LOAD: It is defined as the number of processes allocated to a specific process/ server. It is denoted by load(pi), gives the total number of processes a processor has which is the sum of number of processor already allocated to that processor and the newly assigned processes to that processor. Mathematically, ( )=∑ . , , +∑ . , , (1) MAKESPAN: It is defined as the maximum finishing time or total execution time required to complete the maximum load on any processor, pi, at any time, t. Mathematically, ( ) = max (2) PROCESSOR UTILIZATION: Processor utilization for any processor, pi is obtained by dividing the processor load, load (pi), by the value of makespan. Mathematically, ( ( )= ) ( ) 14 (3)
  • 7. Figure 3: Underlying system architecture Average processor utilization is given by: = ∑ . . ( ) (4) V. PROPOSED GENETIC ALGORITHM BASED APPROACH Generally the Genetic Algorithm provides an efficient way to search for an optimal solution. The algorithm starts by randomly generating an initial population of possible solutions. In this paper, the proposed GAimplemented load balancing provides distribution of processes, among different processor or server, based on processor load. When a process is assigned to a processor, the processor load is updated with the latest assigning process to that processor or server, which is given by the assignment (n×m) matrix. In context to our problem, the initial population is created by randomly taking incoming requests/ processes. A request queue is defined with all un- processed requests/ processes within it. After a specific time- interval, the request/ processes are taken out from the queue in FCFS order and randomly allocated to the processors (servers). Then each schedule is evaluated according to a fitness function. Two best schedules are selected, to produce the next generation. Mutation and crossover functions are performed over the selected schedules to produce schedules with higher fitness value, in order to maintain the population size. In every generation, individuals are evaluated with the fitness function and less fit solutions are got rejected. The algorithm can be implemented in the following phases:  INITIALIZATION PHASE: Genetic algorithm provides to search from a large population of individuals. The initial population is created by randomly selecting the processes/ requests from the request queue, in FCFS order and then randomly assigned to processors (servers). The order of assigning the processes is taken as a condition. The initial population is obtained by swapping the orders of assignment of processes, for a fixed number of times.  EVALUATION PHASE: Evaluation phase provides to find a quality measure to determine how fit one individual is among the population. In context to our key problem, “web hotspot”, where the load on the server suddenly get increased to high; we define the fitness of a schedule as the number of un-processed requests. This is because our foremost aim is to find an optimum solution for distributing load among the processors (servers), so that there is a response for every incoming processes/ requests. The fittest schedule will have zero un-processed requests. The fitness function can be defined as: ( )={ = 0, ∀ = 1,2, … . } (5) So, a schedule, s is said to be fittest if there is no un-processed request. This fitness function is applied to find the fitness of individuals in the initial population.  SELECTION PHASE: Selection phase provides to get more copies of the solutions with higher fitness value and hence survival-of –the-fittest mechanism can be implemented on the candidate solution. This will improve the total fitness of 15
  • 8. the population. For selection of individuals, a quality measure, q is defined where q=u. Therefore, schedules with less number of un-processed requests/ processes are selected to the next generation.  RECOMBINATION PHASE: Recombination phase provides to create new and better offspring by combining two or more parental solutions, selected through the selection phase. There are number of recombination operators are defined to accomplish this, as follows: Crossover It involves exchanging parts of information between two randomly selected individuals. Two best individuals are randomly selected and from one string, a process, ji is selected at random and put it into the second string. For two process, ji and jk, for ji, jk € J, both the processes are exchanged between the two individuals. For one of the parents being the best individual, then we simply mutate the second string. Mutation It involves change the gene values in the chromosomes. It replaced the gene value with a new value selected from a definite domain for the gene. For mutating two processes, two number r and c are defined with the conditions: i) r#c ii) Set r is not empty. From set, r one process is selected at random and replaces it on c.  TERMINATION PHASE: Stopping conditions are defined as when the programme encounters these situations, it will get terminated. Some of the stopping conditions are:  Reached maximum number of generations,  Obtaining equal fitness for number of generations.  Obtaining desired solution. All these steps are combined to give the GA based load balancing algorithm. Here is the algorithm: Algorithm: GA based Load Balancing { [1] Initialization [2] Load Checking [3] Repeat through step [9] until request_queue is empty Until topping conditions are TRUE { [4] Randomly create the initial population [5] Apply fitness function [6] Choose two best individuals from the population [7] Crossover the selected individuals [8] Mutate the child [9] Replace the worse individuals in the population with best ones } } [10] End The whole mechanism is shown in figure 4. VI. IMPLEMENTATION AND RESULTS We have implemented our proposed algorithm on Pentium Core-i3-540 with 3.06 GHz processor and with 500GB HDD and 4GB RAM. We have used JDK 1.6 as the coding language and Netbeans IDE 7.0.1 as the front-end tool. For application of our proposed Genetic Algorithm to solve the load balancing problem, we have set the parameters as follows:  Population size: It defines the number of processes/ requests taken at random, in every execution. The population size will vary from 20- 100.  Number of Generations: It defines the number of cycles the algorithm is run, to converge towards the optimal solution. 16
  • 9. Figure 4: Flowchart for GA based load balancing mechanism  MI (million instructions): It defines process length, i.e. the number of instructions, each process contain as processing requirements. It varies from 1-10 MI per request. For simulating our proposed algorithm, we have implemented it with GridSim 5.4 toolkit. The GridSim toolkit comes up with multiple entities like users, brokers, Resource, GIS (Grid Information Service) and Input-Output. In our implementation of Genetic Algorithm based load balancing, for each process, is given as input with varying processing times and input file size. The “Gridlet” Package contains all the information related to a process and its execution. During simulation, GridSim provides scheduling of processes/ jobs based on two events, either time-shared or space-shared. For easier implementation of our proposed algorithm, we have considered the space-shared scheduling for simulation. For every incoming process/ request, this scheduling provides to allocate the machines/ servers immediately, if there are available machines. Otherwise the processes are queued. During Gridlet assignment, processing time for each request is determined and an event is scheduled. After completion of execution of scheduled Gridlet process, the resource simulator frees the machines/ servers and checks for request in the queue. Then it is assigned to available machines/ servers. In Table 1, a statistical scenario of a space-shared scheduling is given, for four Gridlet processes, with processing requirements are 6.5, 4.6, 10 and 8 MI respectively. We have simulated the proposed algorithm for different population size and number of generations, and then evaluate the GA convergence to maximize the processor utilization. The results are shown in Fig. 5 and Fig. 6 respectively. TABLE I: A SCHEDULING STATISTICS SCENARIO FOR SPACE-SHARED RESOURCES IN GRIDSIM Gridlet Numbers G1 Request Length (MI) 6.5 Arrival time (a) 0 G2 4.6 4 4 8.6 4.6 G3 10 6 6.5 16.5 10.5 G4 8 8 8.6 16.6 8.6 17 Start Time (s) 0 Finish Time (f) 6.5 Elapsed Time (f-a) 6.5
  • 10. Processor Utilization 100 90 --->Utilization% 80 70 60 50 40 30 Population size=80 20 Popualtion Size=40 10 Popualation size= 100 0 0 10 20 30 40 50 60 70 80 90 ---->Nos. of processor Figure 5: GA convergence for various populations with respect to processor utilization VII. CONCLUSION With the rapid increase in the number of internet users, the problem of load balancing is becoming “missioncritical” as it has to cover issues like redundancy, scalability, flexibility, QoS etc. in its solution. In this paper, we have considered the web hotspot as our key problem, with distributed system as our problem domain. We have proposed a GA approach for load distribution. Our aim was to assign the requests among the servers in such a way that every request get processed, even in situations like “web hotspot”, where the load in the site get suddenly increased to very high. While implementing GA, we have formulated the load balancing problem as a process scheduling policy. A modified genetic algorithm is introduced with an objective function equal to number of un-processed requests/ processes in a random population. We have simulated our proposed model by using GridSim distributed system simulator, with space-shared scheduling of resources. The results have shown that with different population size, the GA convergence for maximizing processor utilization is obtained well. Even with the increasing number of processes, the proposed algorithm converges towards the optimal solution. For varying number of generations, it has given a near optimal result. Through the work, we did not compare our work with any previous work. Besides more number of parameters have to be evaluated, for various situation. In our future work, we would try to simulate our proposed algorithm for more number of parameters, and in different problem domain. VIII. ACKNOWLEDGEMENT While concluding the paper, we would like to thank those people who endowed upon us their constant guidance and encouragement during the work. We would like to thank and express our sense of gratitude to the faculty members of Department of Computer Science Engineering & Information Technology, for their kind help and encouragement. Lastly we express our gratitude to our parents and all the friends who helped us in one way or the other. REFERENCES [1] Weibin Zhao, “Towards Autonomic Computing: Service Discovery and Web Hotspot Rescue”, COLUMBIA UNIVERSITY, 2006. [2] Albert Y. Zomaya, Yee-HweiTeh, “Observations on Using Genetic Algorithms for Dynamic Load-Balancing”, IEEE, transactions on parallel and distributed systems, Vol. 12, Number. 9, September 2001. [3] Priyanka Gonnade, Sonali Bodkhe, “An Efficient load balancing using Genetic algorithm in Hierarchical structured distributed system”, International Journal of Advanced Computer Research, Volume-2 Number-4 Issue-6 December-2012. [4] Valeria Cardellini, Michale Colajanni, Phillip S.Yu, “ Dynamic Load balancing web Server System”, IEEE Internet Computing, vol. 3, Number 3, PP 28-39, May-June 1999. 18
  • 11. Procesor Utilization --->Processor Utilization 120 100 80 60 40 Processor Utilization 20 0 10 15 20 25 30 ---->No. of Generations Figure 6: Performance comparison of processor utilization with respect to number of generations [5] Harikesh Singh, Dr. Shishir Kumar, “Dispatcher Based Dynamic Load Balancing on Web Server System”, International Journal of Grid and Distributed Computing Vol. 4, Number. 3, September, 2011. [6] B. Mortazavi and G. Kesidis, "Cumulative Reputation Systems for Peer-to-Peer Content Distribution", in proceedings of IEEE Annual Conference on Information Sciences and Systems, PP 1546- 1552, 22-24 March 2006. [7] BrightenG odfrey, KarthikLakshminarayanan, Sonesh Surana, Richard Karp, IonStoica, “Load Balancing in Dynamic Structured P2P Systems”, IEEE INFOCOM 2004. [8] Kalman Graffi, Sebastian Kaune, Konstantin Pussep, Aleksandra Kovacevic, Ralf Steinmetz, “Load Balancing for Multimedia Streaming in Heterogeneous Peer-to-Peer Systems” NOSSDAV, Braunschweig, Germany, 2008. [9] Ananth Rao, Karthik Lakshminarayanan, Sonesh Surana, Richard Karp, Ion Stoica, “Load Balancing in Structured P2P Systems”, Elsevier Science Publishers B. V. Amsterdam, The Netherlands, volume 63, Issue 3, March 2006. [10] Song Fu, Cheng-Zhong Xu, Haiying Shen, “Random Choices for Churn Resilient Load Balancing in Peer-to-Peer Networks”, In Proceedings of the 22nd ACM/IEEE International Parallel and Distributed Processing Symposium (IPDPS), 2008. [11] Kumara Sastry, David Goldberg, Graham Kendall, “GENETIC ALGORITHMS”, Search Methodologies, Springer, PP 97-125, 2005. [12] Vinay Harsora, Apurva Shah, “A Modified Genetic Algorithm for Process Scheduling in Distributed System”, IJCA Special Issue on “Artificial Intelligence Techniques - Novel Approaches & Practical Applications”, AIT, 2011. [13] D. E. Goldberg, “Design of Innovation: Lessons From and For Competent Genetic Algorithms”, Kluwer, Boston, MA, 2002. [14] Yu-Kwong Kwok_ and Lap-Sun Cheung, “A new fuzzy-decision based load balancing system for distributed object computing”, Elsevier Journal of Parallel and Distributed Computing, 2003. [15] Bibhudatta Sahoo, Sudipta Mohapatra, and Sanjay Kumar Jena, “A Genetic Algorithm Based Dynamic Load Balancing Scheme for Heterogeneous Distributed Systems”, Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications, Vol-2, Issue-July, 2008. Bools: [16] Tony Bruke, “Server Load Balancing”, Published by O'Reilly & Associates, Inc., 101 Morris Street, Sebastopol, August, 2001. 19