15. Operaciona analiza Operacioni modeli računarskih sistema Operaciona analiza Analiza koja se sprovodi pomoću merljivih veličina na konačnom vremenskom intervalu (za razliku od stohastičkih sistema gde je ovaj interval beskonačan). 1
15.1 Operaciona analiza : koncept, promenljive i pretpostavke Promenljive u operacionoj analizi 1. Operacioni model opisuje ponašanje sistema u konačnom vremenskom intervalu T 2. Operacione promenljive mogu biti određene frekvencije (apsolutne veličine) ili proporcije (relativne veličine, relativne frekvencije). U poređenju sa do sada obrađivanim stohastičkim sistemima, frekvencije su pandan intentzitetima (odlazaka, dolazaka...) i drugim apsolutnim veličinama, a proporcije odgovarajućim verovatnoćama u stohastici. 3. Operacione promenljive su opservabilne (mogu se posmatrati, pratiti u vremenu,a može se vršiti i provera određenih đ pretpostavki koje uvodimo toku izvođenja) đ 4. Operacione promenljive su merljive, neke direktno, a neke se izračunaju na osnovu tih merljivih 2
15.2 Osnovne i izvedene promenljive operacionih modela Osnovne operacione promenljive: 1. T vreme posmatranja, konačni interval posmatranja sistema 2. A (arrivals) broj dolazaka procesa u sistem u posmatranom vremenskom intervalu T (broj podnošenja zahteva u intervalu vremena T) 3. B (busy) koliko je trajalo vreme aktivnosti opslužioca tokom vremena T (vreme u kojem je server bio zauzet tokom intervala T) 4. C (completed) broj procesa koji su završeni i napustili sistem u posmatranom intervalu T (broj obrađenih poslova u intervalu T) Izvedene operacione promenljive: 1. Y intenzitet dolaznog (ulaznog) toka procesa Y=A/T 2. X intenzitet izlaznog toka (brzina odlazaka iz sistema, throughput) X=C/T 3. U iskorišćenje U=B/T 4. S srednje vreme servisiranja (prosečno vreme opsluživanja) S=B/C Zakon iskorišćenja: X S=(C/T) (B/C)=B/T=U ( / ) / 3
15.2 Operaciona analiza : pretpostavke Pretpostavke: 1. OSB (one step behaviour) u jednom trenutku se dešava samo jedan događaj (nema istovremenih događaja, tj. odlazaka/dolazaka) 2. JFB (job b flow balance) ) - balans toka poslova, pretpostavke t o homogenosti J 1 J(r)=(J 1 (t),j 2 (t),,j k (t)) poslovi cirkulišu kroz mrežu sa k servisnih centara, saglasno frekvencijama prelaska sa servera na server J 2 Ako na intervalu posmatranja važi da je broj poslova na J(t) početku isti kao na kraju kažemo da imamo flow balance, odnosno da su ulazni i izlazni intenziteti tokova jednaki J(0)=J(T) 0 A=C Y=X T t 4
15.2 Operaciona analiza: pretpostavke Pretpostavke o homogenosti: 3. HAT (homogeneous arrival time) vreme između dolazaka je nezavisno od trenutnog stanja sistema, tj. od toga koliko trenutno ima posla u sistemu, Y f(j(t)) 4. HD (homogeneous device) resurs je homogen ukoliko brzina servisiranja ne zavisi od broja zahteva u samom tom servisnom centru. 5. HST (homogeneous service time) brzina svih servisnih centara je nezavisna od broja poslova u sistemu S f(j(t)) (intenzitet opsluživanja ne zavisi od stanja sistema) 6. HR (homogeneous routing) ako su proporcije prelazaka sa servera na server konstantne, onda kažemo da imamo homogeno rutiranje 5
15.3 Operaciona analiza za jedan opslužni centar Pretpostavka je da zahtevi A,B,C,,N prispevaju u sistem na sledeći način: JOB A B C D E F G H I J K L M t dol (s) 1 2 3 6 7 8 10 12 13 23 24 26 27 t opsluz (s) 3 5 3 2 1 2 1 1 1 2 3 1 2 Stanje u kome u sistemu ima n poslova se označava sa J(t)=n, iz tog stanja moguća su samo 2 prelaza:j(t)=n+1 (dolazak jednog) i J(t)=n-1 (odlazak jednog) posledice OSB-a (one step behaviour ) W B - vreme čekanja posla B u sistemu S B - vreme opsluživanja posla B u sistemu R B -ukupno vreme boravka posla B u sistemu 6
15.3 Operaciona analiza za jedan opslužni centar Neke frekvencije u ovom sistemu: A(n) broj dolazaka kada u sistemu ima n poslova (broj prelazaka iz n u n+1) C(n) broj odlazaka kada u sistemu ima n poslova (broj prelazaka iz n u n-1) T(n) ukupno vreme tokom intervala T u kojem u sistemu ima n poslova Pretpostavimo da je 0<J(t)<N gde je N maksimalan broj poslova koji se nadje u sistemu tokom intervala posmatranja i tada je: A(N)=C(0)=0 (kada ima maksimalan broj niko neće doći) Ukupan broj prispelih zahteva: A=A(0)+A(1)+ +A(N-1) Ukupan broj odlazaka: C=C(1)+C(2)+ +C(N) Ukupno vreme posmatranja: T=T(0)+T(1)+ +T(N) T(0)+T(1)+ +T(N) Stanje zauzetosti sistema: B=T-T(0)=T(1)+T(2)+ +T(N) 7
15.3 Operaciona analiza za jedan opslužni centar Proporcije (relativne frekvencije): Globalna frekvencija stanja (globalna raspodela):p(n)=t(n)/t, n=0,1,,n. 01 T(n) je deo vremena tokom koga u sistemu ima N zahteva. Raspodela dolazećih zahteva (koji deo od dolazećih zahteva dolazi u trenutku kada je u sistemu n poslova): p A (n)=a(n)/a, n=0,1,,n-1 Raspodela odlazećih zahteva (deo zahteva koji odlazeći ostavljaju n poslova u sistemu): p C (n)=c(n+1)/c, n=0,1,,n-1 8
15.3 Operaciona analiza za jedan opslužni centar Izvedene veličine po stanjima: Prosečni intenzitet prispeća zahteva kada je u sistemu n procesa: Y(n)=A(n)/T(n), T(n)>0, n=0,1,,n-1 Srednje vreme servisiranja (obrade) poslova kada je u sistemu n procesa: S(n)=T(n)/C(n), C(n)>0, n=1,2,,n Deo vremena tokom koga je sistem besposlen (relativni deo u odnosu na T): p(0)=t(0)/t=(t-b)/t=1-b/t=1-u=1-s X Deo poslova koje sistem zatiče u stanju n: p A (n)/p(n)=(a(n)/a)/(t(n)/t)= =(A(n)/T(n)) (T/A)=Y(n) 1/Y=Y(n) /Y 9
15.3 Operaciona analiza za jedan opslužni centar Srednji intenzitet prispeća Y: A 1 N-1 N-1 A(n) T(n) N-1 Y= = A(n) = = Y(n) p(n) T T n=0 n=0 T(n) T n=0 Srednje vreme servisiranja S: B 1 N N T(n) C(n) N S = = T(n) = = S(n) p C (n-1) C C n=1 n=1 C(n) C n=1 Intenzitet izlaznog toka X: C 1 N N C(n) T(n) N p(n) X= = C(n) = = T T n=0 n=0 T(n) T n=0 S(n) 10
15.3 Operaciona analiza za jedan opslužni centar Srednje vreme odziva R (vreme boravka zahteva u sistemu): R A +R B + +R N R= C R je srednja vrednost individualnih vremena odziva. Može se računati samo za kompletno opservabilne poslove (one za koje znamo kada su došli i otišli) Za kompletno opservabilne sisteme, C je jednako ukupnom broju poslova koji se pojavljuju. W (working time) - efektivni rad sistema W=R C, R- srednje vreme odziva jednog posla, C- broj kompletiranih poslova Površina ispod dijagrama, daje job sekunde, odnosno W J(t) T 0 N W = J() t dt = n T( n) n= 1 W T t W 1 N N T(n) N J= = n T(n) = n = n p(n) Prosečan broj poslova u sistemu: T T n=1 n=1 T n=1 T T T 11
15.3 Operaciona analiza za jedan opslužni centar Little-ova formula u operacionoj analizi: W R C J= = =R X T T Opšti zakon vremena odziva: W 1 N N T(n) C(n) N R = = n T(n) = n = n S(n) p C (n-1) C C n=1 n=1 C(n) C n=1 12
15.4 Sistemi sa izbalansiranim tokom i operaciona formula rođenja i smrti Pretpostavke: 1. JFB (job flow balance, sistem sa izbalansiranim tokom) : J(0)=J(T) A=C, X=Y 2. OSB ( n n+1 ili n n-1): Tada je : A(n-1)-C(n)=0 A(n-1)=C(n) p A (n-1)=p C (n-1) A(n-1)/A=C(n)/C -1 Za nebalansiran sistem (A C, J(0) J(T)) J(T)) važi da je: A(n-1)-C(n)= ) 0 1 A/C 1, A(n-1)/C(n) 1, pa(n)/pc(n) 1 Čak i ako ne važi JFB, a interval posmatranja je veliki, razlika A(n-1)-C(n) postaje zanemarljiva (teži nuli). 13
15.4 Sistemi sa izbalansiranim tokom i operaciona formula rođenja i smrti Za izbalansirani sistem vazi: p(n) T(n)/T T(n) C(n) A(n-1) = = / p(n-1) T(n-1)/T T(n-1) C(n) A(n-1) T(n) A(n-1) C(n) C(n) = = S(n) Y(n-1) = S(n) Y(n-1) C(n) T(n-1) A(n-1) A(n-1) p(n) = p(n-1) S(n) Y(n-1), n=1,2,,n p A (n) A(n) T(n) A(n) C(n) = = = S(n) Y(n) p A (n-1) A(n-1) C(n) T(n) A(n-1) p A (n) = p A (n-1) S(n) Y(n) n=1,2,,n-1 14
15.4 Sistemi sa izbalansiranim tokom i operaciona formula rođenja i smrti Formula rođenja đ i smrti: p(1)=s(1) Y(0) p(0)... p(n)=s(n) Y(N-1) p(n-1) n p(n)=p(0) (0) S(i) Y(i-1) i=1 p(0)+p(1)+ +p(n)=1 1 p(0)= N n 1+ S(i) Y(i-1) n=1 i=1 n S(i) Y(i-1) i=1 p(n)= N n 1+ S(i) Y(i-1) U odnosu na raniju formulu FRS, S(i) odgovara 1/μ i, a Y(i) odgovara λ i n=1 i=1 15
15.4 Sistemi sa izbalansiranim tokom i operaciona formula rođenja i smrti Opšti slučaj č FRS se odnosi na posmatranje sistema sa izbalansiranim i i tokom kada je J(0)=J(T)=M, gde je 0 M N,, a ne samo kada je J(0)=J(T)=0 U trenutku t, 0 t T, važi: 0 M J(t) N 1 p(0)= N n 1+ S(i) Y(i-1) n=m+1 i=m+1 Oblik formule za slučaj 0 M J(t) N: n i=m+1 S(i) Y(i-1) p(n)= N n 1+ S(i) Y(i-1) n=m+1 i=m+1 16
15.6 Balansiranje poslovima na diskovima (neekvivalentni paralelni serveri) x x1 s1 x Imamo dva razlicita (nebalansirana) diska x2 R S2 Vršimo raspoređivanje tokova x 1 i x 2 tako da izbalansiramo sistem Različiti mogući uslovi balansiranja: 1. srednje vreme odziva što manje x - intenzitet toka, R - vreme odziva u okviru podsistema 2. iskorišćenja servera međusobno jednaka Prvi kriterijum - cilj nam je R min : R=S/(1-U), R 1 =S 1 /(1-U 1 ), R 2 =S 2 /(1-U 2 ) x 1 +x 2 =x x 2 =x-x 1 Deo poslova koji se uputi na granu 1 (x 1 /x) ima odziv R 1, a deo koji se uputi na granu 2 (x 2 /x) ima odziv R 2 17
15.6 Balansiranje poslovima na diskovima (neekvivalentni paralelni serveri) Ukupno vreme odziva: X 1 X 2 1 S 1 X 1 S 2 X 2 1 U 1 U 2 R= R 1 + R 2 = [ + ] = [ + ] 1- U 1 besposlenost prvog diska S 1 vreme opsluživanja prvog X X X 1-S 1 X 1 1-S 2 X 2 X 1-U 1 1-U 2 dr/dx 1 =0 ili dr/dx 2 =0 pa imamo: 1 S i [ - R ] = 0 X (1-S i X i )² s = R = 1 2 2 2 ( 1 s1 X1) ( 1 s2 X2) s Uslov balansa za minimalni odziv: S 1 1-U 1 = = r S 2 1-U 2 Onaj disk koji ima veće vreme opsluživanja bi trebalo da je više besposlen (onaj drugi je usko grlo) 18
15.6 Balansiranje poslovima na diskovima (neekvivalentni paralelni serveri) 1- r +r S 2 X 2 S 1 X-1+r 1 1 X 1 X 2 s1 X 1 =, X 2 =X-X 1 = R min = R 1 + R 2 = S 1 +r S 2 S 1 +r S 2 1 s1 X1 X X ( ) 2 19
15.6 Balansiranje poslovima na diskovima (neekvivalentni paralelni serveri) Drugi kriterijum: ij U 1 =U 2 - iskorišćenost išć tje istovetna: t Zakon iskorišćenja: S 1 X 1 =S 2 X 2, X 1 +X 2 =X X 1 =X S 2 /(S 1 +S 2 ) X 2 =X S XS 1 /(S 1 +S 2 ) Vreme odziva: U 1 =U 2 =S 1 X 1 =S 2 X 2 X 1 X 2 1 S 1 X 1 S 2 X 2 1 2U 1 R= R 1 + R 2 = [ + ] = [ ] X X X 1-S 1 X 1 1-S 2 X 2 X 1-U 1 R=2 U 1 /((1-U 1 ) X) npr. x 1 =15/sec x 2 =25/sec U 1 =U 2 =0.375 R=0.03s R>R min Postoji i treći kriterijum: intenziteti tokova su istovetni: x 1 =x 2 = x/2 (trivijalno) 20
15.7 Operaciona analiza otvorenih mreža x0 V1 V2 Vk x1 x2 xk S1 S2 S3 x1 x2 xk q1j q2j qkj x0 q ij V i R i S i Frekvencija prelaska sa i-tog servera na j-ti Srednji broj poseta i-tom servisnom centru Vreme odziva (i=1,2,...,k) Srednje vreme servisiranja resursa k D i=v i S i i srednja potražnja za resursom i U i =S i x i zakon iskorišćenja (iskorišćenje i-tog opslužioca) n i =x i R i Little-ova formula (srednji broj poslova u i-tom serveru) x i =V i x 0 zakon prinudnog toka (intenzitet toka kroz i-tu granu) 1. Odnos između iskorišćenja: U i =S i x i =V i S i x 0 =D i x 0 iskorišćenost i-tog opslužnog centra U i /D i =const U 1 U 2 U k x 1 x 2 x k U i D i x 0 = = = = = = = = =, ( i, j ) D 1 D 2 D k V 1 V 2 V k U j D j 21
15.7 Operaciona analiza otvorenih mreža 2. Ukupno vreme odziva sistema: R=V 1 R 1 +V 2 R 2 + +V k R, lim N p(n)=0, k R i =S i /(1-U i ) N D 1 D 2 D k D 1 D 2 D k R= = = = = = = = 1-U 1 1-U 2 1-U K 1-D 1 x 0 1-D 2 x 0 1-D K x 0 Specijalan slucaj: R min =D 1 +D 2 + +D k, U i =0 (i=1, 2,...,k) (svakom od sistema se neometano pristupa, bez čekanja u redovima) 3. Broj poslova u sistemu n n=x 0 R = x 0 (V 1 R 1 +V 2 R 2 + +V k R k )=x 1 R 1 +x 2 R 2 + +x k R, n = n k 1 +n 2 + +n k 22
15.8 Operaciona analiza otvorenih mreža sa centralnim serverom x0 x1 q10 x0 S 1 S 2 S 3 S k q12 q13 q1k q 10 +q 12 + +q 1k =1 x 0 intenzitet ulaznog i izlaznog toka q 10 frekvencija izlaska x 1 intenzitet toka kroz server br. 1 (centralni server) x 0 =x 1 q 10 x 1 = x 0 + x 2 + + x k (x 2 + +x k ) intenziteti tokova kroz povratne grane x j =x 1 q 1j j=2,,k x 1 =x 0 /q 10 x j =q 1j x 0 /q 10, j=2,,k x 1 /x 0 =1/q 10 =V 1 broj poseta centralnom serveru V 0 =1 (proces samo jednom izađe) x j/x 0=q 1j/q 10=V j /V 0 = V j, j=2,,k V 1 =1+V 2 +V 3 + +V k q 10 =1/V 1 q 1j = V j /V 1 23
15.9 Operaciona analiza zatvorenih mreža Operacionom analizom mogu se analizirati i zatvorene mreže, kao i interaktivni sistemi (i to na skoro identičan način). Analiza se vrši analogno dosadašnjoj analizi zatvorenih mreža. Pretpostavke i terminologija: gj 1. N identičnih programa u sistemu (odnosno N terminala ako je sistem interaktivan) 2. K broj resursa sa nepromeljvom brzinom opsluživanja 3. V 1,V 2,V 3,,V k prosečni brojevi poseta po resursima (ako se radi o interaktivnom sistemu to je broj poseta pojedinom resursu od generisanja zahteva do povratka terminalu) 4. S 1,S 2,S 3,,S k srednje vreme servisiranja za svaki od k resursa 5. x 1, x 2, x 3,, x k protok kroz svaki od k resursa 6. Z vreme razmišljanja terminala (ako je sistem interaktivan) 7. r 1,r 2,r 3,,r k vreme odziva za svaki od k resursa 8. R vreme odziva celog sistema (R= V 1 r 1 +V 2 r 2 +V 3 r 3 + +V k r k ) 9. Q 1,Q 2,Q 3,,Q k dužina reda za svaki od k resursa 24
15.9 Operaciona analiza zatvorenih mreža Srednje potražnje za resursima od strane jednog procesa iznose: D i =V i S i tražnje za pojedinim serverima u jedinicama vremena Bjuzenova rekurzija q(i,0)=0, q(0,j)=1, q(i,j)= q(i,j-1)+d j q(i-1,j) - Bjuzenova formula (D j potražnja za serverom j u sekundama) U j =D j G(n-1)/G(n) U j =x j S j x j =V j G(n-1)/G(n), D j =V j S j j=1,2,,k - protok kroz j-ti centar x=x j /V j =U j /D j =G(n-1)/G(n) 25
15.9 Operaciona analiza zatvorenih mreža Prosečna dužina reda na j-tom resursu (u j-tom servisnom centru) N N i G( N i) i G( N i) ( ) 1 ( ) i= G N i= 2 G( N) ( ) D N j G( N 1 ) i 1 G ( N 1 ( i 1) ) ( ) j G N i= 2 G( N 1) ( ) D ( 1 N j G N ) i G( N 1 i) ( ) j G N i= 1 G( N 1) ( ) ( N i G( N 1 i) ) i= 1 G( N 1) Q ( N) = D = U N + D = j j j j = U N + D = j = U N + D = j ( ) ( 1 ( 1) ) = U N + U N D = U N + Q N j j j j j Nema poslova nema reda Q j (0)=0 Dužine reda za n>0 se računaju po gore izvedenoj rekurzivnoj formuli: ( ) ( ) Q ( N ) = U N 1 + Q ( N 1) j j j 26
15.9 Operaciona analiza zatvorenih mreža Vreme odziva j-tog servera r j = Q j (N) / x j (N) = U j (N) [1+Q j (N-1)] / x j (N) -- vreme odziva pri jednom prolasku kroz j-ti servisni centar Kako je U j (N) / x j (N) = S j (N), tada je r j (N) = S j (N) [1+Q j (N-1)] Ako je vreme opsluživanja konstantno : (ne zavisi od N) r j (N)=S j [1+Q j (N-1)] 27
15.9 Operaciona analiza zatvorenih mreža MVA algoritam Q(j)=0, j=1,2,,k (broj poslova na svakom serveru je 0 ako u celom sistemu ima 0 poslova) FOR i:=1 TO N DO BEGIN r j (i):= S j [1+Q j (i-1)], (j=1,2,,k) R(i):= V 1 r 1 1 (i)+v 2 r 2 2 (i)+ +V k r k k (i) x(i):= i/(r(i) +Z) (+z ako je u pitanju interaktivni sistem) x j (i):=v j x(i), (j=1,2,,k) U j (i):=s j x j (i), (j=1,2,,k) Q j (j):=x j (i) r j (i), (j=1,2,,k) END 28
15.9 Operaciona analiza zatvorenih mreža Ovo moze da se radi samo ukoliko je poznato: S 1,S 2,S 3,,S k V 1,V 2,V 3,,V k jer je: r j (i):= S j [1+Q j (i-1)] R(i):= V 1 r 1 (i)+v 2 r 2 (i)+ +V k r k (i) Međutim, ako ne znamo vremena servisiranja S j ni broj jposeta pojedinačnom serveru V j, a znamo samo potražnje D 1,D 2,D 3,,D kao proizvode D k, j =Vj S j takođe možemo primeniti MVA algoritam, imajući u vidu da je R j (i)=d j [1+Q j (i-1)] gde je R j (i) ukupno vreme u j-tom servisnom centru za stepen multiprogramiranja i: k R j = r j (i) i=1 29
15.9 Operaciona analiza zatvorenih mreža Skraćeni MVA: Q j (0) := 0; FOR i := 1 TO N DO za j = 1,..., k R j (i) := D j * (1+Q j (i-1)); za j = 1,..., k R(i) := R 1 (i) + R 2 (i) +...+ R k (i); X(i) := i/(r(i)+z); U j (i) := D j * X(i); za j = 1,..., k Q j (i) := X(i) * R j (i); za j = 1,..., k END; 30
15.9 Operaciona analiza zatvorenih mreža Za interaktivni sistem kritičan broj terminala, odnosno za neinteraktivni sistem kritični stepen multiprogramiranja se računa kao: k D i i=1 N krit. = max(d i i) neinteraktivni (kritičan stepen multiprogramiranja) k z+ D i i=1 N krit. = max(d i ) interaktivni (kritičan broj terminala) 31
Kraj Hvala na pažnji! 32