Let be the number of servers in a server cluster, ¡ the num- ber of served QoS classes, and вгдегж the desired upper limit of load in server § , зй . Let row , ¡ , of.
Adaptive Parameter Setting for QoS Aware Load Balancing Algorithm KIMMO KAARIO Honeywell Industrial Control Control System Development Ohjelmakaari 1, FIN-40500 Jyv¨askyl¨a FINLAND
¨ AL ¨ AINEN ¨ TIMO HAM University of Jyv¨askyl¨a Faculty of Information Technology Department of Mathematical Information Technology Telecommunications P.O.Box 35, FIN-40351 Jyv¨askyl¨a FINLAND
PERTTI RAATIKAINEN VTT Information Technology Telecommunications P.O.Box 1202, FIN-02044 VTT FINLAND
Abstract: - The swift growth of Internet has boosted the use of Web based services and in some practical cases has led to overwhelming request bursts to servers. Relational database queries, image storage/retrieval and other new types of application transactions have become increasingly popular. Their coexistence in commercial parallel and distributed systems have generated some uniquely new loading problems. For example, the constant increase of request rate finally leads to processing power requirement exceeding that of the accessed server. As a consequence, the response times increase and some portion of the requests are lost. Clustering of servers to meet the growing demand for server processing capacity, especially in web-based service supply, have created the need for intelligent switching at front-end devices. As a consequence of clustering, multilayer switching schemes have been developed to enable optimum loading of the individual servers in a cluster. In this paper, we formulate the load balancing problem taking the QoS into consideration and introduce a QoS aware load balancing algorithm (QoS-LB). The performance of the algorithm is simulated and results indicating the load balancing capability of the algorithm are presented. The overall idea of this paper is to describe an algorithm that actually provides Class of Service based differentiated access to server clusters, and offers better playground for QoS mechanisms in client-server environments. The engineering task to offer QoS guarantees with such a differentation tool is out of the scope of this paper. Keywords: - Server load balancing, content-based switching, QoS.
the current load of QoS class in the cluster at time indicate . Now, we can describe the connections of each QoS class
1 Introduction
The server capacity problem has normally been solved by in the cluster by a connection matrix implementing a cluster of servers having identical or partly identical content, which on the other hand has created the problem of balancing load between the clustered servers. (2) .. .. .. .. Front-end devices, supporting various kinds of load balanc. . . . ing methods, have been developed to direct requests to the servers. Most of the experimented as well as implemented load balancing schemes employ sufficiently simple algo- where indicates percentage of traffic in QoS class rithms that have been developed for a specialized hardware that is currently served by server . and software architecture. They usually do not take into acThe following three rules have to be satisfied: count the Quality of Service (QoS) issues. The simplest ones 1 The load on each server is preferred to be less than share the load uniformly between the servers by using algo, which means that there should be some penalty rithms like round-robin [2]. Some systems consider the prowhen cessing power of the servers and utilize the weighted roundrobin scheme [3]. More intelligent systems take response (3) times into account and try to optimize system performance, e.g. by maximizing cache hit rate [7]. The most advanced of is not valid. these systems are called web switches operating at layer 5 of 2 Every customer must be served, i.e. the TCP/IP protocol stack, i.e. the application layer for the Web, and use content of the IP packets in making the load balancing decisions [1]. (4) Our goal was to develop a load balancing scheme that would fit optimally into a wide class of distributed computer system architectures and take required QoS into account. The 3 The requests for a certain QoS class should be served incoming requests would be directed to servers based on the by the same server if possible. With this rule we may QoS needs of the requested services and loading level of the assume that rule 4 is well-formed. This requirement individual servers would be tuned to support required QoS can be achieved, e.g. by minimizing the product levels. This means that more processing power is reserved for high priority requests than for lower priority ones. The (5) algorithm was introduced in [4], and it was optimized for high cache hit-rates in [5]. This paper modifies the algorithm by introducing an adaptive tuning method for its parameters. By using this approach, the minimization procedure The algorithm is being implemented to Media Switch [12], tries to find situations, where some of the elements which is a Linux based programmable switch. in each row of the connection matrix is close to 0. The rest of this paper is organized as follows. Chapter 2 This leads to a state, where the load for that traffic type introduces the QoS based load balancing problem and Chapconcentrates to a single server (with close to 1). If ter 3 presents the developed algorithm. Chapter 4 presents the any of the elements in that row equals to 1, the other elperformance evaluation results and Chapter 5 summarizes the ements must equal to zero. This would be the ideal case, main results and outlines the future work. if the following rule (rule 4 ) is minimized at the same time.
"! # $ %
&
&
'( *)
&
+ , - ./- &
0 2- , 1
&
&
2 Problem Formulation
Let be the number of servers in a server cluster, the number of served QoS classes, and the desired upper limit of load in server , . Let row , , of matrix
. ..
(1)
4 ”QoS awareness”. In the following, we assume that the most important QoS class is class 1 and the lowest QoS class gets the highest class number. It is also assumed that
) 3 (6) 56 . With these assumptions we can for 45 minimize + + 6 (7) , , 877 77 77 77
; F-\ ] ^ ^ ^ ] A
to prefer serving the higher QoS classes in the less loaded nodes (See rule 1 ).
and . If we extend the previous problem formulation (Equation Equation (7) behaves as some sort of a ”pointer” to a (8)), we are faced with the problem of minimizing the folrelevant server for each QoS class - if the chosen server lowing four object functions is close to ideal, then is small and element can be large. When the ”distance” gets larger, (13) for the minimization tries to find smaller elements these servers.
9
: ;=