Szabályozástechnika alkalmazása az IT infrastruktúra felügyeletben
description
Transcript of Szabályozástechnika alkalmazása az IT infrastruktúra felügyeletben
Budapesti Műszaki és Gazdaságtudományi EgyetemMéréstechnika és Információs Rendszerek Tanszék
Szabályozástechnika alkalmazása az IT infrastruktúra felügyeletben
Paljak [email protected]
Tartalom Bevezetés Szabályozástechnikai alapok (ismétlés)
o Jelek, modelleko PID szabályzók
Esettanulmány: AutoTune Esettanulmány: energiafelhasználás felügyelete Kutatási irányok
Szabályozási módszerek
Visszacsatolt rendszerek
4
A rendszer kimenetét részben vagy egészben a bemenetre csatoljuk
A rendszer viselkedésétbefolyásoljuk
Adaptivitást várunk
Visszacsatolt szabályozás mint megközelítés
5
Dobson, S. et al.: A Survey of Autonomic Communications. ACM Trans. on Autonomous and Adaptive Systems, 2006
A szabályozó egy autonóm egység (AE)
6
• A szabályozó biztosíthat autonóm tulajdonságokat
Autonóm egységek hierarchiája
IBM: An Architectural Blueprint for Autonomic Computing, 4th Ed. (2006)
Szabályozástechnikai ismétlés
Visszacsatolt szabályozási kör
9
Hellerstein, Diao, Parekh, Tilbury: Feedback Control of Computing Systems. Wiley (2004)
Visszacsatolt szabályozási kör
10
• Alapjel – Reference input• Cél, elvárt kimenet
• Hibajel – Control Error • Az alapjelből ki kell vonni a (mért)
kimenetet• Beavatkozó/rendelkező jel –
Control/Action Input• A rendszert befolyásoló paraméterek, pl.
a szálak száma, CPU, memória param.• Zavarás – Disturbance Input
• A beavatkozó jelet befolyásolja – pl. érkezési ráta
• Zaj – Noise input• A szabályozott jellemzőt befolyásolja
• Szabályozó - Controller• Megváltoztatja a végrehajtó jelet, hogy
elérje az alapjelet – a szabályozót a felügyelt rendszer modellje alapján kell tervezni
• Felügyelt rendszer – Managed system• Dinamikus rendszer, folyamat (process,
plant) — gyakran differenciálegyenletek írják le
• Szabályozott jellemző - Measured output• A rendszer egy mérhető jellemzője —pl.
válaszidő• Transzduktor – Transducer
• A szabályozott jellemzőt transzformálja, hogy összemérhető legyen az alapjellel
A szabályozás céljai – SASO tulajdonságok
Stabilitás Stability Alapjelkövetés Accuracy – ess
Beállási idő Settling time – ks
Túllövés Overshoot - Mp
Mintavételes rendszerek
Mintavételes szabályozási rendszerek Irányítási rendszereket digitálisan valósítják meg
o Real-time rendszerek
Szabályozó: digitális szabályozó
algoritmus
Tartószerv
Szabályozott szakasz
Mintavevő
alapjel
diszkrét idejű szabályozott jellemző
diszkrét idejű beavatkozó jel
folytonos beavatkozó jel
folytonos szabályozott jellemző
Z-transzformáció: Motiváció
y
Time (k)k
y(k)
;...25.0)2(;5.0)1(;1)0( yyy
;...125.0)2(;25.0)1(;5.0)0( yyy
;...25.0)2(;5.0)2(;1)1( yyy
AB C
A
B
C
Z-Transzformáció
0
{ ( )} (0), (1),... jelnek a z-transzformáltja:( ) ( ) k
k
u k u uU z u k z
z az eltolási operátorz0=1: k=0 (aktuális időpont)z-1 : k=1 (egy időegységgel előrébb a jövőben)z-2 : k=2 (két időegységgel előrébb a jövőben)
Z-Transzformáció: példa
y
Time (k)k
y(k)
;...25.0)2(;5.0)1(;1)0( yyy
AB C
A0 1 2( ) (1) (0.5) (0.25) ...AY z z z z
0 1 2( ) (0.5) (0.25) (0.125) ... ( )B AY z z z z zY z
;...125.0)2(;25.0)1(;5.0)0( yyyB
siettetés
1 2 3( ) (1) (0.5) (0.25) ... ( ) /C AY z z z z Y z z ;...25.0)2(;5.0)2(;1)1( yyyC
késleltetés
Z-Transzformáció: pólusok
( ) zY zz a
MotivációoA jelek viselkedésének egy jelentős részét a nevező gyökei határozzák meg
2
1
0.11( )1.6 0.60.11
( 1)( 0.6)
( ) 0.275 0.165(0.6) for 0k
zY zz z
zz z
y k k
• Karakterisztikus polinom• A z-transzformált nevezője
• Pólusok• A karakterisztikus polinom gyökei
• A pólusok lehetnek imagináriusok• Oszcilláló viselkedést jelez
• Példa:
Minden, amit pólusokról tudni érdemes
Végérték tétel
1
Tétel: Ha (1 ) ( ) minden pólusa egy egységkörön belül helyezkedik el, akkorlim ( ) lim ( 1) ( )k z
z Y zy k z Y z
A z-transzformációval egyszerűen meg lehet állapítani egy jel állandósult értékét (ha létezik)
Kiszámítható, hogy van-e állandósult hiba!
2
1 1
0.11 0.11( )1.6 0.6 ( 1)( 0.6)
0.11( 1) ( ) | | 0.2750.6z z
z zY zz z z z
zz Y zz
• Példa
0 5 10 15-0.35
-0.3
-0.25
-0.2
-0.15
-0.1
-0.05
0
k
y(k)
Jelek, rendszerek
1)( zU
GY(z)U(z)
11)(
z
zY
)()()1( kukyky
1)(
zzzU
21)(
zzzY
Átviteli függvények
( 1) ( ) ( )( ) (0) ( ) ( )
1( ) ( ) (0)1
Feltéve, hogy (0) 0, az eredmény:1( ) ( )
1( ) 1( )( ) 1
y k y k u kzY z zy Y z U z
Y z U z zyz
y
Y z U zzY zG zU z z
G(z)Y(z)U(z)
Output ( )( )Input ( )
vagy ( ) ( ) ( )feltéve, hogy a kezdeti feltételek nullák.
Y zG zU z
Y z G z U z
1 1
1
( ) ( ) ( )( )1( )1
1( ) késleltett lépés
Y z G z U zG z z
zy k
2 2
2
2
( ) ( ) ( )
( )1
( 1)( ) lineárisan növekvő
Y z G z U zzG z
zz
zy k
Impulzusválasz: Lépésválasz:
Definíció: Példa: diszkrét integrátor
Az átviteli függvények értelme Adott bemenetre prediktálható a kimenet Kiszámítható, hogy stabilis-e a rendszer
o Nem stabil rendszerek nem kívánatosak Az erősítés kiszámítható (steady state gain)
o Működési tartományok, állapotok elérhetőségét lehet kiszámítani
Egyszerűsíteni, alacsonyabb fokúvá lehet tenni a rendszert o Alacsonyabb fokú rendszerekkel könnyebb dolgozni
Szimulálható a rendszer viselkedése Az átviteli függvények komponálhatók
o Bonyolult rendszereket is vizsgálhatók
23
Korlátos jelek
-5
0
5a=0.4
-5
0
5a=0.9
-5
0
5a=1.2
0 5 10-5
0
5a=-0.4
0 5 10-5
0
5a=-0.9
0 5 10-5
0
5a=-1.2
0 10 20 30 40 50 60 70-1
-0.5
0
0.5
1 0 2 4 6 8-1
-0.5
0
0.5
1
0 5 10 15 200
0.2
0.4
0.6
0.8
1
Def::{u(k)} korlátos, ha létezik M konstans, hogy |u(k)| = M minden k értékre.
GV stabilitás
Megjegyzés: nem korlátos jelekre adott nem korlátos válasz megengedhető!
Ezek a rendszerek GV stabilisak?
Def.:Egy rendszer gerjesztés-válasz (GV) stabilis, ha bármely korlátos {u(k)} bemenetre az {y(k)} kimenet korlátos. (Bounded Input – Bounded Output, BIBO stable)
Egység y(k+1) = 1P szabályozó y(k+1) = KP u(k)
Összeadó y(k+1) = y(k) + u(k)I szabályozó y(k+1) = y(k) + KI u(k)
M/M/1/K sor y(k+1) = 0.49y(k) + 0.033u(k)Tetszőleges y(k+1) = -1.3y(k) + 2.3u(k)
GV stabilitás
Rendszer Időtartománybeli alak Átviteli függvény Pólusok
Egység y(k+1) = 1 G(z) = 1 N/A
P szabályozó y(k+1) = KP u(k) G(z) = KP N/A
Összeadó y(k+1) = y(k) + u(k) G(z) = 1/(z-1) z=1
I szabályozó y(k+1) = y(k) + KI u(k) G(z) = KI/(z-1) z=1
M/M/1/K sor y(k+1) = 0.49y(k) + 0.033u(k) G(z) = 0.033/(z-0.49) z = 0.49
Tetszőleges y(k+1) = -1.3y(k) + 2.3u(k) G(z) = 2.3/(z+1.3) z = -1.3
Tétel: G(z) rendszer GV stabilis akkor és csak akkor, ha minden pólusa az egységkörön belül van.
Blokkdiagramok
Blokkdiagramok
Sok komponensből álló rendszerek modellezése Különbözik a flow chartoktól
o Flow charts: work flow rendszer (funkcionális) analíziseo Blokkdiagram: jelfolyamok szabályozás analízise
A SASO tulajdonságokat vizsgáljuk
( )r k ( )y k( )e k Szabályzó NotesServer
NotesSensor
( )u k
( 1) ( ) ( 1)Iu k u k K e k ( 1) (0.43) ( ) (0.47) ( )w k w k u k ( 1) 0.8 ( ) 0.72 ( ) 0.66 ( 1)y k y k w k w k
( )w k
( ) ( ) ( )e k r k y k
Blokkdiagram alapok
K(z) G(z)
SzabályozóSzabályozott
folyamat
D(z)
Y(z)R(z) E(z) U(z) V(z)
H(z)
Transzduktor
W(z)
Funkcionális blokk: a rendszer egy komponense Nyilak: jelfolyam Összegzési pont: jelek összeadása Elágazási pont: egy jel több célhoz jut el
Y(z) = G(z) V(z)
Komplex rendszerek
K(z) G(z)
SzabályozóSzabályozott
folyamat
D(z)
Y(z)R(z) E(z) U(z) V(z)
H(z)
Transzduktor
W(z)
KI 1zz
KP
1
z
KzKKzK PIP
Zavarjel és zaj modellezése• Zavarjel és zaj modellezése
G(z)
M/M/1/KY(z)U(z)
VálaszidőBuffer méret
V(z)
Zavarjel D(z)
Zaj N(z)
T(z)
• Alapjel és a szabályozó
K(z)
SzabályozóR(z) U(z)
Buffer méretAlapjel
Szabályozási minták
Kaszkád szabályozás
K1(z)R(z)
K2(z)Y(z)U1(z)
E2(z)
E1(z)
G2(z) G1(z)U2(z) V(z)
Apache szabályozók Apache Server
Kaszkád szabályozás példa
K1(z)R(z)
K2(z)Y(z)U1(z)
E2(z)
E1(z)
G2(z) G1(z)U2(z) V(z)
Kívánt válaszidő
Mért válaszidő
MaxClients
Mért kihasználtság
Kívánt kihasználtság
Apache web szerver szolgáltatási szintjének szabályozása
Adaptív szabályozás
K(z)R(z)
G(z)U(z) Y(z)
E(z)
A(z)
Adaptációs séma
Adaptív szabályozás példa
( )r k ( )y k( )e kNotes
Szenzor
( )u k ( )w k
Lotus Notes Server szabályozása
Kívánt RIS Mért RISMaxUsers
Adaptációs séma
Szabályozó NotesSzerver
RIS = RPCs in System = lekérdezések száma a rendszerbenRPC = Remote Procedure Call
Felügyeleti szabályozás
K(z)R(z)
G(z)U(z) Y(z)
E(z)
A(z)
Felügyeleti logika
Felügyeleti szabályozás = Supervisory control
Felügyeleti szabályozás példa
Felhasználók
Rendszergazda Szerver
AlapjelMaxUsers
Szerver LogVálaszidő
Befejezett tranzakciókSzabályozó
Szabályozó tervezés, alapjel meghatározás Profit model
Rendszer identifikáció
Felügyeleti logika Bevétel= r * (befejezett tranzakciók száma)
Költség = c * (A W válaszidő kritériumnál hosszabb válaszidők száma)
Profit = Bevétel - Költség
Elosztott szabályozás
R(z)G(z)
U(z) Y(z)
E(z)
K(z)R(z)
G(z)U(z) Y(z)
E(z)
Centralizált szabályozás
Decentralizált szabályozás
K1(z)
K2(z)
KN(z)
N
N
Szabályozás tervezéseStart
Blokk-diagramtervezése
Átviteli függvény identifikálása és
validálása
Szabályozó analízise
Célok teljesülte
k?
Szabályozó tervezés
Y
StopY
Model
Ok?N N
Rendszermodellezés
Példa: Apache szabályozása
New Users
New conn
Timeout()
TCPListenqueue
Close()
+
if ((QL > 0) && (idle_servers > 0)) thendequeue();
Apache
UserThink IdleBusy
Connect
Close
Timeout
request
reply
Szerver állapotátmenet
ekMaxClients
Szabályozási cél: CPU és memória használat szabályozása
Apache session folyamok
41
Példa (folytatás)
A paraméterhangolás hatása
MaxClients(MC)
Memória kihasználtság
(MEM)KeepAlive
(KA)
CPU kihasználtság
(CPU)
A KA hatása Az MC hatása
0
0.5
1
0
0.5
1
0
20
40
0 500 1000 1500 2000 25000
500
1000
Time(s)
0
0.5
1
0
0.5
1
0
20
40
0 500 1000 1500 2000 25000
500
1000
Time(s)
Példa (folytatás)
C1CPU*k
+ -
Szabályozó1 ApacheServerMEM*k
+ -Szabályozó2
C2
Két SISO szabályozó: C1 KA-t szabályozza, hogy elérje a CPU*-t C2 MC-t szabályozza, hogy elérje a MEM*-t
ECPU,k
EMEM,k
CPUkKAk
MEMkMCk
ApacheServer
ApacheServer
SISO: Single Input Single Output MIMO: Multiple Input Multiple Output
43
Példa (folytatás)
Egy MIMO szabályozó: C szabályozza KA-t és MC-t, hogy elérje a CPU*-t és a MEM*-t
CPUkCPU*k
+ -
KAk ApacheServer MEMkMEM*k
+ -
MCk
Szabályozó
CECPU,k
EMEM,k
Model struktúrák
Two SISO
models
KA CPU
MEMMC
Az átviteli függvények kapcsolata
G11
G22
Apache Szerver
++
++
G11 S
MIMOmodel
G21
G12
G22 S
G11
SISOvs.
MIMO
G21
G12
G22
0
0
A SISO megközelítés a közös tagokat elhanyagol- hatónak tekinti
++
++
SISO Rendszeridentifikáció
KAMC
CPUMEM
ApacheServer
Empirikus modellalkotás
1. A hangoló paramétereket változtassuk és folyamatosan gyűjtsünk adatokat
2. Lineáris regresszióval (legkisebb négyzetes hiba) elsőrendű modellt kaphatunk
0
0.5
1
0 500 1000 1500 2000 25000
10
20
Time (s)
CPU
KA
1
1k1kk KAbCPUaCPU 2
ApacheServer
Bemenő jelek kiválasztása
0
10
20
0 500 1000 1500 2000 25000
500
1000
0 5 10 15 200
200
400
600
800
1000
1200
A bemenő jeleknek megfelelő variabilitásúnak kell lennie, hogy a modell dinamikát azonosítani lehessen
A bemenő jeleknek sűrű és egyenletes fedést kell adnia a bemeneti térre
A diszkretizált szinusz alacsony és magas frekvenciákat is lefed a bemeneti térben
KA
MC
MC
KA
Time (s)
SISO Rendszeridentifikáció
1k1kk KA0.0138CPU0.595CPU
MC=600
KA CPU
MEMMC
G21
G12
G11
G22 +
+
0
0.5
1
0 500 1000 1500 2000 25000
10
20
Time (s)
CPU
KA
1k1kk MC0.0004MEM0.485MEM
KA=11
KA CPU
MEMMC
G21
G12
G11
G22 +
+
Time (s)
0
0.5
1
0 500 1000 1500 2000 25000
500
1000M
EMM
C
SISO modellek illeszkedésének vizsgálata
Valós0 0.2 0.4 0.6 0.80
0.2
0.4
0.6
0.8
Pred
iktá
lt
0 0.2 0.4 0.6 0.8 10
0.2
0.4
0.6
0.8
1
Valós
Pred
iktá
lt
R2 = 0.934 R2 = 0.989
Egyszerre egy bemenet változikKA CPU
MEMMC
G21
G12
G11
G22 +
+ KA CPU
MEMMC
G21
G12
G11
G22 +
+
A SISO modellek értékelése mérések alapján
MC=600
KA CPU
MEMMC
G21
G12
G11
G22 +
+
~NULLA
KA=11
KA CPU
MEMMC
G21
G12
G11
G22 +
+
0
0.5
1
0 500 1000 1500 2000 25000
500
1000
Time (s)
MC
CPU
Time (s)
0
0.5
1
0 500 1000 1500 2000 25000
10
20
MEM
KA
NEM NULLA!
Szabályozók típusai
Egyszerű szabályozók
Adott• Folyamat t.f. G(z)• Transzduktor t.f. H(z)• Szabályozót.f. K(z)(T.f. = transzfer/átviteli függvény)Kiszámítandó• Pólusok, erősítés• Stabilitás, alapjel-
követés, beállási idő
Egyszerű szabályozó:• Bemenet: E(z)• Kimenet: U(z)
Arányos tag
( ) ( )( )( )( )
P
P
u k K e kU zK z KE z
KpE(z) U(z)
Erősítés
• A rendszer egy P szabályozóval stabilizálható• A szabályozás lassú• Az előírt fázistöbblet, illetve statikus hiba nem mindig
biztosítható
Az P-tag pontossága
Kívánt:(1) (1) (1) 1
1 (1) (1)(1) (1) (1) 0
1 (1) (1)(1) (1) 0
1 (1) (1)
PR
P
DP
NP
K G HFK G HG HFK G H
HFK G H
( )( ) ( )( )( )
( ) 1 ( ) ( )( ) ( ) ( )( )( ) 1 ( ) ( )( ) ( )( )( ) 1 ( ) ( )
P
PR
P
DP
NP
K z KK G z H zY zF z
R z K G z H zY z G z H zF zD z K G z H zT z H zF zN z K G z H z
Miért?
( ) 0.47( )( ) 0.43
0.47( )0.43 0.47
PR
P
Y zG zU z z
KF zz K
Megfigyelések:• A P-szabályozás velejárója a pontatlanság! • Nagy KP értékeket szeretnénk használni
Ha 20.47 (1) 0.62 1
0.57 0.470.47 (1) 0.31 0
0.57 0.471 (1) 0.66 0
0.57 0.47
P
PR
P
DP
NP
KKF
K
FK
FK
Az P-tag pontossága
P-tag stabilitása és beállási ideje
( )( ) ( )( )( )
( ) 1 ( ) ( )( ) ( ) ( )( )( ) 1 ( ) ( )( ) ( )( )( ) 1 ( ) ( )
P
PR
P
DP
NP
K z KK G z H zY zF z
R z K G z H zY z G z H zF zD z K G z H zT z H zF zN z K G z H z
Megfigyelés:• Az három átviteli függvénynek
ugyanazok a pólusai
EmlékeztetőDef: Karakterisztikus polinomA TF nevezőjeDef: Karakterisztikus egyenletKarakterisztikus polinom = 0
Karakterisztikus egyenlet:1 ( ) ( ) 0A pólusok a karakterisztikusegyenlet megoldásai.
PK G z H z
Gyökhelyek- Az egyenlet megoldásai
-1 -0.5 0 0.5 1-1
-0.5
0
0.5
1
Real Axis
Imag
Axi
s
( ) 0.47( ) , ( ) 1( ) 0.43
0.47( )0.43 0.47
0.43 0.47 ábrázolva a komplex síkon
PR
P
P
Y zG z H zU z z
KF zz K
z K
KP=3.0 KP=0
KP=0.91
Pólusok vizsgálata
Integráló tag
( 1) ( ) ( 1)( )( )( ) 1
I
I
u k K u k e kK zU zK z
E z z
E(z) U(z)
1IK z
z
E(z)
1z
z U(z)
IKVagy
• Célja: az állandósult hiba 0 legyen
Az integráló tag pontossága
Vegyük észre:(1) (1) 1
1 1 (1)(1) 0 (1)
IR
I
D N
K GFK G
F F
( )( ) , ( ) 1( ) 1
( )( )( )( ) 1 ( )( ) ( )( 1)( )( ) 1 ( )( ) ( 1)( )( ) 1 ( )
I
IR
I
DI
NI
K zU zK z H zE z z
zK G zY zF zR z z zK G zY z G z zF zD z z zK G zT z zF zN z z zK G z
I-tag stabilitása és beállási ideje
I-szabályozás karakterisztikus egyenlete:0 1 ( ) ( )
P-szabályozás karakterisztikus egyenlete:0= 1 ( ) ( )
I-szabályozás magasabb rendű rendszert eredményez!
I
P
z zK G z H z
K G z H z
( )( )( ) 1
( ) ( )( )( )( ) 1 ( ) ( )( ) ( ) ( )( )( ) 1 ( ) ( )( ) ( )( )( ) 1 ( ) ( )
I
IR
I
DI
NI
K zU zK zE z z
zK G z H zY zF zR z z zK G z H zY z G z H zF zD z z zK G z H zT z H zF zN z z zK G z H z
PI szabályozás
( ) ( ) ( )( 1) ( ) ( ) ( 1)
( )( )( )( ) 1 1
P I
P I P
I P I PP
u k u k u ku k K K e k K e k
K z K K z KE zK z KU z z z
Az PI-tag pontossága
Vegyük észre:(1) 1(1) 0 (1)
R
D N
FF F
( )( )( ) , ( ) 1( ) 1
(( ) ) ( )( )( )( ) 1 (( ) ) ( )( ) ( )( 1)( )( ) 1 (( ) ) ( )( ) ( 1)( )( ) 1 (( ) ) ( )
P I P
P I PR
P I P
DP I P
NP I P
K K z KU zK z H zE z z
K K z K G zY zF zR z z K K z K G zY z G z zF zD z z K K z K G zT z zF zN z z K K z K G z
Az integráló tag biztosítja a pontosságot a lépésválaszra!
PI-tag stabilitása és beállási ideje
I-szabályozás karakterisztikus egyenlete:0 1 ( ) ( )
P-szabályozás karakterisztikus egyenlete:0= 1 ( ) ( )
PI-szabályozás karakterisztikus egyenlete:0 1 (( ) ) ( )
I
P
P I P
z zK G z H z
K G z H z
z K K z K G z
( )( )( ) , ( ) 1( ) 1
(( ) ) ( )( )( )( ) 1 (( ) ) ( )( ) ( )( )( ) 1 (( ) ) ( )( ) 1( )( ) 1 (( ) ) ( )
P I P
P I PR
P I P
DP I P
NP I P
K K z KU zK z H zE z z
K K z K G zY zF zR z z K K z K G zY z G zF zD z z K K z K G zT zF zN z z K K z K G z
2
( )( )( )( ) 1( ) 0.47( )( ) 0.43
( ) 10.47( ) 0.47( )
0.47( ) 1.43 0.43 0.47
P I P
P I PR
P I P
K K z KU zK zE z zY zG zU z z
H zK K z KF z
z K K z K
0.5 1 1.5 20
0.5
1
1.5
KP
Max
pol
e
KI=0.1
0.5 1 1.5 20
0.5
1
1.5
KP
Max
pol
e
KI=2
0.5 1 1.5 20
0.5
1
1.5
KP
Max
pol
e
KI=3
0.5 1 1.5 20
0.5
1
1.5
KP
Max
pol
e
KI=4
0.5 1 1.5 20
50
100
KPS
ettli
ng ti
me KI=0.1
0.5 1 1.5 20
50
100
KP
Set
tling
tim
e KI=2
0.5 1 1.5 20
50
100
KP
Set
tling
tim
e KI=3
0.5 1 1.5 20
50
100
KP
Set
tling
tim
e KI=4
PI pólusok, stabilitás, beállási idő (nincs szenzor holtidő)
2
4 3 2
( )( )( )( ) 1( ) 0.47( )( ) 0.43
1( )
0.47( ) 0.47( ) 1.43 0.43 0.47( ) 0.47
P I P
P I PR
P I P
K K z KU zK zE z zY zG zU z z
H zz
K K z KF z
z z z K K z K
0.5 1 1.5 20
0.5
1
1.5
KP
Max
pol
e
KI=0.1
0.5 1 1.5 20
0.5
1
1.5
KP
Max
pol
e
KI=0.2
0.5 1 1.5 20
0.5
1
1.5
KP
Max
pol
e
KI=0.3
0.5 1 1.5 20
0.5
1
1.5
KP
Max
pol
e
KI=0.4
0.5 1 1.5 20
50
100
KPS
ettli
ng ti
me KI=0.1
0.5 1 1.5 20
50
100
KP
Set
tling
tim
e KI=0.2
0.5 1 1.5 20
50
100
KP
Set
tling
tim
e KI=0.3
0.5 1 1.5 20
50
100
KP
Set
tling
tim
e KI=0.4
PI pólusok, stabilitás, beállási idő (szenzor holtidővel)
Differenciáló tag
( ) ( ( ) ( 1))1( )
D D
D
u k K e k e kzK z
z
• Mindig P és I tagokkal együtt használandó!• (Közelítő PD szabályozó realizálható)
• A változás trendjének előrejelzése• A rendszer gyorsítására használható
PID szabályozás
( ) ( ) ( ) ( )( ) ( 1) ( ) ( ( ) ( 1))
( ) 1( )( ) 1
P I D
P I D
P I D
u k u k u k u kK e k u k K e k K e k e kE z z zK z K K KU z z z
Esettanulmány: AutoTune
Esettanulmány: AutoTune Cloud computing rendszerek menedzsmentje Kihívások:
o Dinamikus terheléso Virtualizált környezeteko Egy adatközpontot sok szolgáltatás vagy bérlő használo Az egyes szolgáltatásoknak SLA-kat kell betartaniuk
Ha egy bérlő fizet egy Infrastructure-as-a-Service szolgáltatásért, hogyan biztosítható, hogy minél jobban kihasználja (de ne lépje túl) a kapacitást, amit megvásárolt?
Szabályozástechnika alkalmazása!
Kihívás: dinamikus terhelés A CPU és memória kihasználtsági elvárásoknak megfelelni
-> kézi finomhangolás A MaxClients és KeepAlive paraméterek állíthatóak
o MaxClients: max. párhuzamosan kiszolgált kliensek száma o KeepAlive: meddig tart nyitva egy kapcsolatot a szerver a
kliensekkel A dinamikus terhelés (dynamic workload) tipikusan nem
előrejelezhető -> folyamatos újrahangolást igényel A terhelés változásának követése egy állandó folyamat AutoTune: szabályozó megoldás
AutoTune ágensek Autotune Adaptor Bean
o A felügyelt rendszertől lekérdezi a szolgáltatási szint metrikákat
o Beállítja a hangolt paramétereket Autotune Controller Bean
oMeghatározza a szabályozási algoritmusokat (a rögzített adatok alapján)
o A rendszermérnök számára interfészt ad a szabályozás beállítására, hangolására
AutoTune Functionality
Beavatkozási és mintavételezési intervallumokat állítja
AutoTune architektúra
AutoTune ágens műveletek Három ágens:
o Visszacsatolt szabályozás tervezése• Modellalapú szabályozás• Linear Quadratic Regulation (LQR) szabályozás
– Komplexebb szabályozástervezés, nem témája a jelen előadásnak
o Modellezés• Nem éles rendszeren, tesztelés során • A MaxClients és KeepAlive paraméterek állítása• A CPU és memória kihasználtság monitorozása• Dinamikus modell építse az idősorok alapján
o Futásidejű szabályozás• Éles rendszerben• A szabályozó kimenete szerint állítja a MaxClients és a KeepAlive értékét
A rendszer matematikai modelljét hozza létreo Sorbanállás elméleto Mért adatok vizsgálata
Matematikai modello A szerver belső működésének ismeretét igénylio A szerver sajátosságait ismerni kell
Mérések alapján épített modell (fekete doboz modell)o Adatgyűjtés éles rendszerekbőlo Feltételezzük, hogy megfelelően lefedjük az állapotteret
Felhasználói inputo A hangolt paraméterek értéktartománya: MaxClient [1,1024];
KeepAlive [1,50]o Max. késleltetés, amíg az új paraméterek érvényre jutnak és látszanak a
metrikákon: MaxClients (10m); KeepAlive (20m)
Modellező ágens
Lineáris Modell
Visszacsatolt szabályozás PID (proportional-integral-derivative) szabályozás
o Korrigálja a hibát a változók mért és kívánt értékei között
o Kiszámítja a szükséges korrekciót és ennek megfelelően beavatkozik a folyamatba
Visszacsatolt szabályozás Arányos - Proportional: reakció az aktuális hibára Integráló - Integral: reakció a legutóbbi hibák
alapján Differenciáló - Derivative: reakció a hiba
megváltozásának mértékére
A három módszer súlyozott összegét használjuk A korrekciót (corrective action) egy beavatkozó
hajtja végre
Arányos tag A mért hibával arányos mértékben hajt végre
változtatást A hibát egy konstans Kp érékkel kell megszorozni
(erősítés)
m: kimenet;Kp : erősítése: hiba (elvárt – mért)PB: arányos tartomány (proportional band)
Integráló tag A szabályozó kimenet arányos a hiba mértékéhez
és időtartamához Az akkumulált arányos eltérést számolja ki az idő
szerint A szabályozó hamarabb éri el az elvárt értéket, de
túllövést eredményezhet
m: kimenetTi: időtartame: hiba (elvárt – mért)
Differenciáló tag A hibajel meredekségét használja ki (a hiba
változásának sebessége)
m: kiementTi: időe: hiba (elvárt – mért)
PID szabályozás Output(t) = P + I + D
Run-time Control Agent Visszacsatolt szabályozást
valósít meg A kívánt és a mért
kihasználtság értékeket használja
A Kp és Ki mátrixokat a szabályozás tervező ágens számítja ki
Szabályozó teljesítményeo Mennyi idő alatt tér vissza a
rendszer egy terhelésváltozás után
e= hiba az aktuális és a kívánt érték között a k-adik intervallumban
Akkumulált hiba
Kp = arányos tag, erősítésKi = integáló tag erősítése
Szabályozás tervező ágens A modellező ágens kimenetét használja A J(Kp,Ki) négyzetes költségfüggvényt minimalizálja Q, R súlymátrixok : Q 2x2-es mátrix ; R 4x4-es mátrix Tapasztalati értékek: Q = diag(q1,q2,q3,q4), and R=diag(r1,r2)
o q1=1, q2=2, q3=(1/10^2), q4=(1/2^2) (10% CPU, és 2% memória fluktuáció)o r1=(1/50^2), r2=(1/1000^2)
AutoTune architektúra
Kísérleti környezet Linux, Apache HTTP szerver MaxClient és KeepAlive paraméterek dinamikusan
változtathatóak Sok kliens viselkedését emuláló terhelésgenerátorok
o WAGON (Web trAffic GeneratOr and beNchmark) – Liu et al. (INRIA)
o Httperf generál HTTP lekérdezéseket Statikus és dinamikus terhelésmodellek
o Statikus: weboldal lekérések – a lekérdezések Poisson eloszlást követnek (20 session/sec)
o Dinamikus: weboldal lekérések – a lekérdezések Poisson eloszlást követnek (10 session/sec)
Szabályozási paramétereko Szabályozási intervallum: 5 seconds o Cél: CPU=0.5 és memória=0.6
Statikus terhelés – konvergencia 50 intervallum alatt
Megegyező beállítások + dinamikus terhelés a 20. intervallumtól kezdve
Esettanulmány: energiafelhasználás felügyelete
Követelmények Az energiafelhasználás egy fontos tervezési
kényszer:o Energiaköltségo Hődisszipáció
Két legfontosabb lehetőség a skálázásra:oMűködési frekvencia (négyzetes hatás)o Tápfeszültség (köbös hatás)
QoS követelmények és energiafelhasználás mérlegeléseo A terhelés mekkora részét dolgozzuk fel helyben
Forrás: Salim Hariri, Mazin Yousif
Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
High Performance Computing energiafelhasználása Az energiafelhasználás kritikus kérdés
o Energia = hő; a hődisszipáció költségeso Rendelkezésre álló elektromos ellátás korlátolto Jelentős költség a működés során
Következményo A teljesítményt korlátozza a rendelkezésre álló energiao Kevesebb csomópont/eszköz tud egyszerre működni
Lehetőség: szűk keresztmetszeteko Szűk keresztmetszetek korlátozzák a teljes rendszer teljesítményéto Csökkentsük néhány, nem szűk keresztmetszet energiafelhasználást, és így nem
csökken a rendszer teljesítménye Ma egy CPU:
o Jelentős fogyasztó(~100W),o Ritkán szűk keresztmetszeto Skálázható a teljesítménye (frekvencia és feszültség)
A CPU skálázás megoldás?1. Frekvencia és feszültség skálázása
A villamos teljesítmény csökkenés kisebb mértékű, mint a számításiteljesítmény csökkenése
2. Alkalmazás áteresztőképességeAz áteresztőképesség csökkenéskisebb mértékű, mint a számításiteljesítmény csökkenése
Feltételezések:o A CPU jelentős energiafogyasztóo A CPU szabályozható o Az áteresztőképesség növekedése
nem végig lineáris
performance (freq)
powe
rap
plica
tion
thro
ughp
ut
performance (freq)
(1)
(2)
CPU powerP = ½ CVf2
AMD Athlon-64 x86 ISA 64-bit technológia Hypertransport technológia – gyors memória busz Teljesítmény
o SPEC2K eredmények• 2GHz AMD-64 hasonló a 2.8GHz P4-hez• a P4 átlagosan 10-30%-kal jobb (INT & FP)
o Alacsonyabb órajelo Rövidebb pipeline (12 vs. 20)
Frekvencia és feszültség skálázáso 2000 – 800 MHzo 1.5 – 1.1 Volt
From: Vincent W. Freeh (NCSU)
LMBench eredmények LMBench
o Benchmarking csomago Alacsony szintűo Micro adatok
Minden fokozat tesztelése
Fokozat (Gear)
Frequency (Mhz) Voltage
0 2000 1.51 1800 1.42 1600 1.33 1400 1.24 1200 1.16 800 0.9
From: Vincent W. Freeh (NCSU)
Operációs rendszer funkciók
From: Vincent W. Freeh (NCSU)
Kommunikáció
From: Vincent W. Freeh (NCSU)
A probléma Villamos csúcsteljesítmény korlát, P, adódhat:
o Egy rack energiafelhasználásao Terem/villamos közműo Hődisszipáció
korlátozásaiból. Statikus megoldás, a szerverek száma
o N = P/Pmax
o Ahol Pmax maximum energiafelhasználása egységenként
Problémáko Csúcs villamos teljesítmény > átlagos villamos teljesítmény (Pmax > Paverage)o N * (Pmax - Paverage) kihasználatlan általábano Alulteljesít – a számítási teljesítmény N-nel arányoso Az energiafelhasználás nem prediktálható
Biztonságos tartalékképzés Felügyeljük az energia megosztást M > N csomópont között
o M > N• Pl. M = P/Paverage
o MPmax > Po Plimit = P/M
Célo Használjuk több energiát, de maradjunk egy biztonsági határ alatto Csökkentsük az egyes csomópontok energiafelhasználását (és CPU
csúcsteljesítményét)o Növeljük a teljes rendszer számítási teljesítményét
time
powe
r Pmax
Paverage
P(t)time
powe
rPlimitPaverage
P(t)
Pmax
Túltervezés
Előnyöko Kevesebb kihasználatlan energia o Hatékonyabb energiafelhasználás
Nagyobb számítási teljesítmény ugyanolyan energiakorlátok közötto Legyen P (performance) a számítási teljesítmény
o Nagyobb számítási teljesítmény másképpen: MP * > NPo P */ P > N/M vagy P */ P > Plimit/Pmax
time
powe
r Pmax
Paverage
P(t)
time
powe
r
PlimitPaverage
P(t)
Pmax
kihasználatlan
energia
Mikor oldottuk meg a feladatot? Ha P */ P > N/M
vagy P */ P > Plimit/Pmax
Másképpen: a villamos energiafelhasználás csökkenése nagyobb, mint a számítási teljesítménycsökkenése performance (freq)
powe
rap
plica
tion
thro
ughp
ut
P * / P
<
P avera
ge/P max
P * / P
> P av
erage
/P max
performance (freq)
(1)
(2)
Vincent W. Freeh (NCSU)
Visszacsatolás-alapú, adaptív teljesítmény szabályozás
Visszacsatolással szabályozzuk az energiafelhasználásto Adott az energiafelhasználás kívánt értékeo Monitorozzuk az aktuális felhasználásto A CPU beállításait szabályozzuk
Több célo Átlagos energiafelhasználás
o Maximális energiafelhasználás
o Energia hatékonyság: legyen g a leglassabb eszköz, hogy
Vincent W. Freeh (NCSU)
Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
CRAC = Computer Room Air Conditioner
Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
CRAC = Computer Room Air Conditioner
Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
Justin Moore, Ratnesh Sharma, Rocky Shih, Jeff Chase, Chandrakant Patel, Partha Ranganathan (HP Labs)
Kutatási irányok
Adaptív szabályozás A szabályozási algoritmus módosítása
futásidőben, hogy kövesse a rendszer változását
A robosztus szabályozástól abban különbözik, hogy nincs szükség előzetes információra a lehetséges változásokrólo A robosztus szabályozás változások ismert korlátait figyelembe veszi a
szabályozás tervezése soráno Így, ha a változások a korlátok közé esnek, nincs szükség a szabályozás
módosítására
110
Rendszeridentifikáció Matematikai eszközök, algoritmusok arra, hogy
mért adatokból dinamikus modelleket építsünk Egy dinamikus modell a rendszer viselkedését írja
le az idő vagy frekvenciatartományban Legfontosabb kutatás, alkalmazási területek:
111
Fizika Informatika Mérnöki
tudományok
Közgazdaságtan Biológia Kémia Gyógyászat
Modell-alapú adaptív szabályozás
Model Reference Adaptive Controllers (MRAC), vagyModel Reference Adaptive System (MRAS)
Visszacsatolt szabályozás, amely paraméterezhető, így követni tudja a szabályozott rendszer megváltozásait
A valós rendszer kimenetét egy referenciamodell (pl. szimulált modell) kimenetéhez viszonyítjuk
A szabályozás paramétereit ezen modellhiba alapján módosítjuk
A cél, hogy paraméterek konvergáljanak olyan ideális értékekhez, amelyek esetén a szabályozott rendszer válasza megegyezik a modell válaszával
112
MODEL REFERENCE ADAPTIVE CONTROLLERS—MRAC
MODEL IDENTIFICATION ADAPTIVE CONTROLLERS—MIAC
A rendszer identifikációját futásidőben végzi és módosítja a szabályozási algoritmusto Modellstruktúra létrehozása és paraméterbecslés tipikusan a
legkisebb négyzetek módszerével
Cautious adaptive controllers – óvatos adaptív szabályozóko Az aktuális rendszer identifikáció alapján módosítja a szabályozást,
megengedi a bizonytalanságot az identifikációban
Certainty equivalent adaptive controllers – biztosan ekvivalens adaptív szabályozóko Az aktuális identifikációt a valós rendszernek tekinti, nem fogad el
bizonytalanságot 114
MODEL IDENTIFICATION ADAPTIVE CONTROLLERS—MIAC
115
MIAC és MRAC architektúrák alkalmazása
Mindkettő célja, hogy a szabályozón belül módosítsa a szabályozás algoritmusát
MRAC megközelítéso A referenciamodell statikus — adott vagy
előre kiszámított, futásidőben nem változik MIAC megközelítés
o A referenciamodell változik futásidőben, identifikációs algoritmusokat futtat
116
Kutatási kihívások: modellezés Szabályozástervezés során olyan modelleket kell alkotni,
amelyekkel számszerűsíteni lehet a szabályozás hatását a mérhető kimenetekeno A teljesítménytervezés a sorbanállás elmélet sok alkalmazásra létrehozott
modelleket, de nem biztos, hogy QoS jellemzőknek is megfelelő indikátorok
o Bizonyos jellemzők (pl. bizalom) számszerűsítése nehézo Milyen rendszerszintű, end-to-end és lokális QoS indikátorok relevánsak a
felhasználó élménye szempontjából? A modelleknek kompromisszumok (trade-off) tervezésére is
lehetőséget kell adniuk, QoS indikátorok kombinációi alapján QoS indikátorok visszacsatolása alapú szabályozása kihívás sok
alkalmazási területeno A modellek és a QoS metrikák governance-hez, compliance-hez vagy egyed SLA-
khoz kötődnek, különösen SOA rendszerek esetén
Kutatási kihívások: a bizonytalanság kezelése
Amik külső zavarásokat modellezünk (pl. hálózat telítődése) vagy kényszereket kell kielégíteni (pl. kompromisszumok extra-funkcionális követelmények között), bizonytalanságot vezetünk be
Ezért az ilyen dinamikus rendszereknek kezelniük kell ezt a bizonytalanságot, és a rendszernek alkalmazkodnia kell olya környezeti változásokhoz, amelyek nem volt előreláthatóak tervezési időben
A bizonytalanság bevezetés kompromisszumokat von maga után a rugalmasság a biztosítottan jó működösé között
A megfelelőséget folyamatosan ellenőrizni kell futásidőben, nem csupán egyszer, amikor elfogadtuk a rendszertervet
A változó, adaptív rendszerek alapvető feltétele, hogy kezelni tudják a bizonytalanságot és megbízhatósági garanciákat tudjanak adni
118
Kutatási kihívások: szoftver evolúció
Várható változások a közeljövőben:
A szoftverrendszerek kiterjesztése felügyeleti interfészekkel (szenzor, beavatkozó, vö. autonóm egység)
A reverse engineering és transzformációs technológiák segítségével (pl. modell alapú refaktoring) instrumentáció, módosítás
Szoftverrendszerek monitorozása majd szabályozása futásidőben, eddig elképzelhetetlen intelligens, autonóm működéssel
119
Összefoglalás A informatikai rendszerek összekapcsolt, dinamikus hálózatokká
válnak Ahhoz hogy ilyen komplex, folyamatosan változó dinamikus
rendszereket felügyelni lehessen, jóval nagyobb mértékű és pontosabb monitorozás szükséges
Az időben változó rendszerek felügyelet szabályozási körökkelo Explicit szabályozás
Előre látható és előre nem látható változások adaptív kezelése Mindenre kiterjedő, alapos instrumentáció a rendszerek minden
építőelemében Karbantarthatósági és evolúciós előnyei is vannak az ön-adaptív
rendszereknek a statikus, nem adaptívakhoz képest120
Felhasznált és ajánlott irodalom Hellerstein, J.L., Diao, Y., Parekh, S., Tilbury, D.M.: Feedback Control of Computing Systems. John Wiley & Sons (2004) Joseph L. Hellerstein Yixin Diao, Sujay Parekh, Feedback Control of Computing Systems, Columbia University,
https://courseworks.columbia.edu/cms/outview/courseenter.cfm?no=COMSE6998_004_2004_1 IBM Research, Feedback Control of Computing Systems,
http://domino.research.ibm.com/comm/research_projects.nsf/pages/fbcs.index.html Northrop, L., et al.: Ultra-Large-Scale Systems. The Software Challenge of the Future. SEI Tech Report, 134 pages, ISBN
0-9786956-0-7 (2006) http://www.sei.cmu.edu/uls Lewis, G., Smith, D.: SOA and its Implications for Maintenance and Evolution, ICSM FoSM (2008) IBM: An Architectural Blueprint for Autonomic Computing, 4 th Ed. (2006) Huebscher, M.C., McCann, J.A.: A Survey of Autonomic Computing—Degrees, Models, and Applications. ACM
Computing Surveys, 40 (3):7:1-28 (2008) Dobson, S., Denazis, S., Fernandez, A., Gaiti, D., Gelenbe, E., Massacci, F., Nixon, P., Saffre, F., Schmidt, N., Zambonelli,
F.: A Survey of Autonomic Comm.. ACM TAAS 1(2):223-259 (2006) Diao, Y., Hellerstein, J.L., Parekh, S., Griffith, R., Kaiser, G.E., Phung, D.: A Control Theory Foundation for Self-Managing
Computing Systems. IEEE Journal on Selected Areas in Communications 23(12):2213-2222 (2005) Müller, H.A., Pezzè, M., Shaw, M.: Visibility of Control in Adaptive System.
In: 3rd ACM/IEEE International ICSE ULSSIS 2008, pp. 23-26 (2008) Müller, H.A., Kienle, H.M., Stege, U.: Autonomic Computing: Now You See It, Now You Don’t—Design and Evolution of
Autonomic Software Systems. In: De Lucia, A., Ferrucci, F. (eds.): In ISSL, LNCS 5413, pp. 32–54 (2009)
Brun, Y., Di Marzo Serugendo, J., Gacek, C., Giese, H., Kienle, H.M., Litoiu, M., Müller, H.A., Pezzè, M., Shaw, M.: Engineering Self-Adaptive Systems through Feedback Loops, In: Software Engineering for Self-Adaptive Systems, LNCS 5527, pp. 47-69 (2009)
121