Using Control Theory to Achieve Service Level Objectives In Performance Management

  • Authors:
  • S. Parekh;N. Gandhi;J. Hellerstein;D. Tilbury;T. Jayram;J. Bigus

  • Affiliations:
  • IBM sujay@us.ibm.com;University of Michigan gandhin@engin.umich.edu;IBM hellers@us.ibm.com;University of Michigan tilbury@umich.edu;IBM jayram@us.ibm.com;IBM bigus@us.ibm.com

  • Venue:
  • Real-Time Systems
  • Year:
  • 2002

Quantified Score

Hi-index 0.01

Visualization

Abstract

A widely used approach to achieving service level objectives for a software system (e.g., an email server) is to add a controller that manipulates the target system’s tuning parameters. We describe a methodology for designing such controllers for software systems that builds on classical control theory. The classical approach proceeds in two steps: system identification and controller design. In system identification, we construct mathematical models of the target system. Traditionally, this has been based on a first-principles approach, using detailed knowledge of the target system. Such models can be complex and difficult to build, validate, use, and maintain. In our methodology, a statistical (ARMA) model is fit to historical measurements of the target being controlled. These models are easier to obtain and use and allow us to apply control-theoretic design techniques to a larger class of systems. When applied to a Lotus Notes groupware server, we obtain model-fits with R^{2} no lower than 75% and as high as 98%. In controller design, an analysis of the models leads to a controller that will achieve the service level objectives. We report on an analysis of a closed-loop system using an integral control law with Lotus Notes as the target. The objective is to maintain a reference queue length. Using root-locus analysis from control theory, we are able to predict the occurrence (or absence) of controller-induced oscillations in the system’s response. Such oscillations are undesirable since they increase variability, thereby resulting in a failure to meet the service level objective. We implement this controller for a real Lotus Notes system, and observe a remarkable correspondence between the behavior of the real system and the predictions of the analysis. This indicates that the control theoretic analysis is sufficient to select controller parameters that meet the desired goals, and the need for simulations is reduced.