ISSN ONLINE(2320-9801) PRINT (2320-9798)

All submissions of the EM system will be redirected to Online Manuscript Submission System. Authors are requested to submit articles directly to Online Manuscript Submission System of respective journal.

Load Balancing in Large Scale Cloud system Using Multiple Load Balancer Technique in the Cloud

S.Ilayanila, Prof.V.Ponkodi
  1. M.Phil Research Scholar, Thanthi hans roever college, Perambalur, Tamil nadu, India
  2. Assistant Professor in Computer Application, Thanthi hans roever College, Perambalur, Tamil nadu, India
Related article at Pubmed, Scholar Google

Visit for more related articles at International Journal of Innovative Research in Computer and Communication Engineering

Abstract

Cloud computing is emerging as a new paradigm of large scale distributed computing. Load balancing is one of the main challenges in cloud computing which required to distributed the dynamic workload across multiple nodes to ensure that no single node is over whelmed. it helps in optimal utilization of resource and hence in enhancing the performance of the system . In complex and large systems, there is a tremendous need for load balancing. For simplifying load balancing globally (e.g. in a cloud), one thing which can be done is, employing techniques would act at the components of the clouds in such a way that the load of the whole cloud is balanced. For this purpose, we are discussing three types of solutions which can be applied to a distributed system: honeybee foraging algorithm, a biased random sampling on a random walk procedure and Active Clustering. the goal of load balancing is to minimize the resource consumption using Multiple load balancer in the Large scale cloud system. to achieves global load balancing through local serve action ,achieves load balancing across all system node using random sampling of the system domain then optimizes the job assignment by connecting similar services by local re-wiring.to perform well as system diversity increase and does not increase throughput as system size increases.

Keywords

Cloud computing ,Load balancing, Large scale cloud system

INTRODUCTION

The real strength of the cloud lies in the ability to distribute your workload (and your code) over multiple nodes employing multiple technologies to create a high performance, highly scalable, highly available platform at a highly affordable price. Cloud Load Balancers makes all of this possible by programmatically routing traffic to and between your Cloud Servers and other infrastructural resources, allowing cloud architects to employ tremendous amounts of scale and redundancy that would be difficult and costly to achieve within a dedicated environment. In addition to being the traffic cop of the open cloud, we’ll discuss several other features of Cloud Load Balancers that can increase the performance, stability and security in website.

RELATED WORK

Honeybee Foraging Algorithm

This algorithm is derived from the behavior of honey bees for find ing and reaping food. There is a class of bees called the forager bees which forage for food sources, upon finding one, they come back to the beehive to advertise this using a dance called waggle dance. The display of this dance, gives the idea of the quality or quantity of food and also its distance from the beehive. Scout bees then follow the foragers to the location of food and then began to reap it. They then return to the beehive and do a waggle dance, which gives an idea of how much food is left and hence results in more exploitation or abandonment of the food source. In case of load balancing, as the web servers demand increases or decreases, the services are assigned dynamically to regulate the changing demands of the user. The servers are grouped under virtual servers (VS), each VS having its own virtual service queues. Each server processing a request from its queue calculates a profit or reward, which is analogous to the quality that the bees show in their waggle dance. One measure of this reward can be the amount of time that the CPU spends on the processing of a request. The dance floor in case of honey bees is analogous to an advert board here. This board is also used to advertise the profit of the entire colony. Each of the servers takes the role of either a forager or a scout. The server after processing a request can post their profit on the advert boards with a probability of pr. A server can choose a queue of a VS by a probability of px showing forage/explore behavior, or it can check for advertisements (see dance) and serve it, thus showing scout behavior. A server serving a request, calculates its profit and compare it with the colony profit and then sets its px. If this profit was high, then the server stays at the current virtual server; posting an advertisement for it by probability pr. If it was low, then the server returns to the forage or scout behavior.

Biased Random Sampling

Here a virtual graph is constructed, with the connectivity of each node (a server is treated as a node) representing the load on the server. Each server is symbolized as a node in the graph, with each in degree directed to the free resources of the server. Regarding job execution and completion, Whenever a node does or executes a job, it deletes an incoming edge, which indicates reduction in the availability of free resource. After completion of a job, the node creates an incoming edge, which indicates an increase in the availability of free resource. The addition and deletion of processes is done by the process of random sampling. The walk starts at any one node and at every step a neighbor is chosen randomly. The last node is selected for allocation for load. Alternatively, another method can be used for selection of a node for load allocation, that being selecting a node based on certain criteria like computing efficiency, etc. Yet another method can be selecting that node for load allocation which is under loaded i.e. having highest in degree. If b is the walk length, then, as b increases, the efficiency of load allocation increases. We define a threshold value of b, which is generally equal to log n experimentally. A node upon receiving a job, will execute it only if its current walk length is equal to or greater than the threshold value. Else, the walk length of the job under consideration is incremented and another neighbor node is selected randomly. When, a job is executed by a node then in the graph, an incoming edge of that node is deleted. After completion of the job, an edge is created from the node initiating the load allocation process to the node which was executing the job. Finally what we get is a directed graph. The load balancing scheme used here is fully decentralized, thus making it apt for large network systems like that in a cloud.

Active Clustering

Active Clustering works on the principle of grouping similar nodes together and working on these groups. The process involved is: A node initiates the process and selects another node called the matchmaker node from its neighbors satisfying the criteria that it should be of a different type than the former one. The so called matchmaker node then forms a connection between neighbors of it which is of the same type as the initial node. The matchmaker node then detaches the connection between itself and the initial node.

EXISTING SYSTEM

Load balancing is the technique of distributing the load between various resources in any system. Thus load require to be distributed over the resources in cloud-based architecture, so that each resources does almost the equal amount of work at any point of time. Basic requirement is to provide some techniques to balance requests to provide the solution of fast response for request. Cloud Load Balancers manage online traffic by distributing workloads between multiple servers and resources automatically. They maximize throughput, minimize response time, and avoid overload. every load balancing algorithm must be such as to instate the required target. Some algorithms target at achieve higher throughput, some target at achieve minimum response time, some other target to achieve maximum resource utilization while some target at achieve a trade-off between all these metrics.

PROPOSED SYSTEM

Load balancing in the cloud differs from classical thinking on load-balancing architecture and implementation by using commodity servers to perform the load balancing. From the Right scale website Patrick McClory Solutions Architect at RightScale he discussed in his article DNS Load Balancing and Using Multiple Load Balancers in the Cloud Load balancing in general is a complicated process, but there's some secret sauce in managing DNS along with multiple load balancers in the cloud. It requires that you draw from a few different sets of networking and ?cloudy? concepts. I'll explain how to set up load balancers to build a fault-tolerant, highly available web application in the cloud. Here's what you’ll need: Multiple A records for a host name in the DNS service of your choice .Multiple load balancers to protect against failure Before I explain how the two work together, let's check out how each of them works individually.

Multiple A Records for a Host Name

A records translate friendly DNS names to an IP address. For example, when you type rightscale.com in your browser, behind the scenes your computer is asking a DNS server to translate the name to an address. I'm working from a Mac and the process is a little different for Windows-based machines, so check out more on ns lookup for *nix and Windows. I'm also using one of Google's public DNS servers to perform my lookups. Check out the request below and note that when I query DNS, I'm getting a single address back for my test domain of dnsdemo.cloudlord.com:
My test domain has one A record associated and it resolves to the IP noted. Let’s check out a more complicated example — Google.com:
Note that as shown in Figure 4 below, Google returned six addresses (at the time I queried it) because Google has six A Records registered to serve its main domain. When I ran the same nslookup query again, the IP addresses were returned in a different order. This is commonly referred to as ?DNS load balancing.
Figure 5 below shows DNS load balancing in action using dnstest.cloudlord.com and a test file that indicates which server is being served up. For this example, I set up my dnstest.cloudlord.com domain with two A records. Note that this first request has one attempt and the content reads that "this is server 1."
Next, I terminated the first server on the next request (to force a failed state), and the results are shown in Figure 5 below. Note that there's a timeout on the first IP, and then the second request goes through without any issue. You'll also notice that it's returning a response of "this is server 2."
The order in which IP addresses are returned varies by the DNS server and provider used but often follows a roundrobin or geographically specific algorithm. The idea here is that different clients will get different ordered lists of IP addresses corresponding to your domain name. This has the effect of distributing requests across the group of IPs in a specific manner. If an IP address is does not respond in an appropriate amount of time, the client will time out on that request and move on to the next IP address until the list is exhausted or it finds a connection that's valid. Although it's not an exhaustive list, most modern browsers, along with curl as shown above in Figure X, follow this retry process. There are a few things to remember though: DNS failover doesn't provide any additional features such as ?sticky sessions? for your application. Upstream DNS caching is unpredictable -client DNS providers may or may not respect your TTL settings. This isn't a replacement for TCP load balancing because it's not terribly precise based on the upstream DNS caching process noted above.

Multiple Load Balancers for Redundancy and Scalability

With multiple IP addresses routing to your deployment, each of these addresses can terminate at a load balancer that serves your back-end application (see Figure 7 below). Doing this, you'll be able to present multiple endpoints to the public to serve your application (I'll get back to why this is important in a minute).
In Figure 8 below, I go a step further and illustrate how connectivity to the application layer can be set up from multiple TCP load balancers. This allows you to have multiple incoming connections each serving up the same content, providing a redundant load balancing layer as well as a redundant application layer.
DNS Load Balancing: Bringing It All Together The end result is that by using DNS load balancing, you can achieve a fairly rough balance of traffic between multiple TCP load balancers, which can manage applying load to your application servers at a more granular level:
This is a great way to protect against failure and increase overall throughput, giving you the ability to scale for high availability and high performance. For more information on metrics related to configuration and throughput on HAProxy in the cloud, check out this white paper, Load Balancing in the Cloud: Tools, Tips and Techniques. Setting up DNS load balancing can be a bit of a hassle, but the Load Balancer with HAProxy ServerTemplate, along with scripts for application servers to attach to load balancers, simplifies the process. The RightScale Server Template™ and scripts use a tag-based, managed solution that will keep your HAProxy config files synchronized and that will automate the deployment, registration, and detach process for all servers involved.

CONCLUSION AND FUTURE WORK

Our objective for this paper is to develop an effective load balancing algorithm using Multiple load balancing technique to maximize or minimize different performance parameters like CPU load, Memory capacity, Delay or network load for the clouds of different sizes. In this paper, Large scale cloud system based on Honeybee foraging behavior ,biased random sampling and active clustering algorithm are used in cloud computing architecture. This modification supports to minimize the make span of the cloud computing based services and portability of servicing the request also has been converged using the combination of technique. This technique does not consider the various environment issues. Researchers can proceed to include the cloud storage, Three level cloud computing network issues in their future researches.
 

Figures at a glance

Figure 1 Figure 2 Figure 3 Figure 4 Figure 5
Figure 1 Figure 2 Figure 3 Figure 4 Figure 5
Figure 1 Figure 2 Figure 3 Figure 4
Figure 6 Figure 7 Figure 8 Figure 9
 

References