1.23k likes | 1.46k Views
Szabályozástechnika alkalmazása az IT infrastruktúra felügyeletben. Paljak Gergely paljak@mit.bme.hu. Tartalom. Bevezetés Szabályozástechnikai alapok (ismétlés) Jelek, modellek PID szabályzók Esettanulmány: AutoTune Esettanulmány: energiafelhasználás felügyelete Kutatási irányok.
E N D
Szabályozástechnika alkalmazása az IT infrastruktúra felügyeletben Paljak Gergely paljak@mit.bme.hu
Tartalom • Bevezetés • Szabályozástechnikai alapok (ismétlés) • Jelek, modellek • PID szabályzók • Esettanulmány: AutoTune • Esettanulmány: energiafelhasználás felügyelete • Kutatási irányok
Visszacsatolt rendszerek 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 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) • 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)
Visszacsatolt szabályozási kör Hellerstein, Diao, Parekh, Tilbury: Feedback Control of Computing Systems. Wiley (2004)
Visszacsatolt szabályozási kör • 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 • Alapjel – Referenceinput • Cél, elvárt kimenet • Hibajel – ControlError • 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
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 szabályozási rendszerek • Irányítási rendszereket digitálisan valósítják meg • Real-time rendszerek folytonos beavatkozó jel diszkrét idejű beavatkozó jel Tartószerv Szabályozó: digitális szabályozó algoritmus Szabályozott szakasz alapjel Mintavevő diszkrét idejű szabályozott jellemző folytonos szabályozott jellemző
Z-transzformáció: Motiváció A C y B y(k) Time (k) k A B C
Z-Transzformáció zaz eltolási operátor z0=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 késleltetés siettetés B C y A C B y(k) Time (k) k A
Z-Transzformáció: pólusok Motiváció A jelek viselkedésének egy jelentős részét a nevező gyökei határozzák meg • 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:
Végérték tétel 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! • Példa
Jelek, rendszerek U(z) Y(z) G
Átviteli függvények • Definíció: • Példa: diszkrét integrátor U(z) Y(z) G(z) • Lépésválasz: • Impulzusválasz:
Az átviteli függvények értelme • Adott bemenetre prediktálható a kimenet • Kiszámítható, hogy stabilis-e a rendszer • Nem stabil rendszerek nem kívánatosak • Az erősítés kiszámítható (steady state gain) • 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 • Alacsonyabb fokú rendszerekkel könnyebb dolgozni • Szimulálható a rendszer viselkedése • Az átviteli függvények komponálhatók • Bonyolult rendszereket is vizsgálhatók
Korlátos jelek 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)
GV stabilitás Tétel:G(z)rendszer GV stabilis akkor és csak akkor, ha minden pólusa az egységkörön belül van.
Blokkdiagramok + Szabályzó Notes Server Notes Sensor - • Sok komponensből álló rendszerek modellezése • Különbözik a flow chartoktól • Flow charts: work flow rendszer (funkcionális) analízise • Blokkdiagram: jelfolyamok szabályozás analízise • A SASO tulajdonságokat vizsgáljuk
Blokkdiagram alapok • 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 D(z) Szabályozott folyamat Szabályozó R(z) U(z) + V(z) Y(z) E(z) G(z) K(z) + + - W(z) H(z) Transzduktor Y(z) = G(z) V(z)
Komplex rendszerek D(z) Szabályozott folyamat Szabályozó R(z) U(z) + V(z) Y(z) E(z) G(z) K(z) + + - W(z) H(z) Transzduktor KI + KP +
Zavarjel és zaj modellezése Zaj N(z) Zavarjel D(z) M/M/1/K + T(z) + Y(z) U(z) V(z) G(z) + + Válaszidő Buffer méret Szabályozó R(z) U(z) K(z) Alapjel Buffer méret • Zavarjel és zaj modellezése • Alapjel és a szabályozó
Kaszkád szabályozás E2(z) E1(z) V(z) U1(z) Y(z) U2(z) R(z) G1(z) G2(z) K2(z) K1(z) + + - -
Kaszkád szabályozás példa Apache szabályozók Apache Server Kívánt válaszidő Mért válaszidő Kívánt kihasználtság Mért kihasználtság MaxClients E2(z) E1(z) V(z) U1(z) Y(z) U2(z) R(z) G1(z) G2(z) K2(z) K1(z) + - + - Apache web szerver szolgáltatási szintjének szabályozása
Adaptív szabályozás Adaptációs séma A(z) U(z) Y(z) R(z) G(z) K(z) E(z) + -
Adaptív szabályozás példa Adaptációs séma RIS = RPCs in System = lekérdezések száma a rendszerben RPC = Remote Procedure Call Mért RIS MaxUsers Kívánt RIS + Szabályozó Notes Szerver Notes Szenzor - Lotus Notes Server szabályozása
Felügyeleti szabályozás Felügyeleti szabályozás = Supervisory control Felügyeleti logika A(z) U(z) Y(z) R(z) G(z) K(z) E(z) + -
Felügyeleti szabályozás példa Felügyeleti logika Szabályozó tervezés, alapjel meghatározás Profit model Rendszer identifikáció 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 Felhasználók Alapjel MaxUsers Szabályozó Befejezett tranzakciók Válaszidő Szerver Log Rendszergazda Szerver
Elosztott szabályozás N R(z) E(z) U(z) Y(z) G(z) K(z) + - Centralizált szabályozás K1(z) U(z) Y(z) N R(z) G(z) E(z) K2(z) + - KN(z) Decentralizált szabályozás
Szabályozás tervezése Start Rendszermodellezés Szabályozó tervezés Blokk-diagramtervezése Szabályozó analízise Átviteli függvény identifikálása és validálása Célok teljesültek? Y Stop Model Ok? Y N N
Példa: Apache szabályozása Timeout reply Close Szerver állapotátmenetek Busy User Think Idle Connect request • Apache session folyamok New Users Close() Timeout() + New conn MaxClients TCP Listen queue Apache Szabályozási cél: CPU és memória használat szabályozása if ((QL > 0) && (idle_servers > 0)) then dequeue();
Példa (folytatás) • A paraméterhangolás hatása A KA hatása Az MC hatása CPU kihasználtság (CPU) Memória kihasználtság (MEM) KeepAlive (KA) MaxClients (MC)
Példa (folytatás) 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 - Apache Server Apache Server C1 + CPU*k ECPU,k KAk CPUk Szabályozó1 MEM*k EMEM,k MCk MEMk C2 Apache Server + - Szabályozó2 SISO: Single Input Single Output MIMO: Multiple Input Multiple Output
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 - C Apache Server + CPU*k ECPU,k KAk CPUk MEM*k EMEM,k MCk MEMk + - Szabályozó
Model struktúrák G11 G11 S + + + + 0 A SISO megközelítés a közös tagokat elhanyagol- hatónak tekinti G21 G21 SISO vs. MIMO MIMO model 0 G12 G12 + + G22 G22 + + S Az átviteli függvények kapcsolata G11 KA CPU Two SISO models G22 MC MEM Apache Szerver
SISO Rendszeridentifikáció 1 2 Empirikus modellalkotás KA Apache Server Apache Server CPU MC MEM • A hangoló paramétereket változtassuk és folyamatosan gyűjtsünk adatokat • Lineáris regresszióval (legkisebb négyzetes hiba) elsőrendű modellt kaphatunk CPU KA Time (s)
Bemenő jelek kiválasztása 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 Time (s) MC KA
SISO Rendszeridentifikáció KA KA CPU CPU G11 G11 + + G21 G21 G12 G12 MC MEM MC MEM G22 G22 + + MC=600 KA=11 MEM CPU MC KA Time (s) Time (s)
SISO modellek illeszkedésének vizsgálata KA KA CPU CPU G11 G11 + + G21 G21 G12 G12 MC MEM MC MEM G22 G22 + + Egyszerre egy bemenet változik Prediktált Prediktált Valós Valós R2 = 0.934 R2 = 0.989
A SISO modellek értékelése mérések alapján KA KA CPU CPU G11 G11 + + NEM NULLA! G21 G21 ~NULLA G12 G12 MC MEM MC MEM G22 G22 + + MC=600 KA=11 CPU MEM MC KA Time (s) Time (s)