Negotiation mechanisms on application level: A new approach to improve quality of service in web servers J´ulio C´ezar Estrella Institute of Mathematics and Computer Science University of S˜ao Paulo S˜ao Carlos - SP - Brazil 13560-970
[email protected]
M´ario Meireles Teixeira Department of Informatics Federal University of Maranh˜ao S˜ao Luis - MA - Brazil 65085-580
[email protected]
Marcos Jos´e Santana Regina Helena C. Santana, Sarita Mazzini Bruschi Institute of Mathematics and Computer Science University of S˜ao Paulo S˜ao Carlos - SP - Brazil 13560-970 {mjs, rcs, sarita}@icmc.usp.br Abstract This paper describes a negotiation mechanism inserted in a web server model with differentiated services. All the results of this article have been obtained by means of simulation using for this a queueing network model representing a web server with QoS. The results also confirm that this new approach enhance the quality of service provided to clients, mainly in overload situations, being an aid in the process of request admission and dropping.
1. Introduction The Internet has gone through deep modifications since its advent, amongst these, the traffic increase and service differentiation are distinguished. Efforts have been considered to allow that different types of traffics are dealt in a differentiated way in the Web, with prominence for web server models with quality of service [19], [5], [3], [2], [12], [6] and [17]. The results of this paper have been acquired by means of simulation, using a queueing network model to represent a web server with QoS (Quality of Service).
2. SWDS Model The web server model with service differentiation [14] was defined aiming at the introduction of QoS in application level. It is a generic model for a Service Differentiating Web Server which should be able to provide different
levels of service to its clients with quality of service guarantees. This web server model is used to validate the algorithm implemented in this article. The aim to implement this model is that current web servers have the disadvantage of processing all requests according to a FIFO (First-In First-Out) discipline, managing a single queue where each request waits to be serviced, in strict arrival order. Although different concurrency control schemes may be implemented in the server to speed up request processing, it generally happens uniformly, without any regard to the peculiarities or urgency of each type of request. Regarding the negotiation mechanisms, we consider them as an evolution of the SWDS model, as can be observed in all results, being a new technique to be used to improve quality of service in web servers, thus enhancing similar models and techniques in the literature. The SWDS model presents some components. Amongst these, a request classifier, a control admission module and algorithms for service differentiation are distinguished. The classifier is a module that classifies the requests in order to deliver them to the admission control module. The admission control module manages the acceptance of new requests by the server, in order to avoid an overload situation. This module uses information of the system workload, by means of an exponentially weighted average. In the admission control, a request can be accepted by the web server cluster shown in figure 1 or discarded, without the possibility of being negotiated in the future. The model also is distinguished by the structure of the admission control presenting the following characteristics: an area of global va-
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 (SEUS-WCCIA’06) 0-7695-2560-1/06 $20.00 © 2006
IEEE
riables, a buffer area, a control information module and the presence of control mechanisms. The SWDS model considered in [14], [15] can be observed in figure 1.
system cannot admit requests beyond a number previously determined, this considered adequated by the system (1024 solicitations, for example). The figure 2 shows this mechanism.
Figure 1. SWDS Model
Figure 2. SWDS and Client Negotiation Algorithm - CNA
3. Negotiation Algorithm The aim of the negotiation mechanism implemented in the SWDS model is to allow some service class requests to have another chance of being admitted into the system, although with lower QoS criteria. The model developed in [16] has its limitations, since it implements only admission control mechanisms based on the size of the server queues, on the response time of requests and also according to an exponentially weighted average of system utilization. Such mechanisms are not specifically related to any client attendance policy or to any negotiation mechanisms. In the original model, when a request arrives at the admission control it can only be accepted or discarded by the web server cluster.
4. Client Negotiation Algorithm - CNA The client negotiation algorithm, called CNA, is a result of modifications in the SWDS server model code. In this algorithm, a request that cannot be admitted in a instant, returns to the client, which decides if he accepts this degradation or not, and then, if he accepts, the request returns to the admission control. To validate this algorithm, a new center of service (queue) was created (called ReqThink), with the purpose of simulating the client think time. Thus, if a request of class 2 cannot be admitted, it is lowered to class 1 and in last case to class 0. If it is not accepted in class 0, then it will be discarded. The same procedure occurs to class 1 requests, that in an overload situation will be lowered to class 0. We consider a overload situation when the
5. Model Parameterization In order to validate the proposed negotiation mechanism implemented in the web server architecture with differentiated services, simulation was used as the technique to perform evaluation. To define the server model, as well as the negotiation algorithm, it was used the Simpack simulator [10]. For the workload generation, real web server access logs were used, mainly because it is difficult to produce artificially a workload with the web characteristics (file size distribution with heavy tail characteristics, burst network traffic) [18] presenting a self-similar behavior [9]. It was also considered other work involving quality of service in web applications, such as [6], [7], [8], [11] and [1]. The simulation experiments described in this paper used the log files corresponding to June 11, 1998, which recorded accesses to 27 different servers. These log files reveal a very busy web site access pattern at the time of France World Cup. A more detailed analysis of the log can be found in [4]. As in [4] previous studies have shown that the workload characteristics of the Web change constantly. It has been observed, for instance, that the file size distribution is heavytailed and the network traffic has a bursty nature, in different time scales [18], exhibiting a self-similar behavior [9]. Therefore, given the difficulty of generating a synthetic workload with these characteristics, in this study we decided to use real web server traces for workload generation, as seen in other related work.
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 (SEUS-WCCIA’06) 0-7695-2560-1/06 $20.00 © 2006
IEEE
The admission control mechanism characterized in figure 1 uses a web server cluster average as metric, being this calculated through an exponentially weighed average. This average is determined considering one fixed weight (P in 1) and also the queue average size of each cluster node. The main purpose of this average is to evaluate if a request that arrives at the admission control can be scheduled to the cluster, in order to be admitted. In order, the weight P determines the average sensitivity in relation to changes in cluster usage. A similar approach is found in the RED 1 algorithm, which discards the packages of the routers queues before an overload situation occurs. In this case, it uses an exponentially weighted average of the queues sizes, besides probabilistic thresholds [13]. Parameter P Med-Resched SQF C Serv Reg Look-Ahead
Meaning Value which compose the average (0.9) Value for scheduling function (0.009) Scheduling Algorithm Number of class for simulation (3) Total Servers (4) Number of registers read of log (1 million) Positions covered in the queue (300)
Table 1. Parameters used in the simulations The SQF scheduling algorithm has the function to send a request for the server who possess the lesser number of requests in its queue (in a determined instant). The C parameter represents the number of service class used during the tests and the Serv parameter is the amount of servers. Med-Resched is a average that must be passed to an exponential function, used for a method defined in the Simpack simulator. This method, called Schedule, is responsible for scheduling all requests to either the web server cluster or the admission control, depending on the cluster workload. In all simulations a value of 0.009 for Med Reesched parameter was used. This value was calculed from the attendance time of the processed requests in the SWDS model. This value was 0.018, regardless of the class the requests belongs, since it only considers the attendance time and not the queue time. To verify the impact of this average value in the queue time and in relation to the number of discards, we define all simulations with half of this value. The Reg parameter supplies the record number read of log used as workload for simulations. Finally the Lookahead determines the postion maximum number in the queue that will be covered from the beginning, looking for requests of determined priority. All data simulation In the simulations that validated the SWDS model [14], a 90% threshold of the system utilization was used. In that situation, the model was defined with only two service classes, in contrast of the simulation experiments defined in this 1 Random
Early Detection
paper, where three classes had been defined. These classes are represented as: 2, 1 and 0, following a priority order in the attendance, such as: 2 > 1 > 0. When a request continuously fails until its quality requirements becomes 0, for example, it is counted as a level 2 rejection. The same can be applied for class 1 requests. If on the on hand, only class 2 and 1 requests can be negotiated, on the other hand class 0 has just two chances: or it is admited in the cluster, either it is rejected immediately. It is necessary to emphasize that this priority order is obtained with the execution of an algorithm called PRIAdap [15], whose purpose is to cover the queues of each node that compose the cluster according to a definitive value of Look Ahead. This value for all simulations is the same used in the SWDS model because we wish compared the model with and without negoatiotion mechanisms. Also it is important to emphasize that originally the SWDS model did not implement any negotiation mechanism.
6. Experimental Results All the simulations used to validate the negotiation mechanism considered in this article was accomplished according to table 2 sceneries. Table 2. Simulation Sceneries Simulation A B C D E
Arrivals per Classes 0 1 2 25% 25% 50% 33% 33% 33% 50% 25% 25% 50% 35% 15% 70% 20% 10%
In figure 3 can be observed a comparison between the three type of service class with regard to discard taxes. As it does not have no negotiation mechanism implemented, the trend is that the number of discard is the same for both the service class, as shown in the case 33%, 33%, 33%. The evident profit with the negotiation mechanism is the discard number reduction of the class 2 requests, as shows figure 4. Another results related with all service classes used in the simulations are presented in figures 5, 6 and 7. Although the quality of service for bigger priority class presents improvements, the inferior classes are harmed. This is reflected by the PRIAdap algorithm [14], whose function is to search requests in the servers queues that need better attendance. Another advantage is the reduction of response average time for class 2, when using the client negotiation algorithm. According to figure 8, all the response time is better
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 (SEUS-WCCIA’06) 0-7695-2560-1/06 $20.00 © 2006
IEEE
Figure 3. Discards without negotiation
Figure 4. Discards with negotiation
Figure 6. Class 1 - with negotiation x without negotiation
Figure 7. Class 2 - with negotiation x without negotiation
[14]. This confirms the validity of the negotiation as an efficient mechanism to improve the quality of the service offered by the SWDS server to its clients.
7. Conclusions
Figure 5. Class 0 - with negotiation x without negotiation
than that obtained time with the admission control mechanism, that uses a weighed mean in the model developed in
The aim of this paper was to investigate how a new technique called negotiation could be used to improve current web server models with quality of service features. Initially an introduction for the development of this work was presented. After that, we describe the SWDS model and its components and other related work associated with the content of this paper that were used as a starting point for its development. Furthermore, we also present the client negotiation algorithm and some simulation characteristics, as well as the model parametrization. Finally, we discuss some experimental results.
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 (SEUS-WCCIA’06) 0-7695-2560-1/06 $20.00 © 2006
IEEE
Figure 8. Response average time The simulation results presented in this article demonstrate that negotiation mechanisms are a very important feature in web server architectures with differentiated services. Clients’ participation in this process also revealed to be an essential feature. Moreover, the algorithm implemented and discussed in this article confirms that a web server model that supports negotiation exhibits better performance in terms of average response time and a lower number of discards for some service classes.
8
Acknowledgments
We would like to thank Brazilian funding agencies CNPq, CAPES and FAPESP for their support to the research projects of the Distributed Systems and Concurrent Programming Lab (LaSDPC) at ICMC-USP.
References [1] Web server software architectures. IEEE Internet Computing, 7, November/December 2003. [2] T. Abdelzaher, K. G. Shin, and N. Bhatti. Performance guarantees for web server end-systems: A control-theoretical approach. IEEE Transactions on Parallel and Distributed Systems, 13(1), January 2002. [3] M. Andreolini, E. Casalicchio, M. Colajanni, and M. Mambelli. A cluster-based web system providing differentiated and guaranteed services. volume 7, pages 7–19. Cluster Computing, January 2004. [4] M. Arlitt and J. Tai. Workload characterization of the 1998 world cup web site. HP Laboratories, Palo Alto. Techinial Report HPL-1999-35 (R.1), 1999. [5] J. M. Blanquer, A. Batchelli, K. Schauser, and R. Wolski. Qos for internet services - done right. pages 1–7. 11th ACM SIGOPS European Workshop, 2004. [6] V. Cardellini, E. Casalicchio, M. Colajanni, and M. Mambelli. Web switch support for differentiated services. pages 14–19. ACM Performance Evaluation Review, 29(2), 2001.
[7] E. Casalicchio and M. Colajanni. Scalable web cluster with static and dynamic contents. In In Proceedings of the IEEE International Conference on Cluster Computing CLUSTER’00, 2000. [8] X. Chen and P. Mohapatra. Providing differentiated services from an internet server. In In Proceedings of the IEEE International Conference on Computer Communications and Networks, pages 214–217, 1999. [9] M. E. Crovella and A. Bestavros. Self-similarity in world wide web traffic: Evidence and possible causes. pages 835– 846. IEEE/ACM Transactions on Networking. 5(6), 1997. [10] R. M. Cubert and P. Fishwick. Sim++, version 1.0. Department of Computer and Information Science and Engineering, University of Florida, Gainesville, FL. Dispon´ıvel em: http://www.cise.ufl.edu/ fishwick/simpack/simpack.html., 1995. [11] Y. Hu, A. Nanda, and Q. Yang. Measurement, analysis and performance improvement of the apache web server. In Proceedings of the 18thIEEE International Performance, Computing and Communications Conference, 1999. [12] G. Raio and B. Ramamurthy. Diffserver: Application level differentiated services for web serves. In Proceedings of the IEEE International Conference on Communications. IEEE, June 2001. [13] W. Stallings. High-speed networks and internets: Performance and quality of service. Prentice Hall, 2. edition, 2002. [14] M. A. M. Teixeira. Suporte a servic¸os diferenciados em servidores web: modelos e algoritmos. Tese de Doutorado defendida no Instituto de Ciˆencia Matem´aticas e de Computac¸a˜ o - ICMC, 2004. [15] M. A. M. Teixeira, M. J. Santana, and R. H. C. Santana. Using adaptative priority controls for service differentiation in qos-enabled web servers. In Proceedings of the International Conference on Computational Science (ICCS2004). Lecture Notes on Computer Science., volume 3039, pages 537–540, June 2004. [16] M. A. M. Teixeira, M. J. Santana, and R. H. C. Santana. Servidor web com diferenciac¸a˜ o de servic¸os: Fornecendo QoS para servic¸os da internet. XXIII Simp´osio Brasileiro de Redes de Computadores - SBRC - Fortaleza - CE, 2005. [17] B. Urgaonkar, G. Pacific, P. Shenoy, M. Spreitzer, and A. Tantawi. An analytical model for multi-tier internet services and its applications. ACM SIGMETRICS’05, pages 291–302, June 2005. [18] C. L. Williamson and M. Arlitt. Web server workload characterization: the search for invariants. In Proceedings of the ACM SIGMETRICS’96, pages 126–137, Philadelphia, PA, 05 1996. SIGMETRICS. [19] S. Zhi-guang, L. Chuang, M. D. C, and Y. Yang. Modeling and performance analysis of qos-aware load balancing of web-server clusters. Computer Networks, 40:235–256, October 2002.
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 (SEUS-WCCIA’06) 0-7695-2560-1/06 $20.00 © 2006
IEEE