Efficient Load Balancing for Bursty Demand in Web based Application Services via Domain Name Services Mei Lu Chin1

Chong Eng Tan2

Mohd Imran Bandan3

Faculty of Computer Science & Information Technology, Universiti Malaysia Sarawak, 94300 Kota Samarahan, Malaysia. [email protected]

Faculty of Computer Science & Information Technology, Universiti Malaysia Sarawak, 94300 Kota Samarahan, Malaysia. [email protected]

Faculty of Computer Science & Information Technology, Universiti Malaysia Sarawak, 94300 Kota Samarahan, Malaysia. [email protected]

Abstract-In this paper, we propose an enhancement to the conventional Round Robin DNS load balancing technique which allows a single domain name to be associated with several web server IP addresses in a rotated order in a server cluster. Once the DNS server resolves the domain name to one of the web server IP address, the subsequent requests from the same client will be sent to the same server regardless of the current condition of the server. However, this conventional load balancing technique has a few disadvantages; Firstly, the DNS server is unaware of the status of web servers whether their services are available or not. Secondly, making changes to the DNS records can take days to propagate across the local DNS caches because the conventional DNS server will not delete their cached DNS records until the time to live (TTL) expires. Lastly, DNS server

Owing to that, researchers have been trying to utilize parallel computers architecture to reduce the difficulty in implementing load balancing and allowing the users to make full use of the computing power available. Therefore, load balancing technique has been introduced widely to automate equalizing of workloads of the processors through the execution of parallel programs. The main purpose of load balancing is to improve the performance of parallel computers. In addition, load balancing is also used for sharing computational workloads or functions through virtualization. In virtualization, the user views multiple machines as a single virtual machine. In this paper, we propose an enhancement to the

assumes all web application servers to have equal capability to offer their services without taking into account of the server’s load and performance level. In this paper, a new approach is presented to enhance the DNS load balancing services to be more intelligent in load distribution. The DNS server is taking consideration of the status of the servers and will be distributing the services requests based on the performance matrix of the servers in the cluster. Keywords-load balancing; Round Robin; DNS

I.

INTRODUCTION

conventional Round Robin DNS Load Balancing technique. The conventional Round Robin DNS Load Balancing technique allows a single domain name to be associated with several server IP addresses in a rotated order. This technique redirects the client request to either one of the server in the server cluster. After the DNS server resolves the requested domain name to one of the server IP address, the subsequent requests from the same client will be sent to the same server. Unfortunately, this conventional technique does not taking into account the current server condition for the request distribution.

As the increasing demand for speed and processing power grows, load balancing is developed to solve limitations in large data warehousing and transactions processing that are involved in businesses, education and government. Apart from that, web sites which are popular will also experience overwhelming workload and their service can be overloaded quickly in a short period of time.

Firstly, the DNS server is unaware of the operation status of the web servers which means the DNS server does not know the servers in the cluster whether their services are available or not [1]. Secondly, DNS server will assume all of the web application servers to have equal capability to offer the services regardless the server are overloaded or underutilized.

Load balancing is a common technique to distribute the works or processes among two or more computers, hard drives, network traffic links, CPUs and other resources. The technique is to achieve the minimize response time, optimal resource utilization and maximizing the throughput. Besides, the reliability through redundancy can also be increased with the used of multiple components with load balancing instead of a single component.

Our proposal on an enhanced Round Robin DNS load balancing services offers more intelligence in load distribution by the DNS server. Under the new scheme, the DNS server is now aware of the operation status of the servers by creating a reporting mechanism for reporting server failure in the cluster to the DNS server. Moreover, the service requests are now to be distributed based on the performance matrix of the servers in the cluster. The performance matrix can be formed based on

the CPU load, memory usage, system throughput, network traffic and other parameters of the heterogeneous platform. All the mentioned parameters aim to increase the performance of the system and the effectiveness of the load balancing processes. II.

BACKGROUND

Load balancing plays an important role in distributed systems because each node has its own system resources and processing power [2]. Hence, minimizing the response time and improving the performance of each node need to be achieved so that the system resources can be fully utilized. This is owing to different types of load balancing scheme and algorithm will produce different outcomes for achieving different objectives. Thus, an appropriate load balancing method or algorithm needs to be adopted in order to achieve better performance in a particular aspect. A. Round Robin DNS Load Balancing The Round Robin DNS Load Balancing is a technique that providing a high level of availability of some services such as webs site, ftp or others services. It also uses to balance the load between the multiple servers to prevent overloading a single server. This is particularly important for busy web sites to be able to handle vast number of client requests which require multiple web servers to handle the traffic load [1]. Under this technique, the incoming client requests are handed off to a group of web servers and each of the web servers will handle a portion of the load. Therefore, Round Robin DNS technique is used to distribute the traffic between such web servers because this method is among the most convenient, least expensive and easy to setup [1].

B. HTTP Load Balancing HTTP load balancing is another important technique to application server who wants to deploy good resource utilization and high availability. The objective of this technique is to equally distribute the workloads across multiple servers so that the overall throughput of the system can be increased [4]. In addition, the HTTP load balancer also enables requests to fail over from one server instance to another by using heartbeat checks for node death detection. A new session is created when user sends HTTP requests to the load balancer. This new session is called an unassigned request [4]. The load balancer will accept the requests and forwards them to the application server in the cluster according to the round robin algorithm. Once this is done, the requests are required to go through the additional patches and context file configuration and finally, this will make sure that the load balancer sends all the requests to the same web server node once the session is created on the application server. The session is now called an assigned request or sticky request [4]. The HTTP load balancer uses cookie and URL rewriting methods to determine session stickiness via separate cookie to record the route information and append the sticky information to the URL [4]. The load balancer will determine the server to which the request was previously forwarded based on the sticky information. Therefore, the load balancer must be configured to ensure session persistence connections between users and web server nodes. This is to make sure that the users requests will always be directed to the same back end server in a healthy condition. However, a homogenous environment must be existed to allow the HTTP load balancing to be carried out among

The incoming client request will be resolved by the DNS server and one of the numerous available server IP address will be replied to the client in a rotating order. This will result in each client request is being served by a different web server and the request will be redirected to any one of the servers in the cluster [3]. The subsequent requests from the same client will be sent to the same server for processing. Nevertheless, this technique is unaware of the status of web servers which means that the DNS server does not know the servers in the cluster whether their services are available or not. If one of the servers is down, client requests will still be redirected to the failed server [2]. Besides, making changes to the DNS can take days to propagate across DNS caches. Owing to the above, this cause load imbalance because the DNS server caches DNS records and will not delete them until the time to live (TTL) expires [1]. TTL is used to determine how long a server will cache a piece of information. When a cached entry expires, the DNS server updates its local cache database by contacting the relevant DNS server again. However, the DNS servers may take a while for the cached entries of other networks to expire and look for the updated list of servers. Also, the DNS server will assume all of the web application servers are equivalent in capability to offer the services.

servers in the cluster. Besides, this technique also requires high expertise requirement for setup as a lot of configuration tasks are to be carried out so that the HTTP load balancer can function efficiently and effectively. C. Server Load Balancing Server load balancing is another technique which is commonly implemented to address the scalability, performance and availability problems. It is a process of distributing service requests across a group of servers by making the multiple servers to act as a single server or a single virtual service [5]. This will transparently distributing user request among the servers by directing the incoming requests to a dedicated server load balancer. It also being able to handle sudden increases in traffic and ensuring the servers is available at all time. The server load balancer intercepts network based traffic such as web traffic which is destined for a site by split the traffic into individual request and decides which server should receive the requests [5]. Additionally, a watch will be maintained on the available server to ensure that they are responding to the traffic. By doing so, it can solve the failure server problem in the cluster. Redundancy can also be provided by employing more than one unit in a fail over scenario [5]. The content aware distribution is offered in order to intercept cookies, XML parsing and reading URLs.

Unfortunately, the step by step implementation of the Server load balancing can cause increase in network cost and implementation complexity. Besides, server load balancing devices can also create their own performance bottlenecks if the interconnections among them are not functioning at wire speed [6]. III.

THE PROPOSED ENHANCED ALGORITHM

In this paper a new approach is proposed to enhance the Round Robin DNS load balancing by introducing a new performance indexing algorithm and a task distribution scheduler at the DNS server.

There are three advantages of the proposed algorithm as compared to the conventional one. Firstly, the request is distributed not just in order but based on the overall server performance metric which is a more accurate measure of performance. Secondly, the DNS server is aware of the current status of the servers via the reporting mechanism. The DNS server will be having the latest performance information of all servers in the cluster. Lastly, the request will be distributed to the server in the cluster based on the performance metric so that the right task is given to the right server for more efficient task execution. IV.

SIMULATIONS AND PRELIMINARY RESULTS

Users Server A 7. U in pd de at x es D as erv N as e S s r re oc wi qu ia th es ted lo t to ad

Traffic generation Retrieved IP address Performance matrix (1-10)

DNS request

Load index (1-100) 1. Client generate DNS request, load index and performance matrix at any one time

Submit DNS request to scheduler in job queue to retrieve IP address

4. Client retrieved IP address 5. Generate and send data packet to DNS server

DNS server 6. DNS server received data packet and based on packet size to derive load unit 9. Update DNS server of server load and performance matrix

load r with serve ated to date oci 7. Up x as ass est u e ind req DNS

Scheduler distributes the load to respective server IP.

Reporting mechanism

Server C

8. Update server processing queue based on server performance index

Server D

Distribute not just in order but distribute the request based on the server performance matrix (1-10)

Server perform load evaluation

Server B

8. Update server processing queue based on 7 . Up da server performance index index te server with as ass lo ad ocia DNS requ ted to est

ad lo ith to w ed er at rv ci st se so e e as qu at s re pd a S U ex N 7. ind D

User

Submit load based on IP address received.

3. Based on number of request response to request and find the server IP. 2. Submit DNS request to DNS server

8. Update server processing queue based on server performance index

8. Update server processing queue based on server performance index

Figure 2. Simulation Model

Figure 2 shows the simple network configuration used in

Figure 1. The Proposed Algorithm

The proposed performance indexing algorithm consists of load index and performance metric of each servers in the clusters. The load index indicates the current server workload of a server and the performance metric indicates the performance capability of a server. The indexing algorithm will update the task distribution scheduler at the DNS server so that the latest performance metrics of servers can be used for the next task or request distribution. Upon receive client request, the DNS server will look into the current performance metric table and decide on a server that has a good balance in load index and performance index for distributing the incoming requests. Hence, the server that is currently with the best index will be allocated the task or request. Under this enhanced algorithm, each server in the cluster will be conducting self load evaluation on their current load and performance ability and this information has to be reported to the task distribution scheduler in a timely basis. Any server fails to report within the defined time frame will be treated as a dead server until a report is received in the next update. The DNS lookup table for the server cluster is entirely based on the report received. Once a server is allocated for the client DNS request, the same server will be serving the same client until the session is completed. Figure 1 shows the overview of the proposed algorithm.

our simulation scenario. This network consists of a DNS server and four server nodes which are Server A, Server B, Server C and Server D. The simulation started with randomly generated load index and performance metrics for all servers and the task scheduler of the DNS server is updated with all these information. Throughout the simulation, client requests and sessions are randomly generated. Simulations have been carried out for the proposed algorithm and the conventional Round Robin load balancing based on the same client traffic model and also the same server load and performance index. From the preliminary results, we can see that the proposed algorithm used relatively lesser number of unit time to complete the same amount of requests and tasks. The preliminary results of simulation are shown in Table I and II. TABLE I. TASK COMPLETION TIME WHEN USING THE PROPOSED ALGORITHM WHICH BASED ON SERVER LOAD Server

A

B

C

Generated load index associated with DNS Request

Server Load

Performance Matrix

5

20 (1 unit time to process 4)

4

9

30 (2 unit time to process 3)

3

7

50 (4 unit time to process 5)

5

Updated DNS Server Load 25 30 50 90 25 39 50 90 25 39 57 90

Updated DNS Server Performance 21 30 50 90 21 36 50 90 21 36 52 90

Processing time to finish the current load (unit time)

1.25

6

5.6

D

2

90 (8 unit time to process 2)

2

25 39 57 92

21 36 52 90

Total Time Processing (unit time)

REFERENCES 8

20.85

TABLE II: TASK COMPLETION TIME WHEN USING THE CONVENTIONAL ROUND ROBIN ALGORITHM WITHOUT BASED ON SERVER LOAD Generated load index associated with DNS Request

Server

A

B

C

D

Server Load

Performance Matrix

5

50 (4 unit time to process 4)

4

9

20 (1 unit time to process 3)

3

7

90 (8 unit time to process 5)

5

2

30 (2 unit time to process 2)

2

Updated DNS Server Load 55 20 90 30 55 29 90 30 55 29 97 30 55 29 97 32

Updated DNS Server Performance 51 20 90 30 51 26 90 30 51 26 92 30 51 26 92 30

Total Time Processing (unit time)

Processing time to finish the current load (unit time)

5

3

11.2

2

21.2

From the tables above we can see that under the proposed algorithm, the more capable servers will be allocated more tasks since they can complete the tasks faster than other servers. Hence, all tasks can be completed in a relatively shorter time as compared to the conventional Round Robin scheme. Figure 3 shows the comparison of the processing time between the two algorithms.

g Time e)

Comparison the Total Time Processing between Servers 25 20 15

[1] Hart D., (2007). Load Balancing and Round Robin DNS. Adanac Software Inc. 174 Barton Road. [2] Mohammadpour P., Sharifi M. & Paikan A., (2008). A Self-Training Algorithm for Load Balancing in Cluster Computing. Fourth International Conference on Networked Computing and Advanced Information Management. [3] WebsiteGear Inc. (2003 - 2010). Round Robin DNS Load Balancing. Retrieved on November 2, 2009, from WebsiteGear Inc. Web site: http://content.websitegear.com/article/load_balance_dns.htm [4] Sun JavaTM System, (2005). Sun Java System Application Server Enterprise Edition 8.1 Administration Guide 2005Q1. Chapter 3: Configuring Load Balancing and Failover. Retrieved on November 3, 2009, from Sun JavaTM System. Web site: http://docs.sun.com/source/819-0215/loadb.html [5] Bourke, T. (2001). Help for Network Administrators: Server Load Balancing. United States of America, O’Reilly & Associates, Inc. [6] TechBrief, (2000). Extreme Networks: Server Load Balancing.

Total Processi (unit ti

10

Based on serevr load

5 0 One Two Three Four Server Server Server Server

Without based on server load

Number of Server Figure 3: Comparison of the Total Processing Time

It can be seen that the total processing time which are based on server load is less than the total time processing that are without based on server load. This means task execution is relatively more efficient in the proposed algorithm. V.

CONCLUSION

In conclusion, the performance of a load balancing system can be further enhanced if the right parameters are being taken into account in task or request distribution. Hence, the proposed algorithm in paper has indicated that by optimizing the load balancing scheme based on the right performance parameters, higher system efficiency can be achieved.

Efficient Load Balancing for Bursty Demand in Web ...

server IP address, the subsequent requests from the same client will be sent to the same .... to a dedicated server load balancer. It also being able to handle.

279KB Sizes 1 Downloads 259 Views

Recommend Documents

An efficient load balancing strategy for grid-based ...
Feb 20, 2007 - 4 – the importance of the cost of the communications make load balancing more difficult. Thus, the load bal- ..... This guarantees the low cost of the unfold operator. As (13) .... RENATER4 national network, by a 2.5 Gigabit connecti

Simple Efficient Load Balancing Algorithms for Peer-to-Peer Systems
A core problem in peer to peer systems is the distribu- tion of items to be stored or computations to be car- ried out to the nodes that make up the system. A par-.

load balancing
Non-repudiation means that messages can be traced back to their senders, ..... Traffic sources: web, ftp, telnet, cbr (constant bit rate), stochastic, real audio. ... updates, maintaining topology boundary etc are implemented in C++ while plumbing ..

An Algorithm for Load Balancing in Network Management ...
tructures often have support for seamlessly adding and remov- ing computing resources, whether by changing the physical or virtual machines, or by adding/removing machines on the fly[3]. The advent of this heterogeneity, the increase in scale in mana

Load Balancing for Distributed File Systems in Cloud
for the public cloud based on the cloud making into parts idea of a quality common ... balancing secret design to get better the doing work well in the public cloud.

Multilevel Load Balancing in NUMA Computers
Avail- able at URL http://h21007.www2.hp.com/dspp/files/unprotected/super- domejan05.pdf, 2005. [6] Hewlett-Packard, Intel, Microsoft, Phoenix and Toshiba.

Hybrid Load Balancing in Auto-ConfigurableTrusted ...
together to achieve the goal of Computer Supported. Cooperative Working ... loaded nodes to lighter one through process migration. There are instances when ...

Hybrid Load Balancing in Auto-ConfigurableTrusted ...
critical application services after hardware and software failures. ... process migration [27] or data migration according to the property of ... program that should migrate. Many of the ...... Data Mining, Cognitive Sciences, Object Oriented.

Configuring Search Appliances for Load Balancing or Failover
Considerations. 9. Monitoring the Status of the Configuration ... Failover configurations typically involve two instances of an application or a particular type of hardware. The first .... This configuration requires a DNS server and switch. Benefits

Utility-Aware Deferred Load Balancing in the Cloud ...
Abstract—Distributed computing resources in a cloud comput- ing environment ... in various ways including the use of renewable energy [2],. [3] and improved ...

Distributed Load-Balancing in a Multi-Carrier System
of SLIM to cases where Quality-of-Service (QoS) parameters are specified and ... For example, a cellular network based on EVDO-RevB [1] is one such system.

Configuring Search Appliances for Load Balancing or Failover
Load Balancing with a Virtual Connection. 7 .... Content files on a host at IP address 192.168.0.10. 4. ... This configuration requires a DNS server and switch.

Configuring Search Appliances for Load Balancing or Failover
Google Search Appliance: Configuring Search Appliances for Load Balancing or Failover. 2. Google, Inc. 1600 Amphitheatre Parkway. Mountain View, CA ...

Online Load Balancing for MapReduce with Skewed ...
strategy is a constrained version of online minimum makespan and, in the ... server clusters, offering a highly flexible, scalable, and fault tolerant solution for ...

practical load balancing pdf
Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. practical load balancing pdf. practical load balancing pdf. Open.

vdm20-load-balancing-guide.pdf
Download. Connect more apps... Try one of the apps below to open or edit this item. vdm20-load-balancing-guide.pdf. vdm20-load-balancing-guide.pdf. Open.

Load Balancing in Cloud Computing: A Survey - IJRIT
Cloud computing is a term, which involves virtualization, distributed computing, ... attractive, however, can also be at odds with traditional security models and controls. ... Virtualization means “something which isn't real”, but gives all the

Load Balancing in Cloud Computing: A Survey - IJRIT
Keywords: Cloud computing, load balancing, datacenters, clients, distributed servers. 1. ... Hybrid Cloud (Combination of Public & Private Cloud). Fig. 2: Three ...

Multilevel Load Balancing in NUMA Computers
we present our test results, using benchmarks and analytical models. Finally, .... The Linux load balancing algorithm uses a data structure, called sched domain ...

7.0 - Configuring Search Appliances for Load Balancing or ...
Monitoring the Status of the Configuration ... application, dividing the work load between the instances. .... This configuration requires a DNS server and switch.

Configuring Search Appliances for Load Balancing or Failover
search appliance if a single hardware failure occurs. Load balancing distributes network traffic of different types to the appropriate applications. Load balancing can be used to distribute network traffic of a particular type to two or more instance

Load-Balancing for Improving User Responsiveness on ...
Play Store and Apple App Store. As a result, a ... our approach tries to minimize the cost of task migration .... is designed to avoid too frequent unnecessary load-.

Configuring Search Appliances for Load Balancing or Failover
No part of this manual may be reproduced in whole or in part without the express written consent ... You can use a hot backup search ... The computer in the illustrations represents an end point of the required network path to the content.

Configuring Search Appliances for Load Balancing or Failover
You can use a hot backup search appliance in an active/active configuration provided you are able to fail over completely to a single search appliance if a single ...