Sie sind auf Seite 1von 26

BIO-INSPIRED LOAD BALANCING

ALGORITM USING OSMOSIS


Under the Guidance of :
Dr . K . Thirupathi Rao 160030102
160030163
160030432
What is cloud computing?
■ The practice of using a network of remote servers hosted on the Internet to store,
manage, and process data, rather than a local server or a personal computer.

■ In the simplest terms, cloud computing means storing and accessing data and programs
over the Internet instead of your computer's hard drive. The cloud is just a metaphor for
the Internet. The cloud is also not about having a dedicated network attached storage
(NAS) hardware or server in residence.

How Cloud Computing Works


■ A cloud computing system keeps its critical data on internet servers rather than
distributing copies of data files to individual client devices. Video-sharing cloud services
like Netflix, for example, stream data across the internet to a player application on the
viewing device rather than sending customers DVD or Blu Ray physical discs.
■ Clients must be connected to the internet in order to use cloud services. Some video games on
the Xbox Live service, for example, can only be obtained online (not on physical disc), while
some others also cannot be played without being connected.
■ Some industry observers expect cloud computing to keep increasing in popularity in coming
years. The Chromebook is one example of how all personal computers might evolve in the
future under this trend — devices with minimal local storage space and few local applications
besides the web browser (through which online applications and services are reached).
Deployment Models
■ There are four cloud deployment models: public, private, community, and hybrid.
Each deployment model is defined according to where the infrastructure for the environment
is located.
■ Public cloud : Public Cloud is a type of cloud hosting that allows the accessibility of systems
& its services to its clients/users easily. Some of the examples of those companies which
provide public cloud facilities are IBM, Google, Amazon, Microsoft, etc. This cloud service is
open for use.
■ Private cloud: Private Cloud also termed as 'Internal Cloud'; which allows the accessibility of
systems and services within a specific boundary or organization. The cloud platform is
implemented in a cloud-based secure environment that is guarded by advanced firewalls
under the surveillance of the IT department that belongs to a particular organization. Private
clouds permit only authorized users, providing the organizations greater control over data
and its security.
■ Hybrid cloud: Hybrid Cloud is another cloud computing type, which is integrated, i.e., it can
be a combination of two or more cloud servers, i.e., private, public or community combined
as one architecture, but remain individual entities. Non-critical tasks such as development
and test workloads can be done using public cloud whereas critical tasks that are sensitive
such as organization data handling are done using a private cloud
 Community cloud : Community Cloud is another type of cloud computing in which the setup of
the cloud is shared manually among different organizations that belong to the same community
or area. Example of such a community is where organizations/firms are there along with the
financial institutions/banks.
Cloud service models
IaaS
Infrastructure as a service (IaaS) is a cloud computing offering in which a vendor provides users access to
computing resources such as servers, storage and networking. Organizations use their own platforms and
applications within a service provider’s infrastructure.
Key features : Instead of purchasing hardware outright, users pay for IaaS on demand.
Infrastructure is scalable depending on processing and storage needs.
Saves enterprises the costs of buying and maintaining their own hardware.
Because data is on the cloud, there can be no single point of failure.
Enables the virtualization of administrative tasks, freeing up time for other work.
PaaS
■ Platform as a service (PaaS) is a cloud computing offering that provides users with a cloud
environment in which they can develop, manage and deliver applications. In addition to storage and
other computing resources, users are able to use a suite of prebuilt tools to develop, customize and
test their own applications.
Key features : PaaS provides a platform with tools to test, develop and host applications in the same
environment.
Providers manage security, operating systems, server software and backups.
Facilitates collaborative work even if teams work remotely.
SaaS
Software as a service (SaaS) is a cloud computing offering that provides users with access to a
vendor’s cloud-based software. Users do not install applications on their local devices. Instead, the
applications reside on a remote cloud network accessed through the web or an API. Through the
application, users can store and analyze data and collaborate on projects.
Key features :
 SaaS vendors provide users with software and applications via a subscription model.
 Users do not have to manage, install or upgrade software; SaaS providers manage this.
 Data is secure in the cloud; equipment failure does not result in loss of data.
 Use of resources can be scaled depending on service needs.
 Applications are accessible from almost any internet-connected device, from virtually anywhere
in the world.
Load balancing in cloud computing
■ Cloud load balancing is defined as the method of splitting workloads and computing properties in a
cloud computing. It enables enterprise to manage workload demands or application demands by
distributing resources among numerous computers, networks or servers. Cloud load balancing
includes holding the circulation of workload traffic and demands that exist over the Internet.
■ As the traffic on the internet growing rapidly, which is about 100% annually of the present traffic.
Hence, the workload on the server growing so fast which leads to the overloading of servers mainly for
popular web server. There are two elementary solutions to overcome the problem of overloading on the
servers-
■ First is a single-server solution in which the server is upgraded to a higher performance server.
However, the new server may also be overloaded soon, demanding another upgrade. Moreover, the
upgrading process is arduous and expensive.
■ Second is a multiple-server solution in which a scalable service system on a cluster of servers is built.
That’s why it is more cost effective as well as more scalable to build a server cluster system for
network services.
■ Load balancing is beneficial with almost any type of service, like HTTP, SMTP, DNS, FTP, and POP/IMAP.
It also rises reliability through redundancy. The balancing service is provided by a dedicated hardware
device or program. Cloud-based servers farms can attain more precise scalability and availability using
server load balancing.
Abstract
Cloud computing is the use of the resources and delivering hosted services with the help of the
internet. Cloud computing is increasing quickly as a successful paradigm presenting on-demand
services like infrastructure, platform, and software to customers. Load balancing is one of the main
issues in cloud computing to distribute the dynamic or the static workload equally among all the
nodes to avoid the overload in the nodes while other nodes are under loaded. There are Many
algorithms that have been come into existence to perform this task. Recently, the world is turning into
a new standard for optimization search by applying the osmosis theory from chemistry to form
osmotic computing. Osmotic computing is targeted to achieve balance in highly distributed cloud
environments. The main aim of this paper is to propose the hybrid metaheuristics technique which
combines both the osmotic behaviour with bio-inspired load balancing algorithms. The osmotic
behaviour enables the automatic deployment of virtual machines(VMs) that are present in the
physical machines are migrated through cloud infrastructures. The hybrid artificial bee colony and ant
colony optimization provides its well planning in the dynamic environment in cloud computing
environment. This paper gives the advantages of these bio-inspired algorithms to form an osmotic
hybrid artificial bee and ant colony (OH_BAC) optimization load balancing algorithm in cloud
computing. The proposed algorithm overcomes the drawbacks of the existing bio-inspired algorithms
in achieving load balancing between physical machines. The predicted results show that OH_BAC
decreases energy used to balance the physical machines, the number of VMs migrations and the
number of unused hosts compared to existing algorithms .In advance, it enhances the quality of
services(QoS s) and performance decrease due to migrations (PDMs).
Types of load balancing algorithms
■ Static algorithms: The static algorithm requires the knowledge about which the system consists of memory,
processing power and performance. These algorithms do not need the information regarding the present state of
the node. In static algorithms decision about load balancing is done at compile time. All the give nodes and there
properties are known in advance, the algorithm works based on this already given information. While distributing
the load a static algorithm don’t use the system information and is very less complex. These algorithms works
properly in a system with low differences of load.
Types of Static Algorithms:
■ Round robin algorithm
■ Min-Min algorithm
■ Max-Min algorithm
■ Opportunistic Load balancing algorithm
Dynamic algorithms: In dynamic algorithms decisions are made based on the current state of system i.e. it will not
consider the previous knowledge about the system. Dynamic algorithms consider different policies like transfer policy,
selection policy, location policy and information policy to balance the load in the system.
Types of Dynamic Algorithms:
 Ant Colony optimization technique
 Honey Bee Foraging Algorithm
 Biased Random Sampling Algorithm
Techniques used : osmosis , OH_BAC
Algorithm
OSMOSIS TECHINQUE:
In chemistry, “osmosis” represents the unrestrained net movement of molecules from a higher
(low solute concentration) to a lower water concentration (high solute concentration). As
shown in Figure 1(a), when pure liquid water and glucose are separated by a semi permeable
membrane, water moves from high to low water activity as shown in Figure 1(b). So, osmotic
pressure is important to be applied to a solution to stop the flow of water across a semi
permeable membrane as shown in Figure 1(c).
Hybrid Algorithm(OH_BAC): Artificial bee
colony and Ant colony optimisation
Artificial bee colony : Artificial Bee Colony (ABC) is another bio-inspired algorithm based on honey bee’s
behaviour. It is divided into three stages: Scout bees, employed bees, and onlooker bees.
 Scout bees are responsible for searching food source randomly, employed bees share information of food to
the onlooker bees, and
 onlooker bees discover the amount of nectar and compute the probability. Finally, they come back to their
hive and go to the dance zone to perform waggle dance. This dance is the best approach to share data about
quality of food source. While sharing data, bees compute the quality of food and energy waste.
 After that, onlooker bees pick the best one and then scout honey bees back to the chosen food source to get
nectar and come back to the hive. ABC performs well as system diversity growing. However, various
downsides of ABC incorporate lack of use of secondary information, the possibility of losing important data,
slow down when used in sequential processing, and the increasing number of solutions raises the
computational cost.
 Same Behavior is applied in the field of cloud computing where honey bees will represent task and food
source will be represented as virtual machine. These virtual machines can be overloaded (representing
depletion of food source) or under loaded. So in order to achieve better performance load balancing is
performed where the task having lowest priority is moved to under loaded node(represents new food source
has been obtained.
Artificial bee colony flowchart
Ant colony optimisation :
 Ant Colony Optimization (ACO) is a random selecting algorithm which depends on the ant’s
behaviour. It depends on searching widely for food by its pheromone trails for connection and
back to their nest via shortest route by the concentration of pheromone. The concentration of
the pheromone starts evaporating. The power of pheromone depends on the goodness and
distance of the food . ACO adapt to dynamic environments. It is extremely good in fault
tolerance and scalability which improve the performance of the system. The downside of ACO
is causing overhead due to utilizing more than one control parameter to find the amount of
pheromone and the attractively of each movement.
Implementation of algorithm
■ The thesis proposes an improved OH-BAC process to solve the job distributing problem in
dynamic cloud computing environment. The approach has two main aspects. The First aspect
deals with the development of the cloud framework for job scheduling while the second deals
with the development of OH-BAC algorithm which would be applied on the cloud so as to
improve the job scheduling technique. The number of resources used should be timely
processed “used by every cloud user based” on the time occupied and access charge on the
network. The Job scheduling algorithm will not only focus on whether the total time required to
complete the task is minimized, but also on the time cost for finishing the subtasks. This will
prevent the deallocation of time and resources in the various multiple tasks performed by the
cloud users. The following assumptions are made while doing out the work.

■  The larger tasks are separated into a certain number of subtasks, to make the execution
time of each subtask of little difference as far as possible.
■ The quantity of resources allocated meets the demands of subtasks

■ Reasonably define the time during which the sub-tasks occupy the resources so that the
time spent on each subtask is of little difference.

■ Calculate Value of the Ant Colony Optimization and Improved OH_BAC. This value is
calculated based on jobs parameters. First of all, discuss the job parameters. Job parameter
include the Number of jobs, Number of Processing Element, Length of jobs /Total job size
(MB), File size which is to be Processed, Output size /size of each job.

■ Formula for calculate length of jobs = Number of job * File size of job
Algorithm used :Multi-objective task
scheduling algorithm
1.submit both VM’s list of successfully created VM’s in datacenter and task list to the broker.
2. created a received list of tasks.
3. created a received list of VM’s.
4. Non-dominated sorting(list of task)
i0
create a empty non-dominated list
dominated listlist of task
initially put 𝑡𝑎𝑠𝑘𝑖 in the non-dominated list
for all i1 to size of tasks list do
for all j0 to size of non-dominated list do
if 𝑡𝑎𝑠𝑘𝑗 dominates 𝑡𝑎𝑠𝑘𝑖 then
put 𝑡𝑎𝑠𝑘𝑗 into non-dominated set
else
if 𝑡𝑎𝑠𝑘𝑖 dominates 𝑡𝑎𝑠𝑘𝑗 then
put 𝑡𝑎𝑠𝑘𝑖 into non-dominated set
end if
else
if 𝑡𝑎𝑠𝑘𝑖 dominates 𝑡𝑎𝑠𝑘𝑗 into non-dominated set
end if
end for
end for
5. sort the list of task according to the non-dominated task set
6.sort the VM received list in descending order
7.j0.7
for all i0 to the size of tasks list do
if j>=0 then
Bind 𝑡𝑎𝑠𝑘𝑖 to the 𝑉𝑀𝑗 j++
If j==number of VM’s then
j=0
end if
end if
end for
Packages used:
■ import java.io.FileNotFoundException;

■ import java.io.FileOutputStream;

■ import java.io.IOException;

■ import java.io.PrintStream;

■ import java.text.DecimalFormat;

■ import java.util.ArrayList;

■ import java.util.Calendar;

■ import java.util.HashSet;

■ import java.util.LinkedList;

■ import java.util.List;

■ import org.cloudbus.cloudsim.Cloudlet;

■ import org.cloudbus.cloudsim.CloudletSchedulerSpaceShared;
■ import org.cloudbus.cloudsim.CloudletSchedulerTimeShared;
■ import org.cloudbus.cloudsim.Datacenter;
■ import org.cloudbus.cloudsim.DatacenterBroker;
■ import org.cloudbus.cloudsim.DatacenterCharacteristics;
■ import org.cloudbus.cloudsim.Host;
■ import org.cloudbus.cloudsim.Log;
■ import org.cloudbus.cloudsim.Pe;
■ import org.cloudbus.cloudsim.Storage;
■ import org.cloudbus.cloudsim.Vm;
■ import org.cloudbus.cloudsim.VmAllocationPolicySimple;
■ import org.cloudbus.cloudsim.VmSchedulerSpaceShared;
■ import org.cloudbus.cloudsim.VmSchedulerTimeShared;
■ import org.cloudbus.cloudsim.VmSchedulerTimeSharedOverSubscription;
■ import org.cloudbus.cloudsim.core.CloudSim;
■ import org.cloudbus.cloudsim.provisioners.BwProvisionerSimple;
■ import org.cloudbus.cloudsim.provisioners.PeProvisionerSimple;
■ import org.cloudbus.cloudsim.provisioners.RamProvisionerSimple;
■ import org.cloudbus.cloudsim.util.WorkloadFileReader;
Results obtained
conclusion
 In this paper, the osmosis theory from the chemistry science is proposed to form osmotic
computing and find load balancing for VM placement by OH_BAC algorithm. OH_BAC applies
osmosis technique to provide energy efficient cloud computing environment. In OH_BAC
algorithm, ACO and ABC cooperate to select the best VM to migrate to the most suitable PM. In
addition, OH_BAC makes activation to the most suitable osmotic host among all PMs in the
system to decrease power consumption. The proposed algorithm has been simulated to
calculate the performance at various metrics in two experiments with fixed and variable loads.

■ The proposed algorithm has been simulated to calculate the performance at various metrics in
two experiments with fixed and variable loads. OH_BAC algorithm is compared with ACO, ABC,
H_BAC and host overloading detection algorithms. The simulation results showed that OH_BAC
improves energy consumption, SLAV, number of virtual machine migration, and the number of
hosts’ shutdowns when compared with other algorithms in fixed and variable loads. However,
OH_BAC has more SLATAH when compared with other algorithms but it is not affect the
performance of the considered cloud system.

Das könnte Ihnen auch gefallen