Overview Statements Computing-aware control Control-aware computing
Mating Control and Computing
Daniel Simon
DEMAR team
INRIA Sophia Antipolis - Méditerranée LIRMM, CNRS UMR 5506, Montpellier http://www.lirmm.fr/demar
Overview Statements Computing-aware control Control-aware computing
Feedback control paradigm
control
A Dynamic Process S
output objective
U Y
“Make precise systems from uncertain components” Stabilizeunstable systems
Robustnessw.r.t. modeling uncertainties Adaptability w.r.t. operating conditions Performance profile shaping
Danger of instability
February 2014 2 / 28
Overview Statements Computing-aware control Control-aware computing
Feedback control paradigm
objective
output error
control A
+− Controller Dynamic
Process S output
U = K(e) Y
“Make precise systems from uncertain components” Stabilizeunstable systems
Robustnessw.r.t. modeling uncertainties Adaptability w.r.t. operating conditions Performance profile shaping
Danger of instability
Overview Statements Computing-aware control Control-aware computing
Feedback control paradigm
objective
output error
control A
+− Controller Dynamic
Process S output
U = K(e) Y
“Make precise systems from uncertain components”
Stabilizeunstable systems
Robustnessw.r.t. modeling uncertainties Adaptability w.r.t. operating conditions Performance profile shaping
Danger of instability
February 2014 2 / 28
Overview Statements Computing-aware control Control-aware computing
Feedback control paradigm
objective
output error
control A
+− Controller Dynamic
Process S output
U = K(e) Y
“Make precise systems from uncertain components”
Stabilizeunstable systems
Robustnessw.r.t. modeling uncertainties
Adaptability w.r.t. operating conditions Performance profile shaping
Danger of instability
Overview Statements Computing-aware control Control-aware computing
Feedback control paradigm
objective
output error
control A
+− Controller Dynamic
Process S output
U = K(e) Y
“Make precise systems from uncertain components”
Stabilizeunstable systems
Robustnessw.r.t. modeling uncertainties Adaptability w.r.t. operating conditions Performance profile shaping
Danger of instability
February 2014 2 / 28
Overview Statements Computing-aware control Control-aware computing
Feedback control paradigm
objective
output error
control A
+− Controller Dynamic
Process S output
U = K(e) Y
“Make precise systems from uncertain components”
Stabilizeunstable systems
Robustnessw.r.t. modeling uncertainties Adaptability w.r.t. operating conditions Performance profile shaping
Danger of instability
Overview Statements Computing-aware control Control-aware computing
Control objectives
objective
output error
control A
+− Controller Dynamic
Process S output
U = K(e) Y
Design and implementation for:
Control oriented goal
Reaching a specified control performance under shared execution resources constraints;
Computing oriented goal
Improving the robustness and adaptability of self-managed operating systems thanks to feedback loops.
Conflicting constraints!
February 2014 3 / 28
Overview Statements Computing-aware control Control-aware computing
Control objectives
objective
output error
control A
+− Controller Dynamic
Process S output
U = K(e) Y
Design and implementation for:
Control oriented goal
Reaching a specified control performance under shared execution resources constraints;
Computing oriented goal
Improving the robustness and adaptability of self-managed operating systems thanks to feedback loops.
Conflicting constraints!
Overview Statements Computing-aware control Control-aware computing
Control objectives
objective
output error
control A
+− Controller Dynamic
Process S output
U = K(e) Y
Design and implementation for:
Control oriented goal
Reaching a specified control performance under shared execution resources constraints;
Computing oriented goal
Improving the robustness and adaptability of self-managed operating systems thanks to feedback loops.
Conflicting constraints!
February 2014 3 / 28
Overview Statements Computing-aware control Control-aware computing
Implementation
objective
output error
control A
+− Controller Dynamic
Process S output
U = K(e) Y
Continuous time and analogue control Biology
Fluid level Fluid pressure
Continuous electronics
Timing constraints required by the control system’s dynamics
=⇒Real-time system
Overview Statements Computing-aware control Control-aware computing
Implementation
+
− e(k)
ZOH
h h
U(k)
Continuous time
Network Discrete time
Observer CONTROLLER Xd(k)
X(k)
PROCESS
Y(k) U(k) = K(e(k))
dX/dt = f(X,U,t) Y = g(X,U,t)
SAMP
Numerical control and sampling Sampling and A/D conversion Networking
Computing
Control update and D/A conversion
Timing constraints required by the control system’s dynamics
=⇒Real-time system
February 2014 4 / 28
Overview Statements Computing-aware control Control-aware computing
Implementation
+
− e(k)
ZOH
h h
U(k)
Continuous time
Network Discrete time
Observer CONTROLLER Xd(k)
X(k)
PROCESS
Y(k) U(k) = K(e(k))
dX/dt = f(X,U,t) Y = g(X,U,t)
SAMP
Numerical control and sampling Sampling and A/D conversion Networking
Computing
Control update and D/A conversion
Timing constraints required by the control system’s dynamics
=⇒Real-time system
Overview Statements Computing-aware control Control-aware computing
Current practice
Traditional controller design :separation of concerns betweencontrolandcomputing:
Assumptions
Perfectly periodic process, No jitter, No data-loss
Perfect implementation, based on worst case
Dedicated hardware/software
Consequences
Over-constrained systems Under-using the resources Costly components and tools
=⇒formally provable, but costly and inflexible/unrealistic
February 2014 5 / 28
Overview Statements Computing-aware control Control-aware computing
Current practice
Traditional controller design :separation of concerns betweencontrolandcomputing:
Assumptions
Perfectly periodic process, No jitter, No data-loss
Perfect implementation, based on worst case
Dedicated hardware/software
Consequences
Over-constrained systems Under-using the resources Costly components and tools
=⇒formally provable, but costly and inflexible/unrealistic
Overview Statements Computing-aware control Control-aware computing
NCS induced computing constraints
Limited computing power→computing duration are not negligible
Variable computing power→they are not constant
Distributed information sources→delays, data loss or corruption Many sources of induced delays: computing, preemption, networking. . .
Implementation induced uncertainties (in addition to the usual process uncertainties)
deterioration of a signal transfered through a network.
tk+1+hk
tk
tk+hk
February 2014 6 / 28
Overview Statements Computing-aware control Control-aware computing
Needs for co-design
Large sets of interconnected sensors/controllers/actuators;
Networked Control Systems - Cyber Physical Systems
Dynamic and uncertain environments;
Heterogeneous components, asynchronous nodes;
Cheap off-the-shelf hardware/software components.
⇒Co-design approach : early integration of constraints from control and computing
Trade off : performance/robustness/energy/costs. . . Holistic view : process + algorithm + execution resources
Overview Statements Computing-aware control Control-aware computing
Needs for co-design
Large sets of interconnected sensors/controllers/actuators;
Networked Control Systems - Cyber Physical Systems
Dynamic and uncertain environments;
Heterogeneous components, asynchronous nodes;
Cheap off-the-shelf hardware/software components.
⇒Co-design approach : early integration of constraints from control and computing
Trade off : performance/robustness/energy/costs. . . Holistic view : process + algorithm + execution resources
February 2014 7 / 28
Overview Statements Computing-aware control Control-aware computing
Bridging the gap...
Gathering control & computing control dpt. computing dpt.
Continuous time Uncertain systems Complex dynamics
ODE @K.J. Astrom
Discrete events Determinism Complex data sets
Automata
Heretical but fruitful!
Overview Statements Computing-aware control Control-aware computing
Pioneering works 1999/2000
Stankovic, Lu, Son and Tao: The Case for Feedback Control Real-Time Scheduling,ECRTS Euromicro1999
Flexible scheduling of web servers
Eker, Hagander and Arzen, A Feedback Scheduler for Realtime Controller Tasks,Control Engineering Practice, Dec. 2000 Sharing a computing resource between process controlers
New class of control problem :
Control ofnidentical pendulums under CPU power constraint nLQ controllers, periodhi, exec. timeCi, single CPU
Cost functionJ(h) = 1 h
Z h 0
xT(t) uT(t) Q
x(t) u(t)
dt Problem: min
hi
J = Xn
i=1
Ji(hi)under constraint Xn
i=1
Ci/hi ≤Ud
theoreticfeedback-scheduler: h(k +1) =f(∆c(k),Uref(k)) on-line solving of Riccati and Lyapunov equations
too costly for real-time implementation. . .
. . . although quite simple : LTI process, no delay, no jitter, no data loss, no uncertainty
February 2014 9 / 28
Overview Statements Computing-aware control Control-aware computing
Pioneering works 1999/2000
New class of control problem :
Control ofnidentical pendulums under CPU power constraint nLQ controllers, periodhi, exec. timeCi, single CPU
Cost functionJ(h) = 1 h
Z h 0
xT(t) uT(t) Q
x(t) u(t)
dt
Problem: min
hi J = Xn
i=1
Ji(hi)under constraint Xn
i=1
Ci/hi ≤Ud
theoreticfeedback-scheduler: h(k +1) =f(∆c(k),Uref(k)) on-line solving of Riccati and Lyapunov equations
too costly for real-time implementation. . .
. . . although quite simple : LTI process, no delay, no jitter, no data loss, no uncertainty
Overview Statements Computing-aware control Control-aware computing
Pioneering works 1999/2000
New class of control problem :
Control ofnidentical pendulums under CPU power constraint nLQ controllers, periodhi, exec. timeCi, single CPU
Cost functionJ(h) = 1 h
Z h 0
xT(t) uT(t) Q
x(t) u(t)
dt Problem: min
hi J = Xn
i=1
Ji(hi)under constraint Xn
i=1
Ci/hi ≤Ud
theoreticfeedback-scheduler: h(k +1) =f(∆c(k),Uref(k)) on-line solving of Riccati and Lyapunov equations
too costly for real-time implementation. . .
. . . although quite simple : LTI process, no delay, no jitter, no data loss, no uncertainty
February 2014 9 / 28
Overview Statements Computing-aware control Control-aware computing
Pioneering works 1999/2000
New class of control problem :
Control ofnidentical pendulums under CPU power constraint nLQ controllers, periodhi, exec. timeCi, single CPU
Cost functionJ(h) = 1 h
Z h 0
xT(t) uT(t) Q
x(t) u(t)
dt Problem: min
hi J = Xn
i=1
Ji(hi)under constraint Xn
i=1
Ci/hi ≤Ud theoreticfeedback-scheduler: h(k +1) =f(∆c(k),Uref(k))
on-line solving of Riccati and Lyapunov equations too costly for real-time implementation. . .
. . . although quite simple : LTI process, no delay, no jitter, no data loss, no uncertainty
Overview Statements Computing-aware control Control-aware computing
Pioneering works 1999/2000
New class of control problem :
Control ofnidentical pendulums under CPU power constraint nLQ controllers, periodhi, exec. timeCi, single CPU
Cost functionJ(h) = 1 h
Z h 0
xT(t) uT(t) Q
x(t) u(t)
dt Problem: min
hi J = Xn
i=1
Ji(hi)under constraint Xn
i=1
Ci/hi ≤Ud
theoreticfeedback-scheduler: h(k +1) =f(∆c(k),Uref(k)) on-line solving of Riccati and Lyapunov equations
too costly for real-time implementation. . .
. . . although quite simple : LTI process, no delay, no jitter, no data loss, no uncertainty
February 2014 9 / 28
Overview Statements Computing-aware control Control-aware computing
Pioneering works 1999/2000
New class of control problem :
Control ofnidentical pendulums under CPU power constraint nLQ controllers, periodhi, exec. timeCi, single CPU
Cost functionJ(h) = 1 h
Z h 0
xT(t) uT(t) Q
x(t) u(t)
dt Problem: min
hi J = Xn
i=1
Ji(hi)under constraint Xn
i=1
Ci/hi ≤Ud
theoreticfeedback-scheduler: h(k +1) =f(∆c(k),Uref(k)) on-line solving of Riccati and Lyapunov equations
too costly for real-time implementation. . .
. . . although quite simple : LTI process, no delay, no jitter, no data loss, no uncertainty
Overview Statements Computing-aware control Control-aware computing
New perspective: Control & Computing Co-Design
Feedback loops are _not_ hard real-time
New degrees of freedom to implement control Asynchronous sampling, anytime control Varying sampling intervals
Data loss and (m,k)-firm policies
Computing devices can be object of feedback control
Benefits of feedback
Adaptive w.r.t. operating conditions
Robustness w.r.t. process modeling uncertainties
February 2014 10 / 28
Overview Statements Computing-aware control Control-aware computing
New perspective: Control & Computing Co-Design
Feedback loops are _not_ hard real-time New degrees of freedom to implement control
Asynchronous sampling, anytime control Varying sampling intervals
Data loss and (m,k)-firm policies
Computing devices can be object of feedback control
Benefits of feedback
Adaptive w.r.t. operating conditions
Robustness w.r.t. process modeling uncertainties
Overview Statements Computing-aware control Control-aware computing
New perspective: Control & Computing Co-Design
Feedback loops are _not_ hard real-time New degrees of freedom to implement control
Asynchronous sampling, anytime control Varying sampling intervals
Data loss and (m,k)-firm policies
Computing devices can be object of feedback control
Benefits of feedback
Adaptive w.r.t. operating conditions
Robustness w.r.t. process modeling uncertainties
February 2014 10 / 28
Overview Statements Computing-aware control Control-aware computing
New perspective: Control & Computing Co-Design
Feedback loops are _not_ hard real-time New degrees of freedom to implement control
Asynchronous sampling, anytime control Varying sampling intervals
Data loss and (m,k)-firm policies
Computing devices can be object of feedback control Benefits of feedback
Adaptive w.r.t. operating conditions
Robustness w.r.t. process modeling uncertainties
Overview Statements Computing-aware control Control-aware computing
Working directions
Computing-aware control Control-aware computing
Feedback control of computing devices Feedback scheduling
Control of/over networks
Integrated control and computing
February 2014 11 / 28
Overview Statements Computing-aware control Control-aware computing
Stability and robustness
+−
L(j )ωc
Re L(s) Im L(s)
−1 1/GM
L(j )ω180
L(j )ω
MM ΦM
ω0 ωinf
Robustness assessment for Linear SISO systems : gain margin, phase margin
delay marginΦωM
c
module margin jitter margin
Overview Statements Computing-aware control Control-aware computing
Stability and robustness
+−
L(j )ωc
Re L(s) Im L(s)
−1 1/GM
L(j )ω180
L(j )ω
MM ΦM
ω0 ωinf
Robustness assessment for Linear SISO systems : gain margin, phase margin
delay marginΦωM
c
module margin jitter margin
February 2014 12 / 28
Overview Statements Computing-aware control Control-aware computing
Stability and robustness
+−
Re L(s) Im L(s)
−1 1/GM
ω180
L(j )ω MM ωc L(j )
ΦM
ω0 ωinf
L(j )
Robustness assessment for Linear SISO systems : gain margin, phase margin
delay marginΦωM
c
module margin jitter margin
Overview Statements Computing-aware control Control-aware computing
Jitter and control
Jitter is claimed to be harmful. . .
. . . how to minimize jitter?
Comparative Assessment and Evaluation of Jitter Control Methods, G. Buttazzo and A.Cervin, RTNS 2007.
Strategies to reduce jitter : RM, send control ASAP
T T T
T
DM, advanced deadlines
T T T
T D D D D
Non-Preemptive scheduling
send at period boundaries
T T T
T
⇒add a systematic delay
null jitter, but worst control performance!
February 2014 13 / 28
Overview Statements Computing-aware control Control-aware computing
Jitter and control
Jitter is claimed to be harmful. . .
. . . how to minimize jitter?
Comparative Assessment and Evaluation of Jitter Control Methods, G. Buttazzo and A.Cervin, RTNS 2007.
Strategies to reduce jitter : RM, send control ASAP
T T T
T
DM, advanced deadlines
T T T
T D D D D
Non-Preemptive scheduling
send at period boundaries
T T T
T
⇒add a systematic delay
null jitter, but worst control performance!
Overview Statements Computing-aware control Control-aware computing
Jitter and control
Jitter is claimed to be harmful. . .
. . . how to minimize jitter?
Comparative Assessment and Evaluation of Jitter Control Methods, G. Buttazzo and A.Cervin, RTNS 2007.
Strategies to reduce jitter : RM, send control ASAP
T T T
T
DM, advanced deadlines
T T T
T D D D D
Non-Preemptive scheduling send at period boundaries
T T T
T
⇒add a systematic delay null jitter, but worst control performance!
February 2014 13 / 28
Overview Statements Computing-aware control Control-aware computing
Jitter and control
Jitter is claimed to be harmful. . .
. . . how to minimize jitter?
Comparative Assessment and Evaluation of Jitter Control Methods, G. Buttazzo and A.Cervin, RTNS 2007.
Strategies to reduce jitter : RM, send control ASAP
T T T
T
DM, advanced deadlines
T T T
T D D D D
Non-Preemptive scheduling send at period boundaries
T T T
T
⇒add a systematic delay null jitter, but worst control performance!
Overview Statements Computing-aware control Control-aware computing
Control of systems with delays
Generalization to MIMO sampled data systems :
Continuous-timeapproaches usingLyapunov Theorem:
takes into accounttime-varying delays, data loss, plant uncertainties, actuators saturations,...
. . . See for instance, Fridman, Seuret, Richard, Naghstabrizi, . . .
February 2014 14 / 28
Overview Statements Computing-aware control Control-aware computing
Robust control and scheduling
Slackened real-time scheduling(with A. Seuret - Gipsa&LAAS) CIFRE Airbus, EU patent 11306103.0-2224
Reduced Computing Slot
BCET (Best Case Exec. Time)
Tslot WCET
(Worst Case Exec. Time) Execution TimeTex
h1 h2 Saves computing cycles
Reduced latencies
Deadline miss Sampling disturbances
N, max. consecutive deadline miss? Tslotfor a given failure rate?
x(t) = (A+∆˙ µA(t))x(t)+(B+∆µB(t))u(t) Stability of systems with delays, varying sampling and uncertainties
(Lyapunov-Krasovskii functionals)
Overview Statements Computing-aware control Control-aware computing
Robust control and scheduling
Slackened real-time scheduling(with A. Seuret - Gipsa&LAAS) CIFRE Airbus, EU patent 11306103.0-2224
Reduced Computing Slot
BCET (Best Case Exec. Time)
Tslot WCET
(Worst Case Exec. Time) Execution TimeTex
h1 h2 Saves computing cycles
Reduced latencies
Deadline miss Sampling disturbances
N, max. consecutive deadline miss?
Tslotfor a given failure rate?
x(t) = (A+∆˙ µA(t))x(t)+(B+∆µB(t))u(t) Stability of systems with delays, varying sampling and uncertainties
(Lyapunov-Krasovskii functionals)
February 2014 15 / 28
Overview Statements Computing-aware control Control-aware computing
Robust control and scheduling
Slackened real-time scheduling(with A. Seuret - Gipsa&LAAS) CIFRE Airbus, EU patent 11306103.0-2224
Reduced Computing Slot
BCET (Best Case Exec. Time)
Tslot WCET
(Worst Case Exec. Time) Execution TimeTex
h1 h2 Saves computing cycles
Reduced latencies
Deadline miss Sampling disturbances
N, max. consecutive deadline miss?
Tslotfor a given failure rate?
˙
x(t) = (A+∆µA(t))x(t)+(B+∆µB(t))u(t) Stability of systems with delays, varying sampling and uncertainties
(Lyapunov-Krasovskii functionals)
Overview Statements Computing-aware control Control-aware computing
Computing-aware control: Adaptive control rate
ctrl2ctrl3
CPU activity h
control interval
Controlled output reference
Process Controller sensor schedule Controller
Process Scheduling
CPU load adaptation using varying control intervals frequency scaling capabilities of modern chips accommodation with scheduled sensors stability whateverhchangeh∈[hmin,hmax] specified performance level
self triggered, event triggered, switched systems,Lyapunov, Lie algebras, . . .
February 2014 16 / 28
Overview Statements Computing-aware control Control-aware computing
Computing-aware control: Adaptive control rate
Control with varying intervals:
Linear Parameter Varying(with O. Sename - Gipsa-lab)
LPV model,his a varying parameter (among others) H∞synthesis with frequency dependent templates
z w
∆(k) 0 0 ∆(k)
P(z)
K(z)
P0(z)
sampling dependent robust controller K(z,h) implementation with standard RT tools easy integration in QoS layer
0 10 20 30 40 50 60 70 80 90
−0.5 0 0.5
θ [rad]
Pendulum angle
0 10 20 30 40 50 60 70 80 90
−5 0 5
u []
Control input
0 10 20 30 40 50 60 70 80 90
0 1 2 3 4x 10−3
Time [s]
h [s]
h u r θ
Overview Statements Computing-aware control Control-aware computing
Computing-aware control: Adaptive control rate
Control with varying intervals:
Linear Parameter Varying(with O. Sename - Gipsa-lab)
LPV model,his a varying parameter (among others) H∞synthesis with frequency dependent templates
z w
∆(k) 0 0 ∆(k)
P(z)
K(z)
P0(z)
sampling dependent robust controller K(z,h) implementation with standard RT tools easy integration in QoS layer
0 10 20 30 40 50 60 70 80 90
−0.5 0 0.5
θ [rad]
Pendulum angle
0 10 20 30 40 50 60 70 80 90
−5 0 5
u []
Control input
0 10 20 30 40 50 60 70 80 90
0 1 2 3 4x 10−3
Time [s]
h [s]
h u r θ
February 2014 16 / 28
Overview Statements Computing-aware control Control-aware computing
Control-aware computing
− + Uk
Process state estimates
Y RTOS Scheduler
Process objectives (QoC)
Scheduling Scheduling Policy
WCET
(priority, period) Parameters
SAMP Controller
Process ZOH Process
Software architecture
Application analysis -> reducing latencies on critical paths off-line optimization
Control aware flexible scheduling policies weakly-hardconstraints
(m,k)-firm dropping policies
Control-aware QoS, e.g. elastic tasks Bandwidth allocation: Control Server
Overview Statements Computing-aware control Control-aware computing
Control task structure
Splitting the control algorithm Relative urgency/importance Latency reduction on critical paths while(1){
Wait-Clock A/D-Conversion
Calculate-Outputu(k) =f(y(k),xˆ(k−1), ...) Update-State xˆ(k) =g(y(k),xˆ(k −1), ...) D/A-Conversion
}
while(1){ Wait-Clock A/D-Conversion
Calculate-OutputPhighu(k) =f(y(k),xˆ(k−1), ...) D/A-Conversion
Update-StatePlow xˆ(k) =g(y(k),xˆ(k−1), ...) }
Fast stabilizing loop/ slow navigation loop
Implementation : multitasking/multi-rate (Orccad features)
February 2014 18 / 28
Overview Statements Computing-aware control Control-aware computing
Control task structure
Splitting the control algorithm Relative urgency/importance Latency reduction on critical paths while(1){
Wait-Clock A/D-Conversion
Calculate-Outputu(k) =f(y(k),xˆ(k−1), ...) D/A-Conversion
Update-State xˆ(k) =g(y(k),xˆ(k −1), ...) }
while(1){ Wait-Clock A/D-Conversion
Calculate-OutputPhighu(k) =f(y(k),xˆ(k−1), ...) D/A-Conversion
Update-StatePlow xˆ(k) =g(y(k),xˆ(k−1), ...) }
Fast stabilizing loop/ slow navigation loop
Implementation : multitasking/multi-rate (Orccad features)
Overview Statements Computing-aware control Control-aware computing
Control task structure
Splitting the control algorithm Relative urgency/importance Latency reduction on critical paths while(1){
Wait-Clock A/D-Conversion
Calculate-OutputPhighu(k) =f(y(k),xˆ(k−1), ...) D/A-Conversion
Update-StatePlow xˆ(k) =g(y(k),xˆ(k−1), ...) }
Fast stabilizing loop/ slow navigation loop
Implementation : multitasking/multi-rate (Orccad features)
February 2014 18 / 28
Overview Statements Computing-aware control Control-aware computing
Control task structure
Splitting the control algorithm Relative urgency/importance Latency reduction on critical paths while(1){
Wait-Clock A/D-Conversion
Calculate-OutputPhighu(k) =f(y(k),xˆ(k−1), ...) D/A-Conversion
Update-StatePlow xˆ(k) =g(y(k),xˆ(k−1), ...) }
Fast stabilizing loop/ slow navigation loop
Implementation : multitasking/multi-rate (Orccad features)
Overview Statements Computing-aware control Control-aware computing
Flexible scheduling policies
Finding scheduling parameters?
Cost functions period/delay w.r.t. performance Off-line non-linear optimization (simplex)
Bandwidth allocation: Control Server
each controller reserves a CPU fraction (CBS) Minimization of QoS : Elastic Tasks
QoS sensitivity w.r.t. period (stiffness)
February 2014 19 / 28
Overview Statements Computing-aware control Control-aware computing
Control aware computing: Feedback scheduling
−
Uk
+ Y
Computation/
Networking Objectives
CPU/network state load/latency estimates
Scheduling Controller
RTOS Scheduler
Scheduling Parameters (QoC)
Process objectives
Process state estimates SAMP
Process
Controller Process
+−
ZOH
Feedback schedulers :
Control of the scheduling parameters Simple dynamics, complex data sets Discrete process, fluid models Free sensors and actuators
Overview Statements Computing-aware control Control-aware computing
Web server modeling
Server
Ne
To
α
State:
MPL
Clients
N M
Ti
L α
Control Input:
Outputs:
Exogenous Inputs:
55 60 65 70 75 80
0 2 4 6 8 10 12 14 16 18 20
Workload amount (#clients)
Abandon rate (%)
Real system
Naive model Improved model
input/output latency:
L(Ne,M,t) =a(M,t)Ne2+b(M,t)Ne+c(M,t) rejection rate:α(t) =˙ −∆1
α(t)−AC(t)Ne(t) ·
1−TToi(t(t))
February 2014 21 / 28
Overview Statements Computing-aware control Control-aware computing
Control objectives
Maximizing availabilityAC = 1+γ Ne
L(L−Lmax)
Maximizing performanceAC = α−γ αNe
α(α−αmax)
γL andγα: tuning parameters
0 5 10 15 20
0 2 4 6 8 10 12 14 16 18
Time (min)
Latency (s)
Latency with control Latency without control Lmax
(a) Performance - Latency
0 10 20 30 40 50
0 2 4 6 8 10 12 14 16
Time (min)
Abandon rate (%)
Abandon rate with control Abandon rate without control
(b) Availability - Rejection rate
Overview Statements Computing-aware control Control-aware computing
Control of a H.264 video decoder
Statement:
Constant display rate (25 fps)
Decoding several frames ahead of display
Model:qˆk+1= (1−α) ˆqk +αqk−1
Frame controller: Damping of frames decoding overruns
+
−
Frame Controller δi+1=β.δi
Computing Speed Controller
∆i Ω(t),Λ(t)
CPU - DVFS H264 decoder
∆i
τi δi ∆ri+1
Ωˆi+1
Vlevel Flevel
drk+1 =tk+1+β×δk, 0< β <1
February 2014 23 / 28
Overview Statements Computing-aware control Control-aware computing
Control of a H.264 video decoder
Implementation under Linux, Posix Real-time library
0 100 200 300 400 500 600 700 800 900 1000
−0.05
−0.04
−0.03
−0.02
−0.01 0 0.01 0.02 0.03 0.04 0.05
Frame number Deadline error (ms) (req. deadline: 50 ms)
Experience with deadline control error δk
0 100 200 300 400 500 600 700 800 900 1000
−6
−5
−4
−3
−2
−1 0 1 2
Frame number Ddeadline error (ms) (req. deadline: 50 ms)
Experience without control error δ
k
Trames 1000
Pénalités cumulées
−4.10
−6.10
−8.10
−10.10 0
−2.106 6 6 6 6
40ms, avec ctrl 50ms, avec ctrl 45ms, avec ctrl
50ms, sans ctrl
estimated energy saving:
upto 24 %
Overview Statements Computing-aware control Control-aware computing
Feedback scheduling a robot controller
q
G PA10
Coriolis
Inertie
Gravite GeneTraj
Torque Mux Sched_Ctrl Gc
Gi
Gg
Gt
End
Sing q
qd
j Mission
Sequencing Supervision Exceptions
manager
Linux/Xenomai
February 2014 24 / 28
Overview Statements Computing-aware control Control-aware computing
The ORCCAD model
Reactive shell START
Drivers
Observer Observer Control Control
Control law (Discretized time)
T2_UnStableCam
STARTED Good_EndT3_SENSOR_FAILED ABORT Timeout
Suspend Resume
UnStableCam
ABSTRACT VIEW (Discrete events)
RobotTasks
Feedback Control
Cyclic real-time data flow Event-based view
RobotProcedures
Discrete Events Control Incremental design Exception processing Mission definition Bottom up approach, from control to applications
Overview Statements Computing-aware control Control-aware computing
The ORCCAD model
Reactive shell START
Drivers
Observer Observer Control Control
Control law (Discretized time)
T2_UnStableCam
STARTED Good_EndT3_SENSOR_FAILED ABORT Timeout
Suspend Resume
UnStableCam
ABSTRACT VIEW (Discrete events)
q
G PA10
Coriolis
Inertie
Gravite GeneTraj
Torque Mux Sched_Ctrl Gc
Gi
Gg Gt
End Sing q
qd
j Mission
Sequencing Supervision Exceptions manager
Linux/Xenomai
Feedback control action Control algorithm definition Invariant structure for RT life Modular design
Functional parameters Timing parameters Event based behaviour
Precondition (opt. timeout) Synchronization
Exceptions Weak T1 Strong T2 Fatal T3
Postcondition (opt. timeout)February 2014 25 / 28
Overview Statements Computing-aware control Control-aware computing
Feedback scheduling a robot controller (Cont’d)
0 0.5 1 1.5 2 2.5
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02
Time [s]
Periods [s]
Task periods Inertia Gravity Coriolis
0 0.5 1 1.5 2 2.5
0 0.1 0.2 0.3 0.4 0.5
Time [s]
Load
Task loads
Inertia Gravity Coriolis
0 0.5 1 1.5 2 2.5
0 0.2 0.4 0.6 0.8 1
Time [s]
Load
Processor Load Regulated Reference Integrator Grand total
0 0.5 1 1.5 2 2.5
−250
−200
−150
−100
−50 0 50 100 150
Time [s]
Joint torques [mN]
Commands
1 2 3 4 5 6 7
Intervals CPU load Torques
Cost of the FS < 1%
Negligible or moderate computing cost Robust w.r.t. deadlines miss
No further need for wcet evaluation :=) Feasible with off-the-shelf hard/soft
Overview Statements Computing-aware control Control-aware computing
Integrating Control and Scheduling
− + Uk +−
Controller Scheduling
Scheduling Parameters
Process state estimates CPU/network state load/latency estimates
Y plant modelling and actual QoCs
QoS Global objective
supervision exceptions handling
RTOS Scheduler
(QoC) Process objectives
SAMP Controller
Process ZOH Process
Hybrid complex dynamics Non convex cost functions
QoS formulation gathering control and computing Case studies :
LQ control +(m,k)-firm policy Feedback scheduled MPC
H∞varying sampling + elastic scheduler Convex optimization for LQ period selection Asynchronous (event-based) control
February 2014 27 / 28
Overview Statements Computing-aware control Control-aware computing
Integrating Control and Scheduling
− + Uk +−
Controller Scheduling
Scheduling Parameters
Process state estimates CPU/network state load/latency estimates
Y plant modelling and actual QoCs
QoS Global objective
supervision exceptions handling
RTOS Scheduler
(QoC) Process objectives
SAMP Controller
Process ZOH Process
fmin fmax
Computingcost Controlperformance
unstable
best level
cost-effective trade-offs bestcase worstcase average
Overview Statements Computing-aware control Control-aware computing
Integrating Control and Scheduling
fmin fmax
Computingcost Controlperformance
unstable
best level
cost-effective trade-offs bestcase worstcase average
Cost effective implementation of real-time control Average cases rather than worst cases
Self-management of computing devices New viewpoint on control systems safety Provability, Certification?
February 2014 27 / 28
Overview Statements Computing-aware control Control-aware computing
any questions?
Ordonnancement dans les Systèmes Temps Réel Hermes, Maryline Chetto ed., 2014
Chapitre 11: Conception conjointe commande-ordonnancement
Overview Statements Computing-aware control Control-aware computing
any questions?
Thank you for your attention
February 2014 28 / 28