250 likes | 411 Views
Feedback Control of Computing Systems M6: Control Design. Joseph L. Hellerstein IBM Thomas J Watson Research Center, NY hellers@us.ibm.com September 23, 2004. Determine the values of control gains that achieve the design objectives. Motivating Example.
E N D
Feedback Control of Computing SystemsM6: Control Design Joseph L. Hellerstein IBM Thomas J Watson Research Center, NY hellers@us.ibm.com September 23, 2004
Determine the values of control gains that achieve the design objectives. Motivating Example u(k) = u(k-1)+(KP+KI)e(k)+KPe(k-1) + Controller Notes Server Notes Sensor - The problem Design a control system that is stable, accurate, settles quickly, and has small overshoot.
M6: Lecture
Outline • Control design methodology • Simple application • In-class lab: Designing a load balancing system Reference: “Feedback Control of Computer Systems”, Chapters 8,9.
Adding signals: If {a(k)} and {b(k)} are signals, then {c(k)=a(k)+b(k)} has Z-Transform A(z)+B(z). U(z) Y(z) G(z) A(z) + C(z) + U(z) U(z) W(z) Y(z) Y(z) B(z) G(z) G(z)H(z) H(z) Transfer functions in series is equivalent to ssg of G(z) is Key Results for LTI Systems Stable if |a|<1, where a is the largest pole of G(z)
Control Design • Purpose • Determine the value of the control gains • Steps • Specify the control objectives, such as settling time, maximum overshoot. • Determine the desired poles from the objectives • Find the modelled transfer function of the system for which the controller is being designed • The denominator is expressed in terms of the control gains • Solve for the control gains by equating terms in the denominator of step 3 with the expanded polynomial from step 2.
y(k) = 0.43y(k-1)+0.47u(k-1) u(k) = u(k-1)+(KP+KI)e(k)+KPe(k-1) Controller Notes Server + - Example of Applying the Design Methodology: Step 1 Specify the control objectives Settling times should be no more than 3 time units.
y(k) = 0.43y(k-1)+0.47u(k-1) u(k) = u(k-1)+(KP+KI)e(k)+KPe(k-1) Controller Notes Server + - Example of Applying the Design Methodology: Step 2 Determine the desired poles from the objectives Must specify two poles since the closed loop system is second order. Use 0.1 as the second pole. Settling time is determined by the largest pole.
Example of Applying the Design Methodology:Step 3 y(k) = 0.43y(k-1)+0.47u(k-1) u(k) = u(k-1)+(KP+KI)e(k)+KPe(k-1) Controller Notes Server + - Find the modelled transfer function in terms of the control gains
Example of Applying the Design Methodology: Step 4 y(k) = 0.43y(k-1)+0.47u(k-1) u(k) = u(k-1)+(KP+KI)e(k)+KPe(k-1) Controller Notes Server + - Solve for the control gains
M6: Group Lab
Methodology for Building Control Systems • Draw and describe the system (e.g., components, interactions) • Determine the control objectives (regulation? disturbance rejection?) • Draw a control block diagram of the system • Do a simple simulation of the control system (comparing with the real system if possible) • Find the transfer functions and validate with the simulation • Do a control design • Check the design with the simulation and the real system
Designing a Load Balancing System for 2 Servers queue depth requests Balancer 1 Server 1 Completions Requests Work Queue Queue Depths Completions Balancer 2 Server 2 requests queue depth Operation Incoming requests are placed in work queue. Balancers take requests at a rate so as to balance queue depths between the servers. Controllers know the queue depth of the other server (although information may be delayed). Servers may have additional work that adds to their queue depths. But servers do not drop requests (at least in the load range studied).
Designing a Load Balancing System for 2 Servers queue depth requests Balancer 1 Server 1 Completions Requests Work Queue Queue Depths Completions Balancer 2 Server 2 requests queue depth Questions How should the balancers be designed so that loads are balanced and steady state is achieved quickly? How does additional work in one server affect the other server? What is the impact of delays in exchanging queue depth information? What happens if one system is faster than the other system?
Step 2: Determining the Control Objectives queue depth Completions Balancer 1 Server 1 requests Work Queue Requests Queue Depths Completions Balancer 2 Server 2 requests queue depth What is the control objective? Regulation? Disturbance rejection? Optimization?
Step 3: Construct the Control Block Diagram queue depth Completions Balancer 1 Server 1 requests Work Queue Requests Queue Depths Completions Balancer 2 Server 2 requests queue depth Target system? Controller? Reference input? Measured output? Control input? What do we know about the transfer functions for the servers?
A Possible Control Diagram D1(z) Server 1 Balancer 1 + E1(z) U1(z) + V1(z) R1(z) G1(z) K1(z) Y1(z) + - + Y(z) 0.5 + - V2(z) U2(z) G2(z) K2(z) Y2(z) + R2(z) + + E2(z) Server 2 Balancer 2 D2(z)
Step 4: Construct a Simple Simulation • See ShortClass-M6 • Assume first order system for servers • Consider P and I control
Step 5a: Identify the transfer functions to study D1(z) Balancer 1 + Server 1 E1(z) G1(z) K1(z) + Y1(z) + + - 0.5 - + G2(z) K2(z) Y2(z) + + E2(z) Balancer 2 Server 2 + D2(z) What are the input signals? What are the output signals?
Step 5a (continued): Identify the Transfer Functions D1(z) Balancer 1 + Server 1 E1(z) G1(z) K1(z) + Y1(z) + + - 0.5 - + G2(z) K2(z) Y2(z) + + E2(z) Balancer 2 Server 2 + D2(z) From Di(z) to Ei(z): Effect of disturbance on the system on which the disturbance occurred From Di(z) to Ej(z): Effect of disturbance on the other system.
Ei(z) Step 5b: Construct the Transfer Functions D1(z) Balancer 1 + Server 1 E1(z) G1(z) K1(z) + Y1(z) + + - 0.5 - + G2(z) K2(z) Y2(z) + + E2(z) Balancer 2 Server 2 + D2(z) Express Yi(z) interms of Yj(z) and the transfer functions and then do a lot of algebra.
Step 5b: Construct the Transfer Functions D1(z) Questions What is the control error if the servers, balancers, and distrubances are identical? What controller will ensure a zero control error even if the systems and disturbances are different? Why? Balancer 1 + Server 1 E1(z) G1(z) K1(z) + Y1(z) + + - 0.5 - + G2(z) K2(z) Y2(z) + + E2(z) Balancer 2 Server 2 + D2(z)
Step 5b: Why I-Control Ensures Balanced Systems D1(z) Balancer 1 + Server 1 E1(z) G1(z) K1(z) + Y1(z) + + - 0.5 - + G2(z) K2(z) Y2(z) + + E2(z) Balancer 2 Server 2 + D2(z) See how theory compares with simulation.
Assignment: 2 Weeks • Find the poles of the load balancing system for identical servers that have poles at 0.5. • Now change the controller and do a PI design. • Expand to more systems • Study the effect of delays, especially if delays are not the same between systems
Summary • Approach to control design • Limited to systems that are second order in closed loop • (More general approaches typically recall MIMO models.) • Load balancing case study • Optimization instead of regulation • But still uses linear time invariant models • Systematic methodology makes use of simulation, analysis, and (hopefully) real systems