Title: Feedback Control in Quality of Services
1Feedback Control in Quality of Services
- Zengzhong Li
- zengzhong_at_cs.virginia.edu
2Outline
- What is feedback control in software system?
- How to map the QoS to feedback control?
- Any implementation example?
- How to build by computer engineers?
- Why feedback control in QoS?
3What is feedback control
closed loop
Controller
System
input
output
error
-
- using difference signals, determined by comparing
the actual values of system variables to their
desired values, as a means of controlling a
system - ----F.L. Lewis, Applied Optimal Control and
Estimation
4More detail in software system
System
Controller
control function
control input
manipulated variable
Actuator
error
sample
controlled variable
Monitor
-
reference
- Monitor(sensor) measure system performance
metric - Actuator manage resource allocation
- Reference desired performance metric
5Control design methodology
- Classical Control
- Mainly in the frequency domain and the s-plane
- Relying on transform methods
- Primarily applicable for linear time-invariant
systems - Expression example Y(s)U(s)G(s)
- Modern Control
- a time-domain technique
- An exact state-space model describing the
internal state of the system - Expression example dx/dt Ax Bu
- y Cx
6QoS Mapping (Cont.)
- What is QoS Mapping?
- Describe how to use feedback control to solve a
particular QoS control problem, associated with a
control loop template - Different guarantee, different template
- Absolute Convergence Guarantee
- Resource Reservation Guarantee
- Prioritization Guarantee
- Statistical Multiplexing Guarantee
- Relative Guarantee
- Utility Optimization Guarantee
7QoS Mapping (Cont.)
- Absolute Convergence Guarantee
- Converges within a specified exponentially
decaying envelope to a fixed value, Rdes. - the maximum deviation Rdes. R is bounded at all
times
- Classification
- Rate and queue-length control
- proportional
- Delay Control
- inversion
-
8QoS Mapping
- Relative guarantee
- Keep the ratio between the performance levels of
different traffic classed fixed, namely, make
- Total amount of allocated resource remains
constant, if the controller is linear - The controller can be linear, but the loop is
nonlinear - What about the nonlinear controller?
- Modify the meaning of controller output
- Change the controller to linear
9Too abstract? Example!
A web server case for guaranteeing relative
delays
?
Controlled variable?
?
Controller reference?
monitor
controller
Manipulated variable?
?
TCP connection requests
Server Process
TCP listen queue
connection scheduler
HTTP response
10Feedback architecture (cont.)
- Delay definition
- Connection delay
- Process delay
- Server process
- Fixed pool of size M
- Communication with connection scheduler
- Monitor
- Sampling the average connection delays for all
classes - Connection scheduler
- FIFO connection queue for different classes
- Class ks relative share
- The most processes be allocated to class k
- Dispatch connection at the front of the highest
priority class - Decide process proportion by desired relative
delay - Static mapping wont work well!
11Feedback architecture
Math description of controller - Controller
design
Sampling average connection delay
Math description of system - System
identification
monitor
controller
Server Process
TCP listen queue
connection scheduler
FIFO connection queue
Fixed process pool
HTTP response
12Controller (cont.) - for relative guarantee
Controller
System
reference
error
-
- Reference
- Desired delay ratio between class k and k-1
- Feedback Input
- Sampled delay ratio between class k and k-1
- Controller input
- Delay error
- Controller Output
- Current process ratio to drive the connection
scheduler - Inversion relationship between error and current
process ratio - Do not expect a inversion controller
- N-1 basic controller for N classes general
controller
13Controller - for relative guarantee
- Math description
- Control method
- Proportional control
- may have non-zero steady-state error
- Integral control
- improves steady-state tracking
- PI control
- Discrete form of basic controller
- g controller gain
- r controller zero
- The performance of web server significantly
depends on the controller parameters
14System Identification
Model parameters
White-noise generator
Least squared estimator
monitor
Server Process
TCP listen queue
connection scheduler
HTTP response
- Model structure
- White noise input
- Least squares estimator
- iteratively update the parameter estimates such
that accumulative error is minimized
15Controller tuning (cont.)
- Close-loop transfer function
ci are poles of the function and decide the
system behavior -We can tune controller gain g
and controller zero r to change the poles
distribution and so satisfy the performance specs
16Controller tuning
- Root locus design
- graphical technique that plots the traces of
poles of a closed-loop system on the z-plane - Attributes
- Stability boundary z1 (Unit circle)
- Settling time distance from Origin
- Speed location relative to Im axis
- Right half slower
- Left half faster
- Results
- Tune the g0.3, r0.05, P00.70,P10.38i,P20.38-
i - Stability all the closed-loop poles are in the
unit cycle - Settling time270 sec
- Steady state error zero
17Evaluation of a Server with two classes
- Workload
- 4 client machines, each had 100 users. At start,
only one machine from class 0 and two machine
from class 1 generated HTTP requests. The second
machine from class 0 started after 870 sec - Close-loop server
- W1/W03, P0(m)/P1(m) initialized to 1
- Open-loop server
- Fine-tuned based on the original workload
- Evaluation
- Robust to workloads varying
18Design summary
For control engineer or computer engineer?
- QoS specification
- QoS mapping to Control loop
- Connect all components
- Controller modeling
- Open loop system identification
- Controller parameter tuning
19Controlware Architecture
- Isolating the application programmer from
control-theoretic concerns - -Interface between the service software and
middleware control loops - -software sensor and actuator design
20Communication backbone - Soft Bus
- Interface modules
- Passive vs. Active
- Registrar
- Save components info for local machine
- Directory Server
- Save global components info
- Data Agent
- Make remote communication transparent
21Resource management
- Sensor
- available at controlled software service or the
operation system
- Actuator
- Queue manager
- Control enqueue and dequeue and queue space
- Queue policy
- FIFO, priority and proportional
- Quota manager
- Control resource usage or dequeue ratio
- Preempt or non-preempt
- Mapping of quota to physical resource allocation
22Comparison with QuO (cont.)
?
- Algorithm implementation of QuO
- Region not predefined
- Continues contract evaluation
23Comparison with QuO
- System condition
- Gather system information
- Contracts
- Summarize current region and trigger adaptive
behavior based upon current regions - Delegates
- Execute alternative behavior
- Specialized ORB
- Sensor/monitor
- Controller
- GRM
- Soft Bus
24Why feedback control
- Handling unpredicted environment
- Requests from clients not known a priori
- Handling accumulative factors
- Smooth resource adjustment
- Robust
- System model unavailable
- For real-time system?
- Not rapid response
25Thank you for your patience!