control applying input to cause system variables to conform to desired values called the reference. ...
TRANSCRIPT
Control
Applying input to cause system variables to conform to desired values called the reference.
Cruise-control car:f_engine(t)=? speed=60 mph
E-commerce server:Resource allocation? T_response=5 sec
Embedded networks:
Flow rate? Delay = 1 sec Computer systems: QoS guarantees
Feedback (close-loop) Control
Acturator
Sensor
reference
control input
controlled variable
manipulatedvariable
Controlled System( “plant” )
+ -
error
controlfunction
Controller
sample
(efector, etc)
(monitor etc)
Open-loop control
Compute control input without continuous variable measurement Simple Need to know EVERYTHING ACCURATELY to work right
Cruise-control car: friction(t), ramp_angle(t) E-commerce server: Workload (request arrival rate?
resource consumption?); system (service time? failures?)
Open-loop control fails when We don’t know everything We make errors in estimation/modeling Things change
Acturator
reference
control input
controlled variable
manipulatedvariable
Controlled System( “plant” )
+-
error
controlfunction
Controller
(efector, etc)
Feedback control theory, vs …
Adaptive resource management heuristics Laborious design/tuning/testing iterations Not enough confidence in face of untested workload
Queuing theory Doesn’t handle feedbacks Not good at characterizing transient behavior in overload
Feedback control theory Systematic theoretical approach for analysis and design Predict system response and stability to input
Control design methodology
Controller Design
Requirement Analysis
System model Dynamic model Control algorithm
Performance Specifications
Satisfy
Linear vs. non-linear Time-invariant vs. Time-varying
Are coefficients functions of time?
Continuous-time vs. Discrete-time
7 © 2004 HellersteinFeedback Control of Computing Systems: M1 - Introduction
Example: Control of Lotus NotesArchitecture
RIS = RPCs in System
Actual RIS
DesiredRIS
RPCsMaxUsers
Server
ControllerAdmin
Control Model
ControllerNotesServer
MaxUsersDesiredRIS
ActualRIS
r(k)
e(k)u(k) y(k) Control error: e(k)=r(k)-y(k)
System model: y(k)=(0.43)y(k-1)+(0.47)u(k-1)
P controller: u(k)=Ke(k) ?
© 2004 HellersteinFeedback Control of Computing Systems: M1 - Introduction
Example: Control & Responsein an Email Server
Control(MaxUsers)
Response(queue length)
Good
Slow
Bad
Useless
9 © 2004 HellersteinFeedback Control of Computing Systems: M1 - Introduction
ComponentsTarget system: what is controlledController: exercises controlTransducer: translates measured outputs
DataReference input: objectiveControl input: manipulated to affect outputDisturbance input: other factors that affect the target systemTransduced output: result of manipulation
Given target system, transducerControl theory finds controller
that adjusts control inputto achieve measuredoutput in the presence of disturbances.
ControllerTargetSystem
Transducer
ReferenceInput
ControlInput
MeasuredOutput
TransducedOutput
Disturbance InputControl System Architecture
10 © 2004 HellersteinFeedback Control of Computing Systems: M1 - Introduction
ArchitectureMaxUsers
NotesClient
NotesClient
NotesServer
ServerLog
RPCs RPCRecords
Administrative Tasks
MeasuredRIS
Block Diagram
ControllerNotesServer
MaxUsersReferenceRIS
Sensor
Target SystemActualRIS
Administrative Tasks
IBM Lotus Domino Server
11 © 2004 HellersteinFeedback Control of Computing Systems: M1 - Introduction
Unstable System
Stability Accuracy Short settling Small Overshoot
Properties of Control Systems – SASO
Performance specifications
Settling time
Overshoot
Controlledvariable
Time
Referencevalue
%
Steady StateTransient State
Steady state error
13 © 2004 HellersteinFeedback Control of Computing Systems: M1 - Introduction
Control Theory in Two Slides: System Identification
Notes ServerMaxUsers Actual RIS
)(ky)(ku
0 20 40 60 80 100020406080
100
Measured RIS
Pre
dict
ed R
IS
055.0
913.0
1
1
b
a
97.2 R
Model of System Dynamics
)1()1()( 11 kubkyaky
1
1)(az
bzN
Transfer Function