Proceedings of the 2005 IEEE Conference on Control Applications Toronto, Canada, August 28-31, 2005
TB5.1
Assuring QoS Differentiation and Load Balancing on Web Servers Clusters 1
Antonio Serra*1, Dominique Gaïti2, Giovanni Barroso3, Jérôme Boudy1
2 Institut National des Université de Technologie de 3Universidade Federal do Ceará Télécommunications Troyes Av. da Universidade, 2853 – 9 rue Charles Fourier – 91011 12 rue Marie Curie – 10.010 Benfica - 60020-181 Evry Cedex, France Troyes Cedex, France Fortaleza - CE-Brasil {antonio.de_barros_serra ;
[email protected];
[email protected];
[email protected]}
balance the imposed load among a number of computers and to use admission control mechanisms to improve performance [1]. Furthermore, on the Internet, users with different QoS aspirations have been forced to share available processing resources in a same way even they can pay more. At the network level, IP networks use the diffserv (differentiated service) mechanism to allow differentiation of services grouping them in different classes and guaranteeing some QoS parameters (lost, delay, jitter). At the application level, to allow service providers to differentiate QoS offered to their clients, it is necessary to use mechanisms to allocate available processing resources in a differentiated way. This paper presents WS-DSAC (Web Servers – Differentiated Services Admission Control), a diffservbased admission control and load-balancing mechanism conceived to improve QoS on Web servers clusters. The mechanism uses feedback control theory, load balancing techniques and an admission control scheme to control performance and to differentiate services on Web servers clusters. The mechanism uses a “Reactivity Coefficient” [3] parameter (directly related to service response time) to measure QoS and it has three main objectives: to balance the imposed load, to guarantee different QoS levels (measured in terms of response time) and to use available resources in an effective way. We also present evaluation experiments showing that it is able to accomplish these objectives. This paper is organized as follows: In section 2, we present the context in which this work is inserted. In section 3, we formally describe the WS-DSAC mechanism. In section 4, we present experimental results showing the mechanism achieves the proposed objectives. Finally, in section 5, conclusions are discussed.
Abstract The number of users of services deployed on the Internet has been increasing continually. This has been causing overload in a great amount of Web servers reducing QoS (Quality of Service) offered by service providers. Furthermore, users with different QoS aspirations have been forced to share available processing resources in a same way even they can pay more. To deal with these problems, a possible solution is the balancing of imposed load among a certain number of computers to improve performance and the use of admission control mechanisms to allow differentiated allocation of resources for specific service classes. This paper presents WS-DSAC (Web Servers – Differentiated Services Admission Control), a diffserv-based admission control and load balancing mechanism conceived to improve QoS on Web servers clusters. WS-DSAC has three main aims: to balance the imposed load, to guarantee different QoS levels and to use available resources in an effective way. We also present evaluation experiments showing the mechanism is able to achieve these objectives.
1. Introduction The number of users of services deployed on the Internet has been increasing continually. When an Internet service is deployed, a service provider may deal with a great number of accesses. This may cause an overload or even a crash on the Web server that provides the service, consequently reducing the offered quality of service (QoS). Taking into account that bottlenecks have been located more and more in processing resources due to the increase of offered Web dynamic contents (CGIs, Servlets, JSPs,...), a possible solution to deal with this problem is to *
Antônio B. Serra is supported by CAPES-Brazil.
0-7803-9354-6/05/$20.00 ©2005 IEEE
885
Fig. 2. Platform elements communication
Fig. 1. Platform Overview
we can see services like a set of distributed objects that work together to execute specific tasks. In our platform, Internet services coexist with distributed objects and load-balancing mechanisms take care of both elements. Quality of Service is the collective effect of the acting of a service, which determines the satisfaction degree of service users. At network level, the QoS is measured through specific parameters: packet loss, delay and jitter. In this work we use the load level of the network nodes to evaluate the QoS at the application level. The load level of a node is directly related to the response time of applications that work in this node. Therefore the QoS noticed by the users of these applications is directly affected by this load level.
2. Work Context The WS-DSAC mechanism was conceived to perform admission control and load-balancing on a distributed platform presented in [5]. The platform offers different QoS levels based on the differentiation of services.
2.1 Platform characteristics Some existing load-balancing solutions require a middleware adaptation, others force to adapt the developed application. Both generate inconveniences; the first one to the service provider that must use a specific middleware in the platform; the second one to the application developer that has to adapt the application to the respective load-balancing mechanisms. In our platform we use a strategy that avoids these inconveniences. The proposed solution is transparent to the service provider and to the application developer. Administration Services generate necessary load-balancing mechanisms during service installation in the platform. In some applications it is necessary to associate different levels of QoS for the available services. For example, in a patient monitoring system there are different kinds of users (patients, doctors, nurses, etc.) and services (signal processing, patient information requests, etc). In these systems all services are important, however the priority of patients vital signals processing could be greater than the priority of patient information requests. The present platform allows offering different QoS levels for specific services through a distinct allocation of resources. QoS parameters are associated to different service classes. When a client request arrives, the system knows what QoS parameters must be provided for the request. New software paradigms have changed application development methodologies. The oriented object technologies have been widely used by application developers. Technologies for development of distributed systems facilitate the communication between different elements in networks. In the Internet
2.2 The Platform Architecture Specification The platform (Fig. 1) is composed by a set of elements: “Class Switch”, “Cluster Gateways” and “Web Server Nodes”. “Class Switch” is responsible of classification and admission control of client requests. It receives incoming HTTP requests, identifies the service class and sends each request to a specific “Cluster Gateway”. “Cluster Gateway” chooses a least loaded Web Server Node to process the requests sent by the “Class Switch”. Services are deployed in a number of Web Server nodes. They are composed of Internet services and distributed objects. Each Web Sever Node has a Monitor Agent that observes its load. The Monitor Agent uses a “Reactivity Coefficient” technique [3] which gives an idea of the load tendencies in the node. The technique measures the time that a system task waits for the CPU. The waiting time depends directly on the computer load. In the “Cluster Gateway” a “Cluster Resource Manager” (fig. 2) periodically pools load information of every Web Server Nodes. It estimates the cluster load based on this information. A “Request Gateway” schedules incoming HTTP requests to specific Web Server Nodes based on the load information of the “Cluster Resource Manager”. Inside a “class cluster
886
domain”, object messages are scheduled by a “Message Object Gateway” that also uses the same load information. The platform offers different levels of QoS based on the differentiation of services. Incoming requests are classified in different classes of services. The platform administrator associates each class of service to a maximal load value in the platform through a Class Definition. In the “Class Switch” a Global Resource Manager pools load information of each cluster. When a HTTP request arrives, the Class Switch uses WS-DSAC admission control and load balancing mechanism to allocate resource to process the request.
Fig. 3 – parameters used to compute each class cluster work mode during the kth time interval. em R ki – a threshold computed dynamically in each kth
period, which establishes the “reactivity coefficient” value that can be reached by the class cluster “i” during the “k” period from which the cluster works in “exclusive” mode. While the “reactivity coefficient” value is below this parameter, the class cluster “i” shares available resources with any other classes, otherwise resources will be used only by the native class. Its evaluation is presented in next subsection.
3. WS-DSAC Mechanism WS-DSAC mechanism has three basic objectives: x Perform load-balancing among class clusters and web server nodes; x Allow service differentiation on the use of available processing resources in clusters of Web servers, guaranteeing different response times for different service classes; x Distribute available processing resources equally and fairly in low-load periods through the effective use of them. In other words, don’t sacrifice less important class services while there are available processing resources;
rkij – average load (respectively, “reactivity coefficient” average) of the Web server “j” on the class cluster “i”, measured during the kth period of time, where (1 d i d Nc) e (1 d j d Nsi). rki – average load (respectively, “reactivity coefficient” average) of servers registered on the class cluster “i”, measured during the kth period of time, i.e.:
3.1 WS-DSAC Algorithm
§ Nsi · ¨ ¦ rkij ¸ ¨ j1 ¸ rki = ¨ Nsi ¸ ¨¨ ¸¸ © ¹
WS-DSAC mechanism relies on strategies discussed in [1] and [2]. It was conceived respecting flexibility and scalability characteristics of our platform (presented in the section 3 of this paper). Formally, the mechanism is defined by the following parameters:
T1, T2, …, Tn,… - a sequence of periods used for making a decision about admission or rejection of new requests during the next time interval.
(1)
Ukij – Estimated Load (geometrically decaying average) on the Web server “j” of the class cluster “i” at the (K+1)th period of, computed during the kth period of time using the admission control function fac, after Kth period and before a new period (K+1) begins, namely Ukij = fac(k+1);
Nc – Number of different service classes (class clusters) specified on the platform, where (Nc>1); Nsi – Number of servers registered on class domain “i”, where (Nsi > 0);
The function fac(k+1) is given by:
ac R i – a threshold which establishes the critical cluster
fac(1) = R iac ; fac(k+1)= (1-Į) * fac(k) + Į * rkij;
utilization level (measured by the “reactivity coefficient”) of the class cluster “i”, where (1