Adaptive algorithms for managing a distributed data processing workload
IBM Systems Journal
Self-similarity in World Wide Web traffic: evidence and possible causes
IEEE/ACM Transactions on Networking (TON)
Performance Guarantees for Web Server End-Systems: A Control-Theoretical Approach
IEEE Transactions on Parallel and Distributed Systems
The Future of Systems Research
Computer
Web server support for tiered services
IEEE Network: The Magazine of Global Internetworking
A content-based load balancing algorithm with admission control for cluster web servers
Future Generation Computer Systems
NPC '08 Proceedings of the IFIP International Conference on Network and Parallel Computing
The Journal of Supercomputing
A predictive and probabilistic load-balancing algorithm for cluster-based web servers
Applied Soft Computing
Hi-index | 0.25 |
As more business applications have become web enabled, the web server architecture has evolved to provide performance isolation, service differentiation, and QoS guarantees. Various server mechanisms that provide QoS extensions, however, rely on external administrators to set the right parameter values for their desirable performance. Due to the complexity of handling varying workloads and bursty traffic, configuring such parameters optimally becomes a challenge. In this paper, we describe an observation-based approach for self-managing web servers that can adapt to changing workloads while maintaining the QoS requirements of different classes. In this approach, the system state is monitored continuously and parameter values of various system resources-primarily the accept queue and the CPU-are adjusted to maintain the system-wide QoS goals. We implement our techniques using the Apache web server and the Linux operating system. We first demonstrate the need to manage different resources in the system depending on the workload characteristics. We then experimentally demonstrate that our observation-based system monitors such as workload changes and adjusts the resource parameters of the accept queue and CPU schedulers in order to maintain the QoS requirements of the different classes.