Cluster Computing 7, 7–19, 2004 2004 Kluwer Academic Publishers. Manufactured in The Netherlands. A Cluster-Based Web System Providing Differentiated and Guaranteed Services MAURO ANDREOLINI and EMILIANO CASALICCHIO University of Roma Tor Vergata, Roma, Italy 00133 MICHELE COLAJANNI and MARCO MAMBELLI University of Modena, Modena, Italy 41100 Abstract. In a world where many users rely on the Web for up-to-date personal and business information and transactions, it is fundamental to build Web systems that allow service providers to differentiate user expectations with multi-class Service Level Agreements (SLAs). In this paper we focus on the server components of the Web, by implementing QoS principles in a Web-server cluster that is, an architecture composed by multiple servers and one front-end node called Web switch. We first propose a methodology to determine a set of confident SLAs in a real Web cluster for multiple classes of users and services. We then decide to implement at the Web switch level all mechanisms that transform a best-effort Web cluster into a QoS-enhanced system. We also compare three QoS-aware policies through experimental results in a real test-bed system. We show that the policy implementing all QoS principles allows a Web content provider to guarantee the contractual SLA targets also in severe load conditions. Other algorithms lacking some QoS principles cannot be used for respecting SLA constraints although they provide acceptable performance for some load and system conditions. Keywords: cluster-based architecture, Quality of Service, resource management, performance evaluation, Web server system 1. Introduction The Web is becoming a business-oriented media and the preferred interface for the most recent information systems. Hence, it is always more important to design and implement systems that are able to differentiate the performance offered to users and services. Such systems could accommodate het- erogeneous application requirements and user expectations, and permit differentiated pricing for content hosting or ser- vice providing. For example, economic transactions are more important than simple browsing, and internal or premium ser- vice users may expect a better treatment. A significant amount of research on Quality of Service (QoS) has focused on the network infrastructure including protocols, routers and Web caching. However, network QoS alone is not sufficient to support end-to-end QoS. To avoid the situation where high priority traffic reaching a server is dropped at the server side, the system hosting the Web site should be enhanced with mechanisms and policies for deliv- ering end-to-end QoS (at least) to some classes of users and services. Although the ultimate challenge for the research in this field is to combine network with server QoS, in this pa- per we consider the server side of the Web system. Hence, we assume that network congestion problems are solved else- where, and client issues (such as insufficient performance of the browser, badly connected client machine) are outside the control of the Web service provider. We describe the design, implementation and experiments of one of the first cluster-based prototype implementing the Corresponding author. E-mail: ecasalicchio@ing.uniroma2.it so-called “Quality of Web-based Services” (QoWS) principles that are inspired by the well known network QoS principles: service classification, admission control, performance isola- tion, and high resource utilization. In particular, we apply the QoWS principles to a Web site that is hosted on a system platform consisting of locally distributed Web server nodes, namely Web-server cluster or Web cluster in short. With a simple best-effort platform, the only way to guarantee pre- dictable service levels and to respond to congestion peaks is to over-provide system resources. By using QoWS mechanisms, we show that a variety of Web services can be deployed with high confidence and efficiency to selected classes of users. QoWS-enabled systems for Web-based services have been recently proposed for single and multiple servers platforms. For a Web site hosted on a single server node, the main ac- tions focus on scheduling algorithms and resource manage- ment of server components, both at the HTTP server and op- erating system level [5,7,13,21,25]. Most results for QoWS- enabled clusters consider Web content hosting that is, multiple Web sites co-located on the same platform [4,22]. Instead, in this paper we investigate mechanisms and policies for a cluster-based system that hosts one popular Web site. Few results exist on this last topic [12,19,26] and all of them aim to compare the proposed QoWS-aware policy against a not QoWS-enabled Web cluster, typically through some simula- tion model instead of a prototype as done in this paper. Given a Web cluster that provides static and dynamic con- tents, we first propose a methodology to determine a set of confident multi-class Service Level Agreements (SLAs). We then describe the implementation (at the Web switch level of the Web cluster) of some QoWS-aware policies that adapt the