Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010082180 | TJ216 F43 2004 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
This is the first practical treatment of the design and application of feedback control of computing systems. MATLAB files for the solution of problems and case studies accompany the text throughout. The book discusses information technology examples, such as maximizing the efficiency of Lotus Notes.
This book results from the authors' research into the use of control theory to model and control computing systems. This has important implications to the way engineers and researchers approach different resource management problems. This guide is well suited for professionals and researchers in information technology and computer science.
Author Notes
JOSEPH L. HELLERSTEIN, YIXIN DIAO, and SUJAY PAREKH are researchers at the IBM Thomas J. Watson Research Center in Hawthorne, New York. They are also adjunct professors at Columbia University, where they are using this book to teach a class on feedback control to computer science students.
DAWN M. TILBURY is Associate Professor of Mechanical Engineering at the University of Michigan.
Table of Contents
Preface | p. xv |
Part I Background | p. 1 |
1 Introduction and Overview | p. 3 |
1.1 The Nature of Feedback Control | p. 3 |
1.2 Control Objectives | p. 6 |
1.3 Properties of Feedback Control Systems | p. 7 |
1.4 Open-Loop versus Closed-Loop Control | p. 10 |
1.5 Summary of Applications of Control Theory to Computing Systems | p. 11 |
1.6 Computer Examples of Feedback Control Systems | p. 13 |
1.6.1 IBM Lotus Domino Server | p. 13 |
1.6.2 Queueing Systems | p. 15 |
1.6.3 Apache HTTP Server | p. 16 |
1.6.4 Random Early Detection of Router Overloads | p. 19 |
1.6.5 Load Balancing | p. 20 |
1.6.6 Streaming Media | p. 21 |
1.6.7 Caching with Differentiated Service | p. 22 |
1.7 Challenges in Applying Control Theory to Computing Systems | p. 24 |
1.8 Summary | p. 26 |
1.9 Exercises | p. 27 |
Part II System Modeling | p. 29 |
2 Model Construction | p. 31 |
2.1 Basics of Queueing Theory | p. 31 |
2.2 Modeling Dynamic Behavior | p. 35 |
2.2.1 Model Variables | p. 35 |
2.2.2 Signals | p. 35 |
2.2.3 Linear, Time-Invariant Difference Equations | p. 38 |
2.2.4 Nonlinearities | p. 40 |
2.3 First-Principles Models | p. 42 |
2.4 Black-Box Models | p. 44 |
2.4.1 Model Scope | p. 45 |
2.4.2 Experimental Design | p. 47 |
2.4.3 Parameter Estimation | p. 49 |
2.4.4 Model Evaluation | p. 53 |
2.5 Summary | p. 56 |
2.6 Extended Examples | p. 56 |
2.6.1 IBM Lotus Domino Server | p. 56 |
2.6.2 Apache HTTP Server | p. 57 |
2.6.3 M/M/1/K Comparisons | p. 58 |
2.7 Parameter Estimation Using MATLAB | p. 59 |
2.8 Exercises | p. 62 |
3 Z-Transforms and Transfer Functions | p. 65 |
3.1 Z-Transform Basics | p. 65 |
3.1.1 Z-Transform Definition | p. 66 |
3.1.2 Z-Transforms of Common Signals | p. 68 |
3.1.3 Properties of Z-Transforms | p. 71 |
3.1.4 Inverse Z-Transforms | p. 74 |
3.1.5 Using Z-Transforms to Solve Difference Equations | p. 75 |
3.2 Characteristics Inferred from Z-Transforms | p. 81 |
3.2.1 Review of Complex Variables | p. 81 |
3.2.2 Poles and Zeros of a Z-Transform | p. 83 |
3.2.3 Steady-State Analysis | p. 86 |
3.2.4 Time Domain versus Z-Domain | p. 88 |
3.3 Transfer Functions | p. 89 |
3.3.1 Stability | p. 92 |
3.3.2 Steady-State Gain | p. 95 |
3.3.3 System Order | p. 96 |
3.3.4 Dominant Poles and Model Simplification | p. 96 |
3.3.5 Simulating Transfer Functions | p. 100 |
3.4 Summary | p. 102 |
3.5 Extended Examples | p. 103 |
3.5.1 M/M/1/K from System Identification | p. 103 |
3.5.2 IBM Lotus Domino Server: Sensor Delay | p. 103 |
3.5.3 Apache HTTP Server: Combining Control Inputs | p. 104 |
3.6 Z-Transforms and MATLAB | p. 105 |
3.7 Exercises | p. 107 |
4 System Modeling with Block Diagrams | p. 111 |
4.1 Block Diagrams Basics | p. 111 |
4.2 Transforming Block Diagrams | p. 115 |
4.2.1 Special Aggregations of Blocks | p. 115 |
4.3 Transfer Functions for Control Analysis | p. 116 |
4.4 Block Diagram Restructuring | p. 119 |
4.5 Summary | p. 120 |
4.6 Extended Examples | p. 121 |
4.6.1 IBM Lotus Domino Server | p. 121 |
4.6.2 Apache HTTP Server with Control Loops | p. 123 |
4.6.3 Streaming | p. 124 |
4.7 Composing Transfer Functions in MATLAB | p. 126 |
4.8 Exercises | p. 128 |
5 First-Order Systems | p. 129 |
5.1 First-Order Model | p. 129 |
5.2 System Response | p. 131 |
5.2.1 Steady-State and Transient Responses | p. 131 |
5.2.2 Input Signal Model | p. 133 |
5.2.3 Time-Domain Solution | p. 133 |
5.3 Initial Condition Response | p. 135 |
5.4 Impulse Response | p. 136 |
5.5 Step Response | p. 141 |
5.5.1 Numerical Example | p. 141 |
5.5.2 Time-Domain Solution | p. 141 |
5.5.3 Steady-State Response | p. 143 |
5.5.4 Transient Response | p. 144 |
5.6 Transient Response to Other Signals | p. 147 |
5.6.1 Ramp Response | p. 147 |
5.6.2 Frequency Response | p. 150 |
5.7 Effect of Stochastics | p. 152 |
5.8 Summary | p. 154 |
5.9 Extended Examples | p. 156 |
5.9.1 Estimating Operating Region of the Apache HTTP Server | p. 156 |
5.9.2 IBM Lotus Domino Server with a Disturbance | p. 157 |
5.9.3 Feedback Control of the IBM Lotus Domino Server | p. 159 |
5.10 Analyzing Transient Response with MATLAB | p. 161 |
5.11 Exercises | p. 162 |
6 Higher-Order Systems | p. 165 |
6.1 Motivation and Definitions | p. 165 |
6.2 Real Poles | p. 168 |
6.2.1 Initial Condition Response | p. 168 |
6.2.2 Impulse Response | p. 171 |
6.2.3 Step Response | p. 174 |
6.2.4 Other Signals | p. 176 |
6.2.5 Effect of Zeros | p. 177 |
6.3 Complex Poles | p. 179 |
6.3.1 Second-Order System | p. 179 |
6.3.2 Impulse Response | p. 181 |
6.3.3 Step Response | p. 183 |
6.4 Summary | p. 185 |
6.5 Extended Examples | p. 186 |
6.5.1 Apache HTTP Server with a Filter | p. 186 |
6.5.2 Apache HTTP Server with a Filter and Controller | p. 189 |
6.5.3 IBM Lotus Domino Server with a Filter and Controller | p. 191 |
6.5.4 M/M/1/K with a Filter and Controller | p. 192 |
6.6 Analyzing Transient Response with MATLAB | p. 196 |
6.7 Exercises | p. 197 |
7 State-Space Models | p. 201 |
7.1 State Variables | p. 201 |
7.2 State-Space Models | p. 204 |
7.3 Solving Difference Equations in State Space | p. 207 |
7.4 Converting Between Transfer Function Models and State-Space Models | p. 211 |
7.5 Analysis of State-Space Models | p. 216 |
7.5.1 Stability Analysis of State-Space Models | p. 216 |
7.5.2 Steady-State Analysis of State-Space Models | p. 218 |
7.5.3 Transient Analysis of State-Space Models | p. 220 |
7.6 Special Considerations in State-Space Models | p. 221 |
7.6.1 Equivalence of State Variables | p. 221 |
7.6.2 Controllability | p. 222 |
7.6.3 Observability | p. 225 |
7.7 Summary | p. 228 |
7.8 Extended Examples | p. 229 |
7.8.1 MIMO System Identification of the Apache HTTP Server | p. 229 |
7.8.2 State-Space Model of the IBM Lotus Domino Server with Sensor Delay | p. 234 |
7.9 Constructing State-Space Models in MATLAB | p. 237 |
7.10 Exercises | p. 239 |
Part III Control Analysis and Design | p. 243 |
8 Proportional Control | p. 245 |
8.1 Control Laws and Controller Operation | p. 245 |
8.2 Desirable Properties of Controllers | p. 252 |
8.3 Framework for Analyzing Proportional Control | p. 254 |
8.3.1 Closed-Loop Transfer Functions | p. 255 |
8.3.2 Stability | p. 257 |
8.3.3 Accuracy | p. 258 |
8.3.4 Settling Time | p. 260 |
8.3.5 Maximum Overshoot | p. 260 |
8.4 P-Control: Robustness, Delays, and Filters | p. 261 |
8.4.1 First-Order Target System | p. 261 |
8.4.2 Measurement Delay | p. 266 |
8.4.3 Moving-Average Filter | p. 268 |
8.5 Design of Proportional Controllers | p. 271 |
8.6 Summary | p. 275 |
8.7 Extended Examples | p. 276 |
8.7.1 IBM Lotus Domino Server with a Moving-Average Filter | p. 276 |
8.7.2 Apache with Precompensation | p. 278 |
8.7.3 Apache with Disturbance Rejection | p. 282 |
8.7.4 Effect of Operating Region on M/M/1/K Control | p. 282 |
8.8 Designing P-Controllers in MATLAB | p. 286 |
8.9 Exercises | p. 289 |
9 PID Controllers | p. 293 |
9.1 Integral Control | p. 293 |
9.1.1 Steady-State Error with Integral Control | p. 294 |
9.1.2 Transient Response with Integral Control | p. 296 |
9.2 Proportional-Integral Control | p. 301 |
9.2.1 Steady-State Error with PI Control | p. 303 |
9.2.2 PI Control Design by Pole Placement | p. 303 |
9.2.3 PI Control Design Using Root Locus | p. 307 |
9.2.4 PI Control Design Using Empirical Methods | p. 309 |
9.3 Proportional-Derivative Control | p. 315 |
9.4 PID Control | p. 320 |
9.5 Summary | p. 324 |
9.6 Extended Examples | p. 325 |
9.6.1 PI Control of the Apache HTTP Server Using Empirical Methods | p. 325 |
9.6.2 Designing a PI Controller for the Apache HTTP Server Using Pole Placement Design | p. 327 |
9.6.3 IBM Lotus Domino Server with a Sensor Delay | p. 328 |
9.6.4 Caching with Feedback Control | p. 330 |
9.7 Designing PI Controllers in MATLAB | p. 332 |
9.8 Exercises | p. 333 |
10 State-Space Feedback Control | p. 337 |
10.1 State-Space Analysis | p. 337 |
10.2 State Feedback Control Systems | p. 339 |
10.2.1 Static State Feedback | p. 340 |
10.2.2 Precompensated Static State Feedback | p. 342 |
10.2.3 Dynamic State Feedback | p. 346 |
10.2.4 Comparison of Control Architectures | p. 351 |
10.3 Design Techniques | p. 353 |
10.3.1 Pole Placement Design | p. 353 |
10.3.2 LQR Optimal Control Design | p. 358 |
10.4 Summary | p. 362 |
10.5 Extended Examples | p. 364 |
10.5.1 MIMO Control of the Apache HTTP Server | p. 364 |
10.5.2 Effect of the LQR Design Parameters in a Dynamic State Feedback System | p. 370 |
10.6 Designing State-Space Controllers Using MATLAB | p. 372 |
10.7 Exercises | p. 373 |
11 Advanced Topics | p. 375 |
11.1 Motivating Example | p. 376 |
11.2 Gain Scheduling | p. 378 |
11.3 Self-Tuning Regulators | p. 381 |
11.4 Minimum-Variance Control | p. 384 |
11.5 Fluid Flow Analysis | p. 386 |
11.6 Fuzzy Control | p. 389 |
11.7 Summary | p. 393 |
11.8 Exercises | p. 395 |
Appendix A Mathematical Notation | p. 397 |
Appendix B Acronyms | p. 401 |
Appendix C Key Results | p. 403 |
C.1 Modeling | p. 403 |
C.1.1 Dominant Pole Approximation | p. 403 |
C.1.2 Closed-Loop Transfer Functions | p. 403 |
C.2 Analysis | p. 404 |
C.2.1 Stability | p. 404 |
C.2.2 Settling Time | p. 405 |
C.2.3 Maximum Overshoot | p. 405 |
C.2.4 Steady-State Gain | p. 405 |
C.3 Controller Design | p. 405 |
C.3.1 Control Laws | p. 405 |
C.3.2 Pole Placement Design | p. 406 |
C.3.3 LQR Design | p. 407 |
Appendix D Essentials of Linear Algebra | p. 409 |
D.1 Matrix Inverse, Singularity | p. 409 |
D.2 Matrix Minor, Determinant, and Adjoint | p. 409 |
D.3 Vector Spaces | p. 410 |
D.4 Matrix Rank | p. 411 |
D.5 Eigenvalues | p. 411 |