• No results found

An Efficient and Scalable Content Based Dynamic Load Balancing Using Multi- parameters on Load Aware Distributed Multi-Cluster Servers

N/A
N/A
Protected

Academic year: 2020

Share "An Efficient and Scalable Content Based Dynamic Load Balancing Using Multi- parameters on Load Aware Distributed Multi-Cluster Servers"

Copied!
11
0
0

Loading.... (view fulltext now)

Full text

(1)

An Efficient and Scalable Content Based

Dynamic Load Balancing Using

Multi-parameters 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, Emai-id:[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 single-point-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 anysingle-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.

(2)

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.

(3)

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 Type 2 Clustered Severs

Type n

Clustered Severs Reply module Reply module 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

(4)

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

(5)

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. /* global dispatcher checks the request category in the selected cluster */ 2. 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

(6)

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

(7)

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.

(8)

Figure 6 to 10 illustrates the simulation results obtained from implementing the proposed system with supporting techniques

0 50 100 150 200 250 300

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

No. of Requests 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.

0 50 100 150 200 250 300

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

No. of Requests Response from CSG 2

Fig 7. No. of Requests vs. Response from CSG2

(9)

0 5 10 15 20 25 30 35

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

Load on CSG1S1 Load on CSG1S2 Load on CSG1S3 Load on CSG1S4

Fig 8. Load on Servers of CSG1

0 5 10 15 20 25 30 35

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

Load on CSG2S1 Load on CSG2S2 Load on CSG2S3 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.

-50 0 50 100 150 200 250 300

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

No. of Requests No. of Requests Rejected

Fig 10. No. of Requests Arrival vs. Rejected

(10)

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.

RR Proposed technique

No. of request 240 240

Service time 5450 msec 4590 msec % of request

served by CSG1

42 47

% of request served by CSG2

43 46

% of load Balanced among the servers of CSG1

90 95

% of load Balanced among the servers of CSG2

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] 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.

[2] 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.

[3] 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.

[4] 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.

[5] 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.

[6] 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.

[7] 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.

[8] 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.

[9] Shakti Mishra , D.S Kushwaha, A.K. Misra “ A cooperative Trust Management framework for load balancing in Cluster

(11)

[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.

Figure

Fig 1.  System   Model for   Scalable Content based   DLB using Multi Parameter   on load aware distributed   multi - cluster   servers
Fig 5.  No. of Requests Arrival vs. Rejected
Fig 7.  No. of Requests vs. Response from CSG2
Figure 10 depicts the number of requests being made to the system and the number of requests being rejected

References

Related documents

Progress made in the chemical sciences will clearly be critical to: future advances in environmentally benign and more sustainable energy production, storage and supply; increased

Table 2.. bodies and iiF values in patients in various stages of the disease are summarized in table 3. the statistical significance of differences in anti- Dsg1 titers was

In manual mode when a remote client, for example RobotStudio or a PC SDK application, requests mastership a dialog box will appear on the FlexPendant.. It enables the operator to

The CNG is compressed to 200 Bar, this fuel has been already tested, since in 2009, it has been identified more than 10,5 millions vehicles running with this fuel in the

• The typical values should consider a variation related to the referential values of +/- 15% in Tensile and Tearing Strength, +/- 20 % elongation. • The laboratory tests have

The barplots represent the average per- centile rank (left axis) based on the true objective values of the selected neighborhood best solutions with respect to the true objective

Quantitative RT-PCR analysis confirmed our previous results regarding the transcriptional activation of endogenous SMN2 in transfected SMA iPSCs, and showed that TALE-TFs 1 + 3 +