Tutorial: Introduction to Control Theory and Its Application to Feedback Computing
Tarek
Abdelzaher (UIUC), Chenyang Lu (Washington University), Anders Robertsson (Lund University)
Cyber-Physical Systems Week (CPS Week 2013)
8:30am-12pm, April 8, 2013
Feedback
control is central to managing computing systems and networks
including, but not limited to, a broad range of cyber-physical systems
and real-time systems. For example, feedback is employed to achieve
response time objectives by taking resource actions such as adjusting
scheduling priorities and bandwidth allocations. Unfortunately,
software practitioners typically employ an ad hoc approach to the
design of closed loop systems, often with undesirable results such as
large oscillations or slow adaptation to changes in workloads. In other
engineering disciplines (e.g., mechanical, electrical, and aeronautical
engineering), control theory is used to analyze and design feedback
loops. Control theory provides a way to determine if feedback loops are
stable (e.g., avoid wild oscillations), accurate in their control
(e.g., achieve the desired response time objectives), and settle
quickly to their steady state values (e.g., to adjust to workload
dynamics). Recently, control theory has been used in the design of many
aspects of computing, with a few examples of commercial products
designed using control theory. Examples of where control theory has
been used include: networking protocols (e.g., new versions of TCP/IP),
real time systems, web servers, database servers, multi-tier computing
systems, and workload managers.
This tutorial provides an introduction to control theory for computer
scientists with an emphasis on applications. The topics covered include:
1. Introduction to control theory concepts and discrete-time linear systems.
2. Application to CPU utilization and temperature control in real-time systems (slides).
3. Application to power and performance management in data centers.
Section 1 provides an introduction to key concepts. Included here are
control goals (e.g., regulation, optimization, disturbance rejection);
the control architecture (with examples from the Apache web server and
the Notes email server); and control metrics (stability, settling time,
overshoot, and steady state accuracy). Also included is a brief
introduction to linear system theory, and the use of the z-transform to
represent systems as transfer functions
Section 2 describes an application of model predictive control to
distributed real-time systems. The system model has some interesting
properties: single server/multi-server, centralized and distributed
control, and with actuator constraints. These techniques have been
implemented and evaluated in real-time CORBA middleware. It will also
describe thermal control design for both single-core and multi-core
real-time systems.
Section 3 considers the role of control in managing power and
performance in servers and data centers. A key consideration here is
the unintended interactions between control loops. This is illustrated
for a large data center with multiple resource allocation policies in
which two energy saving policies in a server farm interact so that the
end result is to increase energy consumption. The section presents
analysis techniques that allow a designer to identify such potentially
adverse interactions.
Presumed Background of Attendees and Intended Audience
This tutorial is intended for an audience with interests in resource
management of computing systems and computing networks. The presumed
mathematical background is modest – knowledge of the geometric series.
Past Tutorials
Tarek Abdelzaher, Yixin Diao, Joseph L. Hellerstein, Chenyang Lu and Sharad Singhal, Tutorial: Recent Advances in the Application of Control Theory to Network and Service Management, IFIP/IEEE International Symposium on Integrated Network Management (IM'09), June 1, 2009.
Tarek Abdelzaher, Yixin Diao, Joseph L.
Hellerstein, Chenyang Lu and Xiaoyun Zhu, Tutorial:
Introduction to Control Theory and Its Application to Computing Systems, ACM International Conference on Measurement and Modeling of Computer
Systems (SIGMETRICS'08), June 2, 2008.
Tarek Abdelzaher, Yixin Diao, Joseph L.
Hellerstein, Chenyang Lu and Xiaoyun Zhu, Introduction
to Control Theory and its Application to Computing Systems,
Performance Modeling and Engineering, Springer, 2008. (Book chapter for the SIGMETRICS'08 tutorial)