T.N.Anitha et al. / International Journal of Engineering Science and Technology (IJEST)
An Efficient and Scalable Content Based Dynamic Load Balancing Using Multiparameters on Load Aware Distributed Multi-Cluster Servers T.N.Anitha 1,
Dr.R.Balakrishna2
Asst.prof, Department of CSE, S.J.C.Institute of Technology, Chickballapur - 562101, Emaiid:
[email protected] Professor & HOD , Department of ISE, Rajarajeswari College Of Engineering, Bangalore, Email.id:
[email protected] Abstract- Nowadays, more people are accessing the internet service for their daily activities. This dramatically increases requirement of server utilization, bandwidth requirement and resource availability. To serve this, cluster servers are used. But as number of users increases , several challenges are faced by cluster servers like congestion, delay in serving the request, load balancing ,heterogeneity and complexity of services. The existing dynamic load balancing does not scale up the performance in an Distributed heterogeneous environment. To avoid this, we propose an efficient and scalable content based Dynamic Load Balancing using multi parameters on load aware distributed multi-cluster servers. In this paper ,because of heterogeneity the Dynamic Load Balancing takes place based on client request category and dynamically estimating server workload using multi parameters like queue size, processing speed , bandwidth utilization etc on distributed multi clustered servers. Our simulation results shows that, the proposed method dynamically and efficiently balance the load to scale up the services , reducing response time, throughput on clustered servers. I.
INTRODUCTION
In recent years, more and more people relay on the internet for their daily activities. Consequently, organizations and companies rush to provide their services on -line. Since constantly improving hardware performance no longer sufficient to cope with the growing volume of user requests while preserving acceptable service quality, it becomes a common practice to use multiple servers to process user requests simultaneously. However, when there are multiple servers working at the same time, load balancing becomes an critical issue. If we cannot distribute incoming requests uniformly among servers effectively, some servers may become overloaded while the others may remain idle, leading to low server utilization and poor quality of services. To improve the availability and reliability, multiple servers are clustered to handle user requests concurrently. The clustered servers offer the advantage of user transparency that allows the client machine to work with multiple servers without any specific changes in the usage. There are two types of clustering architectures: centralized clusters and distributed clusters. A centralized cluster consists of one front end and several back-end servers. A load balancer (also known as Virtual Server) is used at the front-end to distribute client requests to an appropriate server at the back-end. Since all packets from and to the client must pass through the load balancer, it is prone to the problems of bottlenecking and singlepoint-of-failure. In contrast, in distributed clusters every host acts as both load balancer and a server. This approach increases the CPU workload of each individual host. Hence reducing its service capability, it offers potential for scalability and cost-effectiveness. In addition, system reliability is maximized as full host redundancy effectively eliminate any single-point-of failure, i.e., a failed host can be automatically serviced by another one within the cluster. To distribute the requests among servers, load-balancing policy is essential. Many popular policies used today include load-based distribution, round-robin distribution or random distribution. A Distributed Cluster Server (DCS) is a collection of servers connected via LAN. The user’s request are redirected to one of the servers in the DCS transparently. As the load on the DCS increases with time, the cluster needs to be scalable.
ISSN : 0975-5462
Vol. 3 No. 8 August 2011
6401
T.N.Anitha et al. / International Journal of Engineering Science and Technology (IJEST)
To evenly distribute the load among the servers on the DCS , load balancing techniques are used. Load balancing can provide an efficient and safe method for the server nodes to process the user requests. The main goals of the load balancing are to minimize the total response time and maximize the throughput . And all operations are transparent to the user. Load balancing algorithms generally can be classified as either static or dynamic. Static algorithms only use given node information to make load balancing decisions. They can not be true and comprehensive for the real load variations of the server nodes. The dynamic load balancing (DLB) techniques optimize request distribution among servers based on factors like server capacity ,current load level it also improves mean response time and overall throughput of a DCS. To further improve the performance of the DCS a scalable content based dynamic load balancing with multi parameter is used. The main objective of this algorithm is to improve throughput, response time & scalability. The rest of the paper is organized as follows; section II describes the related work; Section III deals with the problem formulation; section IV describes proposed system; section V describes the proposed algorithms; VI illustrates simulation result VII illustrates result analysis and section VIII conclusion. II. RELATED WORK This section discuss the related work on DLB in an clustered servers. Load balancing is a challenging problem . Hua-Feng deng, Yun- Sheng Liu, Ying-yuan Xiao propose a novel algorithm for load balancing in Distributed Systems . This algorithm balance the load based on job combination, but the algorithm does not take into consideration about factors like bandwidth, memory, queue size and replication. Jorge E. Pezoa, Sagar dhakal and Majeed M. Hayat propose a Decentralized Load Balancing for improving reliability in Heterogeneous Distributed systems . The Decentralized DLB policies that works on testbed and experimental results. Y.S. Hong, J.H. no and S.Y.Kim . propose a DNS based load balancing in Distributed Web server systems . The web server system are designed using ring and a global manager is to manage the load balancing it rises traffic overflow. D.kerdlapanan and A. Khunkitti propose content based load balancing with multicast and TCP handoff. Tcp handoff allows immediate and complete connection transfer to another available server. it improves the response time but increases the message flow. Shakti misra et.al focuses the need of trust in cluster based distributed system and proposes PMS based authentication mechanism for a load balancing cluster. Shardal Jain et.al proposes load distribution using prioritization of nodes. The node prioritization is done by comparing the efficiency factor and processing power of each and every node in it. III. PROBLEM FORMULATION General formulation of the load balancing problem is as follows: Given large number of requests, find the allocation of requests to servers based on content optimizing a given objective functions(e.g. avoiding bottleneck, minimizing response time, Scalability). The main goal is to design with multi parameter dynamic load balancing algorithm to enhance the services. Here it is assumed that each server in the DCS is characterized by its processing rate, network utilization and memory utilization that it contains. The request arrives at the coordinator. The load balancing algorithm on cluster coordinator finds the load of a server in the cluster using parameters such that expected execution time is minimized IV.
PROPOSED METHOD
A. System Model The system model considered for designing the content based load balancing with multi parameter is illustrated in the figure 1. The proposed model consists of servers are categorized based on the their content types e.g Static , transaction, secured transaction and multimedia . Each category server may have different number of replicated servers. S = S1, S2,S3,S4,…..
ISSN : 0975-5462
Vol. 3 No. 8 August 2011
6402
T.N.Anitha et al. / International Journal of Engineering Science and Technology (IJEST)
Si = {S1i,S2i,S3i,S4i,} where i= 1…4. Replication represents that every server in the category has the capability to response to user request. A Dispatcher node is forward the requests and it is used for coordinating the three important activities in the system i.e user login verification, load balancing and request forwarding. The load balancing module is located at the Dispatcher node rather than at the cluster to ease the server load. If load balancing decision made at the servers in the cluster a considerable amount of processing time is wasted or extra resource(load balancer) is required in each of the cluster. To overcome these shortcomings the Dispatcher node made as an intelligent device rather than just a forwarding device. Type 1 Clustered Severs Reply module
Type 2 Clustered Severs Reply module
Type n Clustered Severs Reply module
↕↨ LAN SWITCH ↑↑ Dispatcher Request forward module User information
Response Time
load information
↑↑ ROUTER ↑↑ Client Request module Fig 1. System Model for Scalable Content based DLB using Multi Parameter on load aware distributed multi - cluster servers
In the proposed architecture , a dispatcher node is connected to router and on the other side it is connected to a LAN switch . The Dispatcher node has three Tables: Table 1 is the user table to be used to store user information. Table 2 is the Response table , Table 3 is the load table to be used to store the load of the server nodes. The client request received by Dispatcher node through router has only the Dispatcher node’s IP address for communication with DCS. After receiving the request, dispatcher node checks user login information and determines request category and the least loaded server Sij in the ith category of the cluster and then forwards the request to server Sij. It also updates the load and response table on the basis of information received from the servers. Whereas the load table is used for evenly distribution of work load to the servers, response table helps to calculate the average response time and throughput of the DCS for evaluating overall performance of the DCS. At the server end, servers directly send the response of the requested query to the client through the router via LAN switch. This will minimize the workload of the Dispatcher node. B. Clustering Let us consider a collection of N server nodes that are part of a server group. It is assumed that each server always stores one copy of its own content item which it serves to clients and that is has additional storage space to store k replicated content items from other server which it can also serve. Let C= { C1, C2, C3,… Cn} be set of clients. Let Cl ={ Cl1, Cl2,Cl3, …. Cln} be number of clusters identified by the administrator for organizing the clients. Then, total number of server coordinator required by different clusters Cs is Cs=Cn / Cln ---(1) Total number of servers in each local cluster LC can be computed through LC=Cs+Cn/ Cln ---(2) Each Cluster has server coordinator(SC), which is responsible for forwarding request on a server. The total number of servers in the system is i= n S= ∑LCi ---(3) i=0 where i=1…n clusters present in the system.
ISSN : 0975-5462
Vol. 3 No. 8 August 2011
6403
T.N.Anitha et al. / International Journal of Engineering Science and Technology (IJEST)
C. Load Balancing Load balancing is the process by which incoming request can be distributed across multiple servers. Load balancing enhances the performance of the servers, leads to their optimal utilization and ensures that no single server is overwhelmed. Load balancing is particularly important for busy networks where it is difficult to predict the number of requests that will be issued to a server. Load balancing addresses some of the important requirements like scalability, performance, availability and disaster recovery. The proposed model uses content based dynamic load balancing with multi parameter techniques to balance the workload among the different servers. Servers calculate their load on the basis of queue length(q),memory utilization(m), processor utilization(p) and Bandwidth utilization.(b). The weight value Wik is associated with these parameters are initialized by DCS administrator according to content category. Therefore, the weighted load Lij at server Sij can be computed as: Lij = (Wiq *qij+ Wim *mij+ Wip *pij+Wib *bij ) / (Wiq + Wim + Wip + Wib ) --(4) Where qij, mij, pij and bij are values of corresponding parameters of server Sij. The values of these parameters change very frequently with time. Therefore, it is responsible to average the load value of the servers for some assumed interval. Thus, average load Lij of the server Sij over the period of t time interval is : Avg Lij = ∑ Lij(Sij) / t --(5) Where t= 1,2, …n For updating the Dispatcher node’s load table, we have used state change Transfer policy. According to the policy, servers send the information to the dispatcher node whenever load changes from one level to another. on receiving the load change information, the dispatcher node updates its load table. V
PROPOSED ALGORITHM
1.Client_Module() { /* forwards the client request */ Client.request(Ureq); } The Dispatcher has two modules a. Local Cluster Module(LC)- Dispatches the client request within the cluster b. Global Cluster Module (GC) – Dispatches the client request in between the multi- clusters. 2.Dispatcher_Module() { Initialization of parameters; /* Dispatcher verifies the user authentication */ Dispatcher.verify (Ureq-Id); /* If the Ureq-Id present in the login table */ Ureq-Id= True; Goto step 3; Else /* If Ureq_Id is not present in the user login table */ Ureq-Id= False; Exit; 3. /* Dispatcher checks the category of the client request */ Dispatcher.loadstatus(Sij); 4. /* If a server Sij has less load compared to others in the cluster Ci, then Dispatcher forwards the Ureq to that cluster server Sij and that processes the client request */ Dispatcher.forwardsreq(Sij, Ureq); Sij.Reply(UReq-Id, result); Else /* if none of the servers in the selected cluster of
ISSN : 0975-5462
Vol. 3 No. 8 August 2011
6404
T.N.Anitha et al. / International Journal of Engineering Science and Technology (IJEST)
type1 can satisfy the request */ Goto step 5; 5. /* Dispatcher forwards the request to the other local cluster server in the system */ Dispacher.forwardsreq( GC-Dispatcher , Ureq); } GC_ Dispatcher() { 1. 2.
/* global dispatcher checks the request category in the selected cluster */ if ( Ureq) / * if Ureq present in the cluster of Type 2 * / Avil-list=true; Goto step 3; Else / * if Ureq is not present in the cluster of Type 2 * / Avil-list=False; Goto step 5;
3. /* Global Dispatcher module checks the less loaded server in the cluster of Type 2 which contain the request category */ Dispatcher.Loadstatus( GC - Sij); 4. /* If a server Sij has less load compared to others in the global cluster Ci, then Dispatcher forwards the Ureq to that cluster server Sij and that processes the client request */ Dispatcher.forwardsreq(GC- Sij, Ureq); GC- Sij.Reply(UReq-Id, result); Else /* if none of the servers in the global cluster of Type 2 can satisfies the request */ Goto step 5; Else /* If all servers in a category are critically loaded addition of servers / replication is requested */ exit; 5.
/* request is rejected */ GC-Dispatcher( USER-Id, Request Rejected);
} Loadstatus_Module() { /* periodically, returns changes in the load status of the server in each cluster group */ return.change-in - load status; } The algorithm proposed is applicability in the following scenarios: Improved dynamic content handling techniques High performance computing clusters Load balancing strategies for middleware and backend systems.
ISSN : 0975-5462
Vol. 3 No. 8 August 2011
6405
T.N.Anitha et al. / International Journal of Engineering Science and Technology (IJEST)
VI . SIMULATION RESULTS The simulation of the proposed system was carried out in Java. We are comparing simulation results of proposed method with the Round Robin techniques. The Figure 1 to 5 illustrates the simulation results obtained from implementing the Round Robin with supporting techniques.
Fig 1. No. of Requests vs. Response from CSG1
Fig
2. No. of Requests vs. Response from CSG2
Figure 1 and 2 illustrates the total number of requests made from the users and number of responses from the servers of CSG1 and CGSG2. It shows that 42% of the total requests are served by servers of CSG1 and 43% of the total requests are served by servers of CSG2.
ISSN : 0975-5462
Vol. 3 No. 8 August 2011
6406
T.N.Anitha et al. / International Journal of Engineering Science and Technology (IJEST)
Fig 3. Load on Servers of CSG1
Fig 4. Load on Servers of CSG2
Figure 3 and 4 illustrates the load on servers in CGS1 and CSG2 respectively. 90% of the load is balanced among the servers of the same cluster group. However 93% of load is balanced among the servers of different groups. Figure 5 depicts the number of requests being made to the system and the number of requests being rejected. The rejection rate is 11% i.e. 89% of the requests are served.
Fig 5. No. of Requests Arrival vs. Rejected
ISSN : 0975-5462
Vol. 3 No. 8 August 2011
6407
T.N.Anitha et al. / International Journal of Engineering Science and Technology (IJEST)
Figure 6 to 10 illustrates the simulation results obtained from implementing the proposed system with supporting techniques 300 250 200 150 100 50 0 0
500
1000
1500
2000
2500
No. of Requests
3000
3500
4000
4500
5000
Response from CSG 1
Fig 6. No. of Requests vs. Response from CSG1
Figure 6 illustrates the total number of requests made from the users and number of responses from the servers of CSG1. It shows that 47% of the total requests are served by servers of CSG1.
300 250 200 150 100 50 0 0
500
1000
1500
2000
No. of Requests
2500
3000
3500
4000
4500
5000
Response from CSG 2
Fig 7. No. of Requests vs. Response from CSG2
Similarly figure 7 illustrates the total number of requests made from the users and number of responses from the servers of CSG2. As shown in the figure, 46% of the requests are served by servers of CSG2
ISSN : 0975-5462
Vol. 3 No. 8 August 2011
6408
T.N.Anitha et al. / International Journal of Engineering Science and Technology (IJEST)
35 30 25 20 15 10 5 0 0
500
1000
1500
Load on CSG1S1
2000
2500
Load on CSG1S2
3000
3500
Load on CSG1S3
4000
4500
5000
Load on CSG1S4
Fig 8. Load on Servers of CSG1
35 30 25 20 15 10 5 0 0
500
1000
1500
Load on CSG2S1
2000
2500
Load on CSG2S2
3000
3500
4000
Load on CSG2S3
4500
5000
Load on CSG2S4
Fig 9. Load on Servers of CSG2
Figure 8 and 9 illustrates the load on servers in CGS1 and CSG2 respectively. 95% of the load is balanced among the servers of the same cluster group. However 97% of load is balanced among the servers of different groups.
Figure 10 depicts the number of requests being made to the system and the number of requests being rejected. The rejection rate is 7% i.e. 93% of the requests are served. This rejection rate can be further reduced. 300 250 200 150 100 50 0 0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
-50 No. of Requests
No. of Requests Rejected
Fig 10. No. of Requests Arrival vs. Rejected
ISSN : 0975-5462
Vol. 3 No. 8 August 2011
6409
T.N.Anitha et al. / International Journal of Engineering Science and Technology (IJEST)
VII RESULT ANALYSIS We are comparing our proposed algorithm with the Round robin (RR) techniques based on request serving rate in an Multi cluster servers.
No. of request Service time % of request served by CSG1 % of request served by CSG2 % of load Balanced among the servers of CSG1 % of load Balanced among the servers of CSG2
RR 240 5450 msec 42
Proposed technique 240 4590 msec 47
43
46
90
95
93
97
It shows that the overall rejection rate of requests in RR is 11% But in our proposed technique rejection rate is 7%. Balancing the load among the servers of different clusters using RR is 93% but in our proposed technique balancing the load among the servers of different clusters is 97% .This result shows that the proposed Technique gives better result as the load on the DCS increases. VIII. CONCLUSION In this paper, we have proposed an efficient and scalable content based DLB using multi parameters on load aware Distributed Multi Cluster Servers. The results shows that the rejection rate of the request in the proposed algorithm is 7% . This we can further reduce by using replication or adding the servers. Updating load information of each server is immediate comparing to periodic updating. We showed that our proposed scheme shows good performance in serving the client request. However for huge workload, the proposed algorithm can be used effectively. IX . REFERENCES [1]
[2] [3] [4]
[5] [6]
[7]
[8] [9]
Shardul Jain, Himanshu Singh, Ankur, Chauhan,Deepak Pandey,Sathish Chandra,”Heuristics-aided Load Balancing in Distributed Systems and Node prioritization: An Intelegent approach” proceedings of the 2010 12th International conference on computer modelling and simulation. Barazandeh and I. Mortazavi. S.S two hierarchical “ Dynamic Load Balancing algorithms in Distributed Systems” Procedings of 2009 second International Conference on Computer and Electrical engineering pp 516-521. Di Nitto, E. Dubois D. Mirandola, R.Saffre, F. Tateson, “Self aggregation techniques for load balancing in Distributed Systems” proceedings of the 2008 Second IEEE International Conference on self adaptive and self organizing systems pp 489-490. Hua-feng deng, yun - sheng liu, ying-yuan xiao. “ A novel algorithm for load balancing in distributed systems” proceedings of the 2007 eight ACIS International Conference on software engineering, Artificial Intelligence, Networking and parallel/distributed computing, pp 15-19. Neeraj Nehra, R.B. Patel, V.K .Bhat “A multi-agent system for distributed dynamic load balancing on cluster.” Proceedings of the International Conference on Advanced Computing and communications, 2006, pp 135-138. James Dinan, Stephan Oliver, Gerald Sabin, Jan Prins, P.sadayappan, and Chau-wen Tseng, “Dynamic load balancing of Unbalanced Computations Using Message passing” , proceedings of 21st International parallel and Distributed processing Symposium, March 26-30, 2007, pp1-8. Y.S. Hong, J.H.No and S.Y.Kim. “DNS based Load balancing in Distributed Web-Server Systems” proceedings of the fourth IEEE workshop on software Technologies for Future Embedded and Ubiquitous systems and Second International Workshop on collaborative Computing, Integration and assurance 2006. Gamal Attiya and Yskandar hamam , “ Two phase algorithm for load balancing in heterogeous Distributed Systems” Proceedings of the 12th Euromicro Conference on Parallel, Distributed and Network based processing 2004, pp 434-439. Shakti Mishra , D.S Kushwaha, A.K. Misra “ A cooperative Trust Management framework for load balancing in Cluster based Distributed Systems” proceedings of 2010,Internaltional Conference on recent trandes in Information, Telecommunication and Computing.
ISSN : 0975-5462
Vol. 3 No. 8 August 2011
6410
T.N.Anitha et al. / International Journal of Engineering Science and Technology (IJEST)
[10] Sandeep Singh Waraich, “ classification of Dynamic Load Balancing stratergies in a network of workstations” fifth International Conference on Information technology. Washington,USA 2008: 1263-1265 [11] Jorge e. Pezoa , Sgar Dhakal , and Majeeed M. Hayay “ Decentralized Load Balancing for Improving reliability in Heterogeneous Distributed systems” in the proceedings of 2009 International Conference on parallel processing Workshops. [12] Abdun Nasar Mahamood,chistopher lechie and parampalli udaya, “ an efficient Clustering scheme to exploit Hierarical data in network Traffic Analysis” in the proceedings of IEEE transaction on knowledge and data engineering, Vol 20, No.6 June 2008 [13] H.Mehta,P.Kanungo and M.Chandwani,“ A modified delay strategy for Dynamic Load balancing in cluster and Grid Environment” International Conference on Information Science and applications, Seoul Korea, ICISa 2010(IEEE) , April 2010. [14] D.Kerdlapanam and A.Khunkitti “ content based load balancing with multicast and TCP handoff” proceedings of 2003 IEEE. [15] H. Briyhni, E.Klovning and O Kure “ A comparision of Load balancing technique for scalable web servers” IEEE network, PP 58-64 , jul-Aug 2000. [16] Chin Lu and S. Lau “an adaptive Load balancing algorithm for heterogeneous distributed systems with multiple task classes” 16th IEEE international Conference on Distributed Computing Systems (ICDCS 96) , 1996.
ISSN : 0975-5462
Vol. 3 No. 8 August 2011
6411