An Enhanced Binning Algorithm for Distributed Web Clusters

Similar documents
Load Balancing a Cluster of Web Servers using Distributed Packet Rewriting

Load Balancing a Cluster of Web Servers

Department of Information Technology, P.R.M.I.T& R Badnera, India

HashNAT: A Distributed Packet Rewriting System Using Adaptive Hash Functions

DNS S Internet

Distributed Packet Rewriting and its Application to Scalable Server Architectures

LSMAC and LSNAT: Two Approaches for Cluster-based Scalable Web Servers

Design and implementation of an MPLS based load balancing architecture for Web switching

Scalable Web Clusters with Static and Dynamic Contents

Abstract 2.1 Weighted Round-Robin

CSE 123b Communications Software

Dynamic Load Balancing in Geographically Distributed. Heterogeneous Web Servers. Valeria Cardellini. Roma, Italy 00133

Today s class. CSE 123b Communications Software. Telnet. Network File System (NFS) Quick descriptions of some other sample applications

Study of Load Balancing Schemes over a Video on Demand System

An Efficient Storage Mechanism to Distribute Disk Load in a VoD Server

Tree-Based Minimization of TCAM Entries for Packet Classification

Client-Transparent Fault-Tolerant Web Service

Load Balancing on the Internet

Random Early Detection Web Servers for Dynamic Load Balancing

Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System

GlobeTP: Template-Based Database Replication for Scalable. Web Applications

Balancing HTTP traffic using dynamically updated weights, an implementation approach

Assignment 5. Georgia Koloniari

Surveying Formal and Practical Approaches for Optimal Placement of Replicas on the Web

CS 347 Parallel and Distributed Data Processing

For the sake of entirety I would like to mention the main differences between a), b), and c) architectures.

SWEB: Towards a Scalable World Wide Web Server on Multicomputers

Deployment Scenarios for Standalone Content Engines

CS 347 Parallel and Distributed Data Processing

A Client-Aware Dispatching Algorithm for Web Clusters Providing Multiple Services

Client-server Basics. 1. Motivation

LOAD BALANCING ALGORITHMS ROUND-ROBIN (RR), LEAST- CONNECTION, AND LEAST LOADED EFFICIENCY

An Efficient Load Balancing Strategy for Scalable WAP Gateways

Mobile Element Scheduling for Efficient Data Collection in Wireless Sensor Networks: A Survey

Lecture 8: Internet and Online Services. CS 598: Advanced Internetworking Matthew Caesar March 3, 2011

Large-Scale Web Applications

Power and Locality Aware Request Distribution Technical Report Heungki Lee, Gopinath Vageesan and Eun Jung Kim Texas A&M University College Station

Chapter 4: Distributed Systems: Replication and Consistency. Fall 2013 Jussi Kangasharju

Scalable Video Delivery on The Web. B. Prabhakaran Yu-Guang Tu Yin Wu 3. prabha, tuyuguan, comp.nus.edu.sg.

The Journal of Systems and Software

Published in Proceedings of ICCC 99, Tokyo, Japan,, Sept NetLobars: A Simulation System for Web System Design and Evaluation

Design and Implementation of A P2P Cooperative Proxy Cache System

A Performance Study of Distributed Architectures for the Quality of Web Services

Moving Toward Distributed Web Services

Clustered Network Applications

On Caching Effectiveness of Web Clusters under Persistent Connections

Dynamic Data Placement Strategy in MapReduce-styled Data Processing Platform Hua-Ci WANG 1,a,*, Cai CHEN 2,b,*, Yi LIANG 3,c

More on Testing and Large Scale Web Apps

Data-Centric Query in Sensor Networks

Cluster-Based Scalable Network Services

ABSTRACT I. INTRODUCTION

Consistency and Replication. Some slides are from Prof. Jalal Y. Kawash at Univ. of Calgary

High Availability/ Clustering with Zend Platform

Traditional Web Based Systems

Replication in Distributed Systems

ARTIST-Relevant Research from Linköping

A Co-Operative Cluster Based Data Replication Technique for Improving Data Accessibility and Reducing Query Delay in Manet s

Cloud Computing CS

A Scalable Content- Addressable Network

ANALYSIS AND EVALUATION OF DISTRIBUTED DENIAL OF SERVICE ATTACKS IDENTIFICATION METHODS

Modelling and Analysis of Push Caching

Configuring Network Load Balancing

ADAPTIVE AND DYNAMIC LOAD BALANCING METHODOLOGIES FOR DISTRIBUTED ENVIRONMENT

Flat Datacenter Storage. Edmund B. Nightingale, Jeremy Elson, et al. 6.S897

Distributed Systems Principles and Paradigms. Chapter 12: Distributed Web-Based Systems

Dynamic request management algorithms for Web-based services in cloud computing

Cooperative Caching of Dynamic Content on a Distributed Web Server

IT 341: Introduction to System

Squid Implementing Transparent Network Caching System with Squid

Load Balancing Technology White Paper

Web File Transmission by Object Packaging Performance Comparison with HTTP 1.0 and HTTP 1.1 Persistent Connection

048866: Packet Switch Architectures

Research and Implementation of Server Load Balancing Strategy in Service System

Load balancing algorithms in cluster systems

An Improved Weighted Least Connection Scheduling Algorithm for Load Balancing in Web Cluster Systems

Multi-Level Load Balancing Methods for Hierarchical Web Server Clusters

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

Cooperative Caching Middleware for Cluster-Based Servers

Comp Online Algorithms

TM ALGORITHM TO IMPROVE PERFORMANCE OF OPTICAL BURST SWITCHING (OBS) NETWORKS

A Method of Identifying the P2P File Sharing

Presence Scalability Architectures 1

Software-Defined Networking (Continued)

A FORWARDING CACHE VLAN PROTOCOL (FCVP) IN WIRELESS NETWORKS

Improvement of Buffer Scheme for Delay Tolerant Networks

Pricing Intra-Datacenter Networks with

CONTENT DISTRIBUTION. Oliver Michel University of Illinois at Urbana-Champaign. October 25th, 2011

Distributed Systems. 05r. Case study: Google Cluster Architecture. Paul Krzyzanowski. Rutgers University. Fall 2016

Intelligent Content-Based Routing for Enhanced Internet Services

GIS - Clustering Architectures. Raj Kumar Integration Management 9/25/2008

AUTHENTICATION AND LOOKUP FOR NETWORK SERVICES

New Optimal Load Allocation for Scheduling Divisible Data Grid Applications

AN EFFICIENT DEADLOCK DETECTION AND RESOLUTION ALGORITHM FOR GENERALIZED DEADLOCKS. Wei Lu, Chengkai Yu, Weiwei Xing, Xiaoping Che and Yong Yang

416 Distributed Systems. March 23, 2018 CDNs

An Enhanced Dynamic Packet Buffer Management

Data Centers. Tom Anderson

Selection of a Scheduler (Dispatcher) within a Datacenter using Enhanced Equally Spread Current Execution (EESCE)

Distributed Systems. Fall 2017 Exam 3 Review. Paul Krzyzanowski. Rutgers University. Fall 2017

HSM: A Hybrid Streaming Mechanism for Delay-tolerant Multimedia Applications Annanda Th. Rath 1 ), Saraswathi Krithivasan 2 ), Sridhar Iyer 3 )

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

Transcription:

1 An Enhanced Binning Algorithm for Distributed Web Clusters Hann-Jang Ho Granddon D. Yen Jack Lee Department of Information Management, WuFeng Institute of Technology SingLing Lee Feng-Wei Lien Department of Computer Science and Information Engineering, National Chung-Cheng University Abstract The need to optimize the performance of popular Web sites is producing a variety of novel architectures. The typical Web cluster architecture consists of replicated back-end and Web servers, and a network Web switch that routes client requests among the nodes. In this paper, we propose an enhanced binning algorithm to distribute client demands into several Web servers. By integrating the DNS-redirection mechanisms into the enhanced binning scheme, our algorithm can deliver 10% and 15%performance improvements on average response time and load balancing, respectively. Keywords Web Cluster, Binning Algorithm, DNS-Redirection, Average Response Time, Load Balancing 1. Introduction A popular website must have a strong web system to cope with growing client demands. There are many kinds of architecture proposed for such a website. Most of them are based on a distributed or parallel architecture while preserving a virtual single interface. Such a system provides scalability and transparency, but needs to have some mechanisms that dynamically assign client requests to the web server [1]. The redirection mechanism can be done at IP level through some address packet rewriting mechanisms [2,3,4], or at the Domain Name System (DNS) level through mapping the URL name to the IP address of one of the web servers [5,6,7,8,9]. Once a client attempts to establish a TCP connection with one of the servers, a decision must be made as to whether the connection should be redirected to a different server. The IP address in the packet will be changed to the one of the destination server s if the redirection is required. The main disadvantage of all IP-level solutions is that they can be applied only to locally clustered web servers. ONE-IP [4] distributes requests to the ~ 407 ~

2 13 different server in the clusters by dispatching packets at the IP level. The dispatcher redirects requests to the different servers based on the source IP address of the client. TCP-Router approach dispatches client requests to the appropriate server at the server site router which receives the requests. The router dispatches requests according to load information and changes the destination address of each IP address before dispatching. In a server cluster, the router will have an acknowledgement of server failure. The router will know which server is not alive and will not redirect a request to the dead node. Therefore, both TCP-Router approach and ONE-IP approach can provide server fault-tolerance. And these two approaches also can provide load balancing since they both take account of load information. Unlike the IP-dispatcher-based solutions, the HTTP redirection does not require the modification of the IP address for the packets reaching or leaving the web server cluster. What the DNS has to do is mapping the URL name to the IP address of one of the servers when a client request arrives. A simplest solution is using a DNS with round-robin (RR) scheduling algorithm, which redirects all requests to web servers by RR algorithm. However, this solution will not perform very well on load balancing since it does not take into account any load information, but only redirects the client requests. SWEB [5] is a web system using distributed memory machines and network of workstations as web servers. Although a server in the SWEB does not store all the documents, it can go, when requested, over the local-area network to fetch the documents where they are stored. Furthermore, a round-robin domain name (DNS) resolution is used to assign requests to back-end workstations. The weakness of SWEB is that failures are still a problem because of DNS name caching. On the other hand, NCSA s web servers [8] use a distributed file system to access document requested by the clients. A round-robin domain name services (RR-DNS) is used to multiplex requests to web servers. But, like SWEB, a high degree of load balance may not be achieved due to DNS name caching, which is the main disadvantage of all DNS-level solutions. In this paper, we will focus on an architecture that integrates the DNS dispatching mechanism with a redirection mechanism provided by HTTP protocol. The proposed architecture has a front-end domain name server and several back-end web servers. These web servers are assumed to have different capacities, and hence form a heterogeneous system. The front-end DNS receives. We demonstrate that the DNS dispatcher combined with suitable redirection mechanism provides good load control. Our algorithm will be compared with the RR algorithm and the binning algorithm [9]. 2. System Model Our system model has a front-end domain name server and several back-end web servers. An example is shown in Figure 1. The system consists of several heterogeneous ~ 408 ~

3 distributed web servers that manage different sets of web documents and a DNS that translates the URL-name into the IP-address of one of the servers in the cluster. Figure 1: An example of the system model The DNS receives all the client requests as a single interface to access web documents, and uses HTTP to redirect each client request to an appropriate server. Each web server contains some type(s) of the documents and only serves the requests to locally available documents. Every server is independent of one another. Unlike SWEB architecture, a server will not access the document stored in other servers. Since each server s processing capacity is different from one another, the execution time of a request in one server may be shorter or longer than in other servers. If we have two web servers and two web documents at present: one of the documents is a HTML file and the other is a CGI file. We assume that the load produced by HTML requests is equal to the load produced by CGI requests, and the processing capacities of these two servers are also equal. The simplest solution is to dispatch any kind of document request to any of the web servers, and uses a Round-Robin DNS to distribute all requests among them. This solution can make load balancing indeed, but it may not provide good performance on response time. The other method is that one server only takes care of the HTML requests, while the other only the CGI requests. Since the loads produced by HTML requests and by CGI requests are equal, this approach can also provide load balancing very well. We expect that this method has faster average response time and can save more disk capacity than the first solution since we don't have to store both kinds of documents on each server. 3. The Enhanced Binning Algorithm To improve the performance of the Round-Robin algorithm, a binning algorithm was proposed [9]. This algorithm dispatches requests according to their access rates, which are equal to request arrival rates in our models. The binning algorithm works as follows. A document j is randomly chosen and placed on a randomly chosen server S i. After the access probability of the document (can be obtained by scaling the access rate) is assigned ~ 409 ~

4 13 to the server, if there is still some residual capacity left in the server, then another document k is randomly picked and placed onto that server. This goes on until the total access rate to the server exceeds the capacity of S i when placing the document m to that server. At this stage, another server S j is randomly picked and document m is replicated onto it. This process is going on until all access rates are assigned among the servers. Thus, if we consider each of the servers to be a bin with a certain capacity, then the algorithm fills every bin completely before another bin is chosen to be filled. In this paper, we propose an enhanced binning algorithm to improve the average response time. A formal description of the enhanced binning algorithm is given in the following: (1) Sort the capacity probabilities in decreasing order, assume the ordered set S = {c 1,c 2,, c N }. (2) Sort the load probabilities in decreasing order by their execution times, assume the ordered set D = {l 1, l 2,.., l M }. (3) Set i = 1 and j = 1. (4) Assign l j to c i and document j is replicated on server i. (5) If (c i > l j ) then c i = c i - l j, D = D {l i }, and j = j + 1. Else if (c i < l j ) then l j = l j - c i, S = S {c i }, and i = i + 1. Else if (c i = l j ) then S = S {c i }, i = i + 1, D = D {l i }, and j = j + 1. (6) Repeat step 4 and step 5 until all load probabilities are assigned to servers. In the enhanced binning algorithm, when a document is placed on a server, either its total load probability can be completely assigned onto that server or the server's cumulative load probability will exceed its capacity. A document is replicated onto next server only when is the server not able to accept the load probability of that document completely. Each server can be exhausted once at most and exhaustion will not produce more than one replica of the document. Consequently, with N servers, there can be N replications at most. Since the sum of capacity probabilities of the servers is equal to the sum of load probabilities of documents, all load probabilities of documents can be assigned exactly when the last server is exhausted. 4. Simulation Results In the distributed system, jobs are assigned to different servers for execution. What we need is to shorten the total execution time of these jobs. The job distribution algorithm is the key of the whole system. If we use two job distribution algorithms, A and B, in the same distributed environment, we can easily determine that which algorithm has better performance on load balancing by their total execution times. That is, if the total execution time using A is shorter than the total execution time using B, then we can say that the ~ 410 ~

5 system using algorithm A will have better performance on load balancing. We use simulation to analyze our algorithm and compare our results with algorithm BA and with algorithm RR. Except for the dispatch algorithm, the platform and other conditions include parameters shown in Table 1 are all the same. In this situation, we can make out if our algorithm is better than others directly. If the total execution rounds (a round means a unit time) of system using our algorithm EBA is smaller than the system using another algorithm, we can say that dispatch requests by our algorithm will have better performance on load balancing than dispatch by another algorithm. In the beginning of each simulation, we have to define the values of all parameters. Some parameters will be generated in the way shown in Table 1. Table 1: Parameters First, we consider that the number of servers is fixed and the number of documents is from 1 to 20. In this situation we can find out the difference between three algorithms when the number of documents is getting more and more. Assume that there are 5 servers, and the simulation results are shown in Figure 2. Each point in the figure is the average value of fifty times simulations. The horizontal axis represents the number of documents, and the vertical axis represents the total execution rounds of the algorithm. As the Figure 2 shows, our algorithm EBA has the least total execution rounds; the algorithm RR has the worst results, and algorithm BA performs between EBA and RR. By comparing EBA with the other two algorithms RR and BA, it seems that more number of documents is requested the better result we gain. We present simulation results in ratios of one algorithm's execution rounds to RR's execution rounds, so the ratio of execution rounds of RR will be always 1. Results are shown in Figure 3. As what we can see, the ratio of execution rounds that dispatch requests by RR is at least double of ours, and ratio of execution rounds that dispatch requests by BA is 1.2 times of ours in average. Now, we consider another situation where the number of documents is fixed and the number of servers increases from 1 to 20. Assume we have 10 documents, the simulation ~ 411 ~

6 13 results are shown in Figure 4. According to simulation results of Figures 2, our system's average response time is 10% faster than the system that only uses DNS with RR to dispatch requests. For dispatching document requests, our algorithm could have average 15% better performance on load balancing than dispatching by the binning algorithm, and about 100% better than dispatching by round-robin algorithm. Figure 2: 5 Servers and M Documents Figure 3: 5 Servers and M Documents (ratio to RR) ~ 412 ~

7 Figure 4: N Servers and 10 Documents 5. Conclusion In this paper we have proposed a enhanced binning algorithm to distribute client demands into a heterogeneous web server cluster. Since client requests are handled by HTTP redirection on DNS, our solution belongs to the DNS-level solutions. The DNS dispatching function is integrated with a redirection mechanism and assigns requests to servers according to redirection probabilities. We use simulations to analyze our algorithm and have compared our algorithm with two alternative dispatching algorithms. The experimental results indicate that our algorithm performs well on load balancing. Furthermore, the load balance performance of the system using our algorithm has increased by 15% as compared with the algorithm proposed in [9] and also has a little performance improvement on average response time. Although our solution has DNS bottleneck problem and server failure problem, the system will provide higher cache utilization efficiency and can save more disk capacity. 6. Acknowledgment This work is supported in part by NSC grant, No. NSC 92-2213-E-274-002-. ~ 413 ~

8 13 References [1] M. Colajanni, P.S. Yu, and D.M. Dias, "Analysis of task assignment policies in scalable distributed web-server systems," IEEE transaction on parallel and distributed systems, Vol 9, No.6, June, 1998 [2] L. Aversa, and A. Bestavros, Load balancing a cluster of web servers using distributed packet rewriting," Performance, Computing, and Communications Conference, 2000. IPCCC '00. Conference Proceeding of the IEEE International, pp.24-29, 2000. [3] A. Bestavros, M. Crovella, J. Liu, and D. Martin, Distributed packet rewriting and its application to scalable server architectures," Network Protocols, 1998. Proceedings. Sixth International Conference on, pp. 290-297, 1998. [4] O.P. Damani, P.-Y. Chung, Y. Huang, C. Kintala, and Y.-M. Wang, ONE-IP: Techniques for hosting a Service on a Cluster of Machines," International World Wide Web Conference, Santa Clara, Apr. 1997. [5] D. Andresen, Y. Tao, V. Holmedahl, and O.H. Ibarra, SWEB: Towards a scalable World Wide Web Server on Multicomputers," IEEE International Symp. on Parallel Processing, pp.850-856. April, 1996. [6] M. Colajanni, P.S. Yu, and V. Cardellini, Dynamic load balancing in geographically distributed heterogeneous Web servers," International Conference on Distributed Computing Systems, pp. 295-302, 1998. [7] Z. Huican, S. Ben, and Y. Tao, Scheduling Optimization for Resource-Intensive Web Requestson Server Clusters, Proceedings of the eleventh annual ACM symposium on Parallel algorithms and architectures, pp. 13-22, 1999. [8] T.T. Kwan, R.E. McGrath, and D.A. Reed, NCSA's World Wide Web Server: Design and Performance," IEEE Computer, pp. 68-74, 1995. [9] B. Narendran, S. Rangarajan, and S. Yajnik, Data distribution algorithms for load balanced fault-tolerant Web access," Proceedings of The Sixteenth Symposium on Reliable Distributed Systems, pp. 97-106, 1997 ~ 414 ~