Elsevier

Computer Communications

Volume 29, Issue 16, 12 October 2006, Pages 3158-3169
Computer Communications

An integrated approach with feedback control for robust Web QoS design

https://doi.org/10.1016/j.comcom.2006.04.005Get rights and content

Abstract

There is a growing demand for provisioning of different levels of quality of service (QoS) on scalable Web servers to meet changing resource availability and to satisfy different client requirements. In this paper, we investigate the problem of providing proportional QoS differentiation with respect to response time on Web servers. We first present a processing rate allocation scheme based on the foundations of queueing theory. It provides different processing rates to requests of different client classes so as to achieve the differentiation objective. At application level, process is used as the resource allocation principal for achieving processing rates on Apache Web servers. We design and implement an adaptive process allocation approach, guided by the queueing-theoretical rate allocation scheme, on an Apache server. This application-level implementation, however, shows weak QoS predictability because it does not have fine-grained control over the consumption of resources that the kernel consumes and hence the processing rate is not strictly proportional to the number of processes allocated. We then design a feedback controller and integrate it with the queueing-theoretical approach. It adjusts process allocations according to the difference between the target response time and the achieved response time using a proportional integral derivative controller. Experimental results demonstrate that this integrated approach can enable Web servers to provide robust proportional response time differentiation.

Introduction

Due to the open and dynamics nature of Web applications, the last decade has witnessed an increasing demand for provisioning of different levels of quality of service (QoS) to meet changing system configuration and resource availability and to satisfy different client requirements. For example, in a Web content hosting farm, customers expect that the requests from their potential clients be serviced with a quality proportional to their payments. In an e-commerce site, customer checkout requests are more important than catalog browsing requests of visitors and therefore should be handled in a more timely manner. In an indiscriminate Web site, aggressive clients should be controlled so that other clients are able to have their fair shares of the resources at heavy-load periods. Evidently, providing service differentiation at server side is an important issue.

The differentiated QoS provisioning problem was first formulated in the network core by the Internet Engineering Task Force. Differentiated Services (DiffServ) [5] is a major architecture. It aims to define configurable types of packet forwarding in network core routers, which can provide per-hop differentiated services to per-class aggregates of network traffic. There are two types of DiffServ schemes [5]. One is absolute DiffServ, in which each request class receives an absolute share of resource usages. The other is relative DiffServ, in which a class with a higher desired QoS level (referred to as higher class) will receive better (at least no worse) service quality than a lower class. Although absolute DiffServ is desired to Internet services like audio/video streaming applications that have hard real-time constraints, relative DiffServ is sufficient for soft real-time Web applications. For a relative DiffServ scheme to be effective, it should satisfy three basic requirements. The first is predictability, that is, higher classes should receive better or no worse service quality than lower classes, independent of the class load distributions. The second is controllability, which means the system should have a number of controllable parameters that are adjustable for the control of quality spacings among classes. The third is fairness, that is, requests from lower classes should not be over-compromised for requests from higher classes.

The proportional differentiation model [8] states that certain class QoS metrics be proportional to their pre-specified differentiation weights, independent of the class loads. Due to its inherent differentiation predictability and proportionality fairness, the model has been accepted as an important DiffServ model and been applied in the proportional queueing-delay differentiation (PDD) in packet scheduling [8], [9], [15] and proportional loss differentiation in packet dropping [12]. There are recent efforts in support of end-to-end QoS differentiation at the server side [1], [2], [7], [10], [14], [18], [19], [21], [23], [24]. Response time is a fundamental performance metric on end servers. Existing response time differentiation strategies are mostly based on priority scheduling in combination with admission control [1], [2], [6], [7]. Studies showed that the differentiation can be achieved with requests of higher priority classes receiving lower response time than requests of lower priority classes. However, those strategies cannot quantitatively control the quality spacings, say proportionally, among different classes. Time-dependent priority scheduling algorithms developed for PDD provisioning in packet networks can be tailored for PDD provisioning on Web servers [14]. However, they are not applicable for response time differentiation because the response time is not only dependent on a job’s queueing delay but also on its service time, which varies significantly depending on the requested services. Therefore, the problem of providing proportional response time differentiation on Web servers is not only important, but also challenging.

In this paper, we investigate the problem of providing proportional QoS differentiation with respect to response time on Web servers. The main contribution of the work is in the design and implementation of a practical application-level approach, which is effective at enforcing proportional QoS differentiation and can be deployed easily. We first present a processing rate allocation scheme based on the foundations of queueing theory for proportional response time differentiation. We then design and implement an adaptive process allocation approach on an Apache Web server at application level to achieve the processing rates allocated to the request classes. However, the experimental results show that the achieved responsiveness differentiation proportionality is weak, in particular when the workload is close to system capacity. Furthermore, the variance is huge. These large and frequent changes of response time may frustrate end users and complicate service pricing. The main reason of the results is that the process abstraction serves both as a scheduling principal and as a resource allocation principal on Apache Web servers. However, resource allocation and scheduling primitives do not extend to the execution of significant parts of kernel code. The application-level implementation has no control over the consumption of resources that the kernel consumes on behalf of the application. While new kernel-level resource management mechanisms, such as Resource Container [4], can support fine-grained resource allocation for QoS differentiation more efficiently, their weaknesses lie on the portability and deployment issues. We design a feedback controller and integrate it with the queueing-theoretical approach. The integrated approach allocates a certain number of processes to handle requests of different client classes according to the queueing-theoretical rate allocation scheme. The process allocations are then adjusted according to the difference between the target response time and the achieved response time by using a proportional integral derivative controller. Experimental results demonstrate that this integrated application-level approach can enable Web servers to provide robust proportional response time differentiation.

The structure of the paper is as follows. Section 2 reviews other related work. Section 3 gives the processing rate allocation scheme for proportional differentiation. Section 4 presents the design and implementation of the queueing-theoretical adaptive process allocations on an Apache Web server and the performance evaluation. Section 5 introduces a feedback controller for providing fine-grained proportional differentiation services and gives the performance evaluation of the integrated approach. Section 6 concludes the paper.

Section snippets

Related Work

Providing differentiated services to Internet applications and clients is popular [1], [7], [8], [9], [10], [12], [16], [17], [19], [22], [25]. The proportional differentiation model was proposed in the network core [8]. It was extensively studied in packet scheduling with respect to packet delay and packet loss; see [8], [9], [15] for examples.

On the server side, priority-based request scheduling strategies have been investigated for response time differentiation on Web servers [2], [7]. In [7]

Processing rate allocation for proportional differentiation

Fig. 1 illustrates the architecture of processing rate allocation for proportional responsiveness differentiation on Web servers. Incoming requests from different clients are classified into N (2  N) classes according to their desired levels of QoS. The request classification can be done based on clients’ profile, device, payment, etc. The requests of different classes are then dispatched to different ports of a Web server. Each port is handled by a virtual server configured with a process pool.

A fixed process allocation strategy

Apache Web server is popular because of its open source. On an Apache Web server, a process is treated as the principal for the allocation of resources, such as CPU cycles and memory space. Thus, it is often assumed that the processing rate of a virtual server is proportional to the number of active processes allocated to its process pool. On an Apache Web server, we can impose an upper bound on the number of processes listening to a port (default maximum 256). To achieve the different

An integrated process allocation approach

To provide more robust proportional response time differentiation, we propose to design and integrate a feedback controller to the adaptive process allocation approach. The adaptive allocation approach is referred to as the queueing-theoretical allocation approach in the following. Proportional integral derivative (PID) control is one of the most classical control design techniques widely used in control systems [13]. In our system, PID controller is used to adjust the number of processes

Conclusions and future work

Providing proportional response time to different client classes is an important and challenging issue. It is important because proportional model is a popular relative QoS differentiation model and response time is a fundamental QoS metric on Web servers. It is challenging because the conventional application-level process allocation approaches lack fine-grained control of resource allocation and are insensitive to the bursty Internet traffic.

In this paper, we have designed a practical

Acknowledgements

This material is based on research sponsored by the Air Force Research Laboratory, under agreement number FA9550-04-1-0239. The US Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright notation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the Air Force Research Laboratory

Xiaobo Zhou received the B.S., M.S., and Ph.D. degrees in computer science from Nanjing University, in 1994, 1997, and 2000, respectively. He is an assistant professor in the Department of Computer Science at the University of Colorado at Colorado Springs. His research interests are in scalable distributed systems and Internet services, network communications and security. He has published about 40 articles in journals and peer-reviewed conference proceedings in these areas. He was a founding

References (25)

  • T.F. Abdelzaher et al.

    Performance guarantees for Web server end-systems: a control-theoretical approach

    IEEE Transactions on Parallel and Distributed Systems

    (2002)
  • J. Almeida, M. Dabu, A. Manikutty, P. Cao, Providing differentiated levels of services in Web content hosting, in:...
  • M. Arlitt et al.

    Characterizing the scalability of a large Web-based shopping system

    ACM Transactions on Internet Technology

    (2001)
  • G. Banga, P. Druschel, J. Mogul, Resource containers: a new facility for resource management in server systems, in:...
  • S. Blake et al.

    IETF RFC

    (1998)
  • S. Chandra, C.S. Ellis, A. Vahdat, Differentiated multimedia Web services using quality aware transcoding. in:...
  • X. Chen et al.

    Performance evaluation of service differentiating Internet servers

    IEEE Transactions on Computers

    (2002)
  • C. Dovrolis, D. Stiliadis, P. Ramanathan, Proportional differentiated services: delay differentiation and packet...
  • C. Dovrolis et al.

    Proportional differentiated services: delay differentiation and packet scheduling

    IEEE/ACM Transactions on Networking

    (2002)
  • M. El-Gendy, A. Bose, K.G. Shin, Evolution of the Internet QoS and support of soft real-time applications, in:...
  • G.R. Ganger et al.

    Fast and flexible application-level networking on Exokernel systems

    ACM Transactions Computer Systems

    (2002)
  • Y. Huang, R. Gu, A simple fifo-based scheme for differentiated loss guarantees, in: Proceedings of the IWQoS,...
  • Cited by (12)

    View all citing articles on Scopus

    Xiaobo Zhou received the B.S., M.S., and Ph.D. degrees in computer science from Nanjing University, in 1994, 1997, and 2000, respectively. He is an assistant professor in the Department of Computer Science at the University of Colorado at Colorado Springs. His research interests are in scalable distributed systems and Internet services, network communications and security. He has published about 40 articles in journals and peer-reviewed conference proceedings in these areas. He was a founding program cochair of the IEEE International Workshop on Security in Systems and Networks (SSN), the workshops chair of the IFIP 2006 International Conference on Embedded and Ubiquitous Computing (EUC’06), and a program committee member of numerous IEEE conferences. He was a guest coeditor of the Journal of Parallel and Distributed Computing and the Journal of Network and Computer Applications. He serves on the editorial board of Journal of Autonomic and Trusted Computing. Dr. Zhou’s research was supported in part by the US Air Force Research Laboratory. He was a visiting scientist in 1999 and a Postdoctorate research associate in 2000 at the Paderborn Center for Parallel Computing, University of Paderborn, Germany. From January 2001 to August 2003, he was a visiting assistant professor in the Department of Computer Science at Wayne State University, Detroit. He was the recipient of the Outstanding Researcher of the Year of the EAS College and the CRCW award of the University of Colorado at Colorado Springs in 2005. He is a member of the IEEE Computer Society.

    Yu Cai is a Ph.D. candidate in the Department of Computer Science, University of Colorado at Colorado Springs. His research interests are in network communications and security, multipath routing, and performance evaluation. He received the BS degree in computer science from Zhong Shang University in 1995.

    C. Edward Chow is a Professor in the Department of Computer Science, University of Colorado at Colorado Springs. He has been working on load balancing, content switching, resource allocation, network restoration, and network security issues for many years. Recent research accomplishments include the development of proxy server based secure indirect routing protocol, secure DNS update with multiple path indirect routing entries, secure wireless authentication server supporting both PEAP and TTLS, secure groupware for first responders with instant messaging and group re-keying, and an autonomous anti-DDoS system. He has two US patents on distributed network restoration methods. He has published over 40 papers on networks and protocols. He received B.S. in computer science from National Taiwan University in 1977, and M.A. and Ph.D. in computer science from University of Texas at Austin in 1982 and 1985, respectively.

    View full text