Document not found! Please try again

Load-Balanced Optimal Client-Server Assignment for ...

4 downloads 2133 Views 398KB Size Report
E-mail system is a classical example of such a distributed system. When a client sends an e-mail to another client, they communicate via an e-mail server. This.
International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.69 (2015) © Research India Publications; httpwww.ripublication.comijaer.htm

Load-Balanced Optimal Client-Server Assignment for Internet Distributed Systems

Jijimol.K.G

Shini Renjith

Dept. of Computer Science and Engineering Sree Buddha College of Engineering Pattoor, India Email: [email protected]

Asst Professor, Dept. of CSE Sree Buddha College of Engineering Pattoor, India Email: [email protected]

process until e-mail reaches the sever where the recipient reside. And enable downloading and reading. The main advantage of this is specialization. Communication load in a network is proportional to the amount of data (=d) on the server. The reason is: • The server forwards the same amount of data to another entity. • The processing time is proportional to decryption and encryption of d. • Copying the data among a network device, the operating systems, and sometimes into device memory is also proportional to d. From the above observations, it is clear that communication load will be doubled when assigning clients to different servers. That is, the total communication load increases in terms of inter-server communication if we assign two highly communicating clients to two different servers. On the other hand, if two poorly communicating clients are assigned to two different servers, it will not contribute much to the total communication load on the network. So, it clearly concludes to assign frequently communicating clients to the same server and less frequently communicating clients to different servers. We can optimize the client-server assignment for better total communication load, but balancing the load on individual servers is also come into relevance when we are using multiple servers, .To reduce the total communication load one solution is to assign all clients to one server. But, overloading the server will completely lose the load balance. But the reasons for considering load balance are: • We can avoid the low performance of a heavily loaded server by balancing the load on individual severs r. • Adding another server to distribute the load is economically inefficient and which usually results in increasing the overall communication load. Based on the literature on load balancing, load balancing and its related studies can be characterized as static and dynamic. Static load balancing uses a static

Abstract— Distributed System (DS) consists of thousands of entities interacting over wide area networks. DS encompasses of many machines recognized as both clients and servers and each server manages multiple clients. Each server receives details from different clients such as the orientation and current position and then delivers this information to other clients in the network. The server is also responsible for doing other tasks such as minimizing the communication load on individual servers and thus minimizing the total communication load on the entire network. The aim of client server assignment is to optimize the overall performance of Distributed system by considering the total communication cost and load balancing. We focus on the following aspect of minimizing the total communication load on the network by i) maximizing the intra-server communication and ii) minimizing the inter-server communication. Our work proposes an algorithm which is based on load balancing on individual server, and thus ensuring maximum intra-server communication and minimum inter-server communication. Our implementation result shows that the proposed algorithm gives prime performance than other heuristics such as heuristic via relaxed convex optimization. Keywords- Distributed Systems (DS), Total communication Load, Load Balancing, Clustering.

I.

INTRODUCTION

Networked computers in DS communicate and coordinate their actions by passing messages. These machines are interconnected through a network and a middleware, and distributed System enables the computers to coordinate and share the resources available, so that users perceive the system as an integrated computing facility. In an ideal distributed system, every node has equal computational power. Due to the distributed nature of internet real world applications have lower performance. In fact, servers are more computationally powerful than the clients in distributed system. E-mail system is a classical example of such a distributed system. When a client sends an e-mail to another client, they communicate via an e-mail server. This server relays e-mail to another server and continue this

216

International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.69 (2015) © Research India Publications; httpwww.ripublication.comijaer.htm

knowledge about the system. Dynamic load balancing is based on the current state of the system. With the emergence of the Internet, design based schemes are used for load balancing which motivate the participants to report their parameters and follow the some load balancing algorithm. This new schemes must be scalable to accommodate any network. This paper focus on a design based scheme which make use of parameters reported by the client to make the load balancing decision. II.

cut is different from ratio association by seeking to minimize the associativity between clusters and the remaining vertices. Other methods for graph clustering are Min-Max Cut [9] and mincut [4] which emphasize graph partition as data clustering. Min-max clustering principle focuses on minimizing the similarity or association between two clusters, while maximizing the similarity or association within a cluster. Simple min-max cut function is

RELATED WORK ,

A. Graph Clustering Algorithms Client-server assignment can be considered as a special type of the graph clustering. Vertices of the graph denotes clients, an edge between two vertices denotes a communication between the clients. The weight of an edge represents the frequency of communication between the two clients. The goal of clustering algorithms is to minimize the ratio of inter- clusters to intra-cluster communication within a cluster. Following section, briefly discusses some of the graph clustering techniques. One important clustering algorithm to client server assignment problem is Normalized Cuts (NC) [2]. The NC divides the graph into two disjoint partitions by reducing the following parameters. , ,

, ,

,

,

,

(2)

Where the similarity or association between two vertices is their edge weight, W (A, B). Thus the similarity between two clusters A and B is the cut size Cut (A, B) = W (A, B) where ,

(3)

, ,

B. Load Balancing in Distributed Systems The specific system architecture of Distributed system in which the total load dynamically depends upon the clientserver assignment. The dependency between client-server assignment and total communication load makes our ClientServer assignment problem fundamentally different from other clustering algorithms. The only one literature regarding optimum client server assignment based on load balancing is optimization via relaxed convex function [1]. The available optimum client-server method utilizes a heuristic algorithm via relaxed convex optimization [1] which takes a given communication pattern as an input, and produces a nearly optimal client-server assignment based on both load balance and total communication load. The two metrics considering for client server assignment are Total communication Load and load balance. Total communication load is the load on all servers. It constitutes both Inter-server and Intra-server communication loads. Aim of Optimization is to maximize Intra-server communication and to minimize Inter-server Communication. Degree of load variations among servers is the Load balance. Relaxed convex optimization approach focuses on splitting M servers into two groups and recursively splitting within each group as shown in Fig. 1, and then allocating clients under this servers. So the modified metrics for total communication load and load balance becomes as follows

(1)

Where Fncut is the sum of the weights of all edges connect between groups 1 and 2. Let Fc denote the sum of the weights of the inter-cluster edges and Fl denote the sums of the weights of the intra-cluster edges. Optimal assignment results in minimum, Fncut and is expressed as Fc *Fl that is, we have to maintain the inter-cluster edges (W1,2 and W2,1) to be minimum and the more balanced the sums of the weights of the intra-cluster edges. The sum of the weights of the inter-cluster edges represents the amount of the inter server communication, and the total weight of the associated edges with in a cluster corresponds to the communication load on a single server in our problem. Therefore, Fncut is very similar to our objective, but ours is Fc + Fl approach. Another method RatioCut [8] describes a new spectral, k-way, graph partitioning method. Ratio-cut cost metric considers both, the cost of the edges cut and the sizes of the partitions, without fixing the partition size. Three main results on partitioning are 1) a generalization of the 2way ratio-cut cost metric to a k-way ratio-cut cost metric 2) an efficient heuristic to effect a k-way partitioning based on the k-dimensional spectral embedding of a graph 3) a lower bound on the optimal k-way ratio-cut partitioning. Two terms associated with RatioCut method are Ratio Association and RatioCut. Ratio association (or average association) maximizes intra-cluster association. The ratio

2 4

217

(3)

International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.69 (2015) © Research India Publications; httpwww.ripublication.comijaer.htm

(4)

allocate them to different message servers by considering any of the scheduling algorithm(here we are considering round-robin scheduling). Main Sever performs the initial allocation of the Message Clients by using the Initial Routing technique, later on the allocation will be based on the traffic information received from Message Servers. Message Servers are also connected to Main Server and is responsible for sending the traffic information regarding a particular Message Client to the Main server whenever a communication or traffic change occurs. Main Server analyses the traffic information send by the Message Server and make necessary routing changes by applying the Center Circle Algorithm. Message Servers are also connected to Main Server and is responsible for sending the traffic information regarding a particular Message Client to the Main server whenever a communication or traffic change occurs. Main Server analyses the traffic information send by the Message Server and make necessary routing changes by applying the Center Circle Algorithm.

The proposed algorithm consists of solving the N convex optimization problems; each problem corresponds to separate clients. For each quantization, we need to search over all possible N clients. So the time complexity increases with increased number of clients.

Figure 1. Recursive Splitting of Servers Suppose the convex optimization routine takes f (N), then the time complexity of the two-server algorithm is O (N+ f(N)). The general algorithm consists of running the twoserver algorithm log M times for M servers. Thus, the overall time complexity depends on the optimization algorithms and is at least O (N2 log M), which is expensive. To reduce the time complexity incurred in finding the client-server assignment, we proposed another algorithm for assigning cluster head(or server) and cluster members (contain both server and clients) based on load balancing factor. III.

LOAD-BALANCED ASSIGNMENT

CLIENT

SERVER

Different resources in a Distributed System are owned by different organization. The behavior of users of a distributed system differs in their goals, objectives and strategies. In such systems, it is very complex to manage the resources and applications. When the demand for distributed computing increases the load balancing problem becomes more relevant. Through suitable distribution of the application load balancing improves the performance of distributed systems.

Figure 2. System Architecture B. Work ing Methodology Fig.3 shows working of proposed system. Before starting a session we need to monitor the network. So the network controller starts and it will begin listening to its ports. Then we need to create as many message servers as we needed. These message servers are gets connected to different ports of the main server. When the message server sends the requests for connection to main server, it will send some identity information along with connection request. This identity information helps the main server to distinguish message servers and message clients. When the message clients logs on, they get connected to main server. Initially Main Server will allocate them to different message servers by using round robin scheduling. Hence initial routing is

A. System Architecture Proposed System uses an alternative strategy for allocating clients to different servers .The proposed system consists of Main server, Message servers and Message Clients. Main Server acts as an overall controller of the network. Message servers are normal servers which provide services to other computing devices in the network and these computing devices are considered as Message clients. The system architecture is shown in Fig. 2. Message Clients are normal client machines which requests for services. Initially they were connected to Main Server and during the Initial Routing phase Main server will

218

International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.69 (2015) © Research India Publications; httpwww.ripublication.comijaer.htm

performed and a load is generated in the network. Main server will analyses the load generated in the network and make appropriate routing changes by using center circle algorithm.

(a) Communication Pattern

Figure 3. Working of Proposed System. C. Center Circle Algorithm Center Circle Algorithm is used for cluster formation and populating the clusters. The number of cluster formed will be equal to the number of message servers. While forming cluster intra-cluster communication should be maximum and inter-cluster communication should be minimum. For cluster formation, algorithm first selects the cluster heads. The first cluster head is selected by selecting a client with minimum communication with all other clients and at the same time having maximum communication in its own cluster. The second cluster head is selected as a client with minimum communication with the first cluster head and at the same time having maximum communication in its own cluster. So continuing this procedure until all clusters are formed. Fig. 4 represents the cluster formation by using the new algorithm. Fig. 4a represents the normal communication network represented in graphic notation and Fig. 4b represent the clustered graph by applying center circle algorithm. Center circle algorithm ensures the minimum weighted edges between the two clusters. First of all communication load of all clients (say A,B,C,D,E) are calculated by adding up the edge weights (A=5, B=6, C=9, D=15, E=10). Then client with minimum communication load is selected as First cluster head (say A=5), then the second cluster head (B) is selected based on the minimum communication with the first cluster head. Continue this procedure until all cluster heads are selected. Here only two clusters are formed because we are considering a network with two message servers, so that we need to allocate each cluster to any one of the two servers. The remaining cluster members are selected based on the maximum associativity with cluster heads.

(b) Clustered Network View Figure 4. Cluster Formation in Center Circle Algorithm IV.

RESULTS AND DISCUSSIONS

During the initial stage of development, we implemented the proposed algorithm in a local system. That is all the components (such as Main Server, Message Server, Message Clients) are running in a single desktop system as multiple threads. Then we had improved our system to work in a networking environment. Also during the initial stage of development, we design the algorithm to start manually, which is after the communication we need to start the algorithm manually to know the routing changes. Then we considered two factors for automatic starting of the algorithm, one is time and another is load in the network, and we had implemented our proposed system to work based on time. Performance Analysis: For comparing the performance between the center circle algorithm and the heuristics via relaxed convex optimization, the metric we have considered is the Load per communication(LC).Suppose we had P

219

International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.69 (2015) © Research India Publications; httpwww.ripublication.comijaer.htm

network. At this point of view, client server allocation problem can be viewed as an instance of graph clustering approach where nodes represents the client machines and edge weight represents the load incurred in exchanging messages between the two clients. Our approach is based on selecting the cluster head from the client machines itself based on least communication with other clients and the number of clusters formed will be equal to the number of servers. After finding the cluster heads proposed algorithm will populate the clusters so that maximum communication within a cluster is ensured. The advantage of our approach is its reduced time complexity with existing techniques.

sessions with N servers and total load generated after the communication as L, then the load per communication LC is defined as Equation. 5.

(5) We run two algorithms (center circle algorithm and MultiServer algorithm [1]) parallel and corresponding load generated in the network are noted down and load per communication (LC) is calculated. Then by drawing a line chart with number of servers (N) along X-axis and LC along Y-axis, we do compare the performance. The following Fig. 5 represents the experimental result of performance analysis of general algorithm [1] and Center Circle Algorithm. Time Complexity: The results show that center circle algorithm gives superior performance than heuristics via relaxed convex optimization. The time complexity of multiserver [1] approach lies in processing all server-client combinations while our algorithm reduces the time complexity to O(N2), Where N represents the number of client machines. In the first phase of selecting the cluster heads, the algorithm need to process all the intra-server and inter-server communication patterns of each clients, and in the second phase of populating cluster need to process O(N1) clients. Hence the time complexity of algorithm becomes O(N2).

VI.

FUTURE WORK

Load balancing algorithms in internet distributed systems considers two factors, one is time and the other is load variations in the network. Center Circle Algorithm works based on time that is when a particular time reaches the algorithm performs the load balancing. But when time based load balancing is done, the system will not consider the intermediate changes. So it will be advantageous to select load variations as a metric for automatic starting of the algorithm in highly dynamic environments. Hence the performance of the algorithm increases in highly dynamic environments. ACKNOWLEDGMENT We acknowledge support from the Department of Computer Science and Engineering, Sree Buddha College of Engineering for all guidance, reviews, valuable suggestions and very useful discussions. REFERENCE [1] Hiroshi Nishida and Thinh Nguyen, “Optimal ClientServer Assignment for Internet Distributed Systems,” IEEE Transaction on Parallel and Distributed Systems, Vol. 24, No.3,March 2013. [2] J. Shi and J. Malik, “Normalized Cuts and Image Segmentation, ”IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 228, no. 8, pp. 888-905, Aug. 2000. [3] Z. Wu and R. Leahy, “An Optimal Graph Theoretic Approach to Data Clustering Theory and Its Application to Image Segmentation,” IEEE Trans. Pattern Analysis and Machine Intelligence l, vol. 15, no. 11, pp. 11011113, Aug. 2002.

Figure 5. Performance analysis of Centre circle algorithm and heuristics via relaxed convex optimization V.

CONCLUSION

[4] K. Lang, Finding Good Nearly Balanced Cuts in Power Law Graphs, technical report, Yahoo Research Labs, 2004.

Due to the dynamic nature of internet, client-server assignment problem become more relevant. Optimum client server assignment mainly focuses on two aspects. One is balancing load on individual servers and another is optimizing the total communication load in the whole

220

International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.69 (2015) © Research India Publications; httpwww.ripublication.comijaer.htm

[5] W.E. Donath and A.J. Hoffman, “Lower Bounds for the Partitioning of Graphs,” IBM J. Research and Development,vol. 17, pp. 420- 425, 1973.

[17]K. Lang, “Finding Good Nearly Balanced Cuts in Power Law Graphs,” technical report, Yahoo Research Labs, 2004.

[6] C.K. Cheng and Y.C. Wei, “An Improved Two-Way Partitioning Algorithm with Stable Performance [VLSI],” IEEE Trans. Computer- Aided Design of Integrated Circuits and Systems,vol. 10, no. 12, pp. 1502-1511, Dec. 1991. [7] I. Dhillon, Y. Guan, and B. Kulis, “Weighted Graph Cuts Without Eigenvectors a Multilevel Approach,” SIEEE Trans. Pattern Analysis and Machine Intelligence,vol. 29, no. 11, pp. 1944-1957, Nov. 2007. [8] P. Chan, M. Schlag, and J. Zien, “Spectral K-Way RatioCut Partitioning and Clustering,” IEEE Trans. Computer-Aided Design of Circuits and Systems l, vol. 13, no. 9, pp. 1088-1096, Sept. 1994. [9] C.H.Q. Ding, X. He, H. Zha, M. Gu, and H.D. Simon, “A Min-Max Cut Algorithm for Graph Partitioning and Data Clustering,” Proc. Intl Conf. Data Mining (ICDM 01),pp. 107- 114, 2001. [10] B. Scholkopf, A. Smola, and K.R. Muller, “Nonlinear Component Analysis as a Kernel Eigenvalue Problem,” Neural Computation, vol. 10, pp. 1299-1319, July 1998. [11] G. Karypis and V. Kumar, “A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs,” Scientific Computing, vol. 20, pp. 359-392, Dec. 1998. [12] S.C. Johnson, Hierarchical Clustering Schemes, Psychometrika, Yahoo Research Labs, vol. 2, pp. 241254, 1967. [13]M.L. Huang and Q.V. Nguyen, “A Fast Algorithm for Balanced Graph Clustering,” Proc. 11th Int’l Conf. Information Visualization, pp. 46-52, 2007. [14] K. Andreev and H. Racke, “Balanced Graph Partitioning,” Proc. 16th Ann. ACM Symp. Parallelism in Algorithms and Architectures, pp. 120-124, 2004. [15]H.S. Stone, “Multiprocessor Scheduling with the Aid of Network Flow Algorithms,” IEEE Trans. Software Eng., vol. 3, no. 1, pp. 85-93, Jan. 1977. [16]P. Morillo, J.M. Orduna, M. Fernandez, and J. Duato, “Improving the Performance of Distributed Virtual Environment Systems,” IEEE Trans. Parallel and Distributed Systems, vol. 16, no. 7, pp. 637649, July 2005.[20].

221

Suggest Documents