Interaktivni sistemi nastavak Zadatak Jednoprocesorski računar obrađue smesu programa koi dominantno koriste procesor. Kada nema aktivnih terminala obrada smese trae 40s. Kada se u sistem vežu dva terminala, vreme obrade iste smese programa trae 80s. Obrada terminalskih zahteva uvek ima prednost nad paketnom obradom smese programa. a) Koliki e kritični bro terminala u ovom sistemu? b) Pretpostavimo da se brzina procesora udvostruči. Koliko će tada iznositi kritičan bro terminala u ovom sistemu? Koliko će traati vreme obrade smese programa ako e aktivno 0,,, 3, 4, 5, 6 ili 7 terminala? Rešene U opštem slučau, ako sistem ima n terminala, diagram stana sistema prikazan e na slici: Stane i predstavla stane u kome e aktivno i terminala, odnosno preostalih n-i terminala razmišla i može da generiše zahtev. Verovatnoća da su svi terminali neaktivni: n = + nρ+ n( n ) ρ +... + n! ρ p ( n) 0 a) Ako su u sistem vezana dva terminala, tada e: = + ρ+ ρ p () 0 Obrada programa bez terminala trae vreme T, a obrada sa terminala trae T. To znači da će u vremenskom intervalu T procesor biti slobodan za paketnu obradu T vremena. Sa druge strane, vreme u koem e procesor e slobodan za paketnu obradu dobia se kao: p () T 0 Zbog toga važi: p0() T = T p0() = = p () + ρ+ ρ = 0
± 3 + = = ρ ρ 0 ρ, 3 ρ = (drugo rešene e negativno, pa ne dolazi u obzir) Kritičan bro terminala dobiamo kao: θ θ = ( n* ) s=> n* = +, gde e θ sredne vreme razmišlana korisnika (terminala), s a s sredne vreme opsluživana generisanog zahteva. θ μ n* = + = + λ = + = + s λ ρ μ n* = + ρ n* = 3.73 = 3 b) Ako e processor duplo brži tada e vreme servisirana od strane procesora duplo kraće: s s = μ = = = μ s s λ λ ρ ρ = = = = 0.83 μ μ Novi kritičan bro terminala iznosi: n* = + = 6.464 ρ n * = 6 Ako nema terminala u sistemu, tada će zbog dvostruko bržeg procesora obrada traati dvostruko kraće, t. T 0 =T/=0s Ako e u sistemu edan terminal, tada će obrada traati vreme T, pri čemu važi T p () = T, pa e T = T Analogno e: 0 0 0 p0 ()
T p () = T, pa e T = T 0 0 0 p0() T p (3) = T, pa e T = T 3 0 0 3 0 p0(3) T p (4) = T, pa e T = T 4 0 0 4 0 p0(4) T p (5) = T, pa e T = T 5 0 0 5 0 p0(5) T p (6) = T, pa e T = T 6 0 0 6 0 p0(6) = + ρ =.83 p () 0 ρ = + = p () p ().433 0 0 3ρ = + = p (3) p ().786 0 0 4ρ = + = p (4) p (3).308 0 0 5ρ = + = p (5) p (4) 3. 0 0 6ρ = + = p (6) p (5) 4.47 0 0 T = T =.83 0s= 3.66s 0 p0 () T = T =.433 0s= 8.66s 0 p0 () T = T =.786 0s = 35.7s 3 0 p0(3) T = T =.308 0s = 46.6s 4 0 p0(4) T = T = 3. 0s = 6.4s 5 0 p0(5) T = T = 4.47 0s = 88.34s = min 8.34s 6 0 p0 (6) Primetimo da vreme obrade brzo raste sa porastom broa terminala. 3
Za 7 terminala ne možemo da primenimo isti postupak, er e 7 veće od kritičnog broa terminala. Teoretski, za n>n*, procesor nikad neće biti slobodan, uvek će biti zauzet interaktivnom obradom, pa vreme potrebno da za obradu smese programa teži beskonačnosti. Zadatak U nekom interaktivnom ednoprocesorskom sistemu, kada e priklučeno dva terminala mane nego što iznosi kritičan bro terminal za ta sistem (n =n*-), iskorišćene procesora iznosi 6/7. a) Za koe vreme će se u ovom sistemu obaviti niskoprioritetna obrada koa se vrši zaedno sa visokoprioritetnom (interaktivnom) obradom, ako e aktivno n =n*- terminala. Bez prisustva terminala, ista niskoprioritetna obrada se obavi za vreme T. b) Koliko iznosi iskorišćene procesora i sredne vreme odziva za bro terminala n =n*-, ako e sredne vreme razmišlana terminala 0sec ( θ = 0sec )? Rešene a) n = + nρ + n( n ) ρ +... + n! ρ p0( n) nρ = + p ( n) p ( n ) 0 0 Imaući u vidu da e n =n*-, n =n*-, možemo iskoristiti rekurzivnu vezu: n ρ n ρ = + = + p ( n ) p ( n ) p ( n ) 0 0 0 S obzirom da e iskorišćene procesora u prvom slučau 6/7, dobiamo verovatnoću da e procesor slobodan: U = p0( n) p0( n) = U = 7 n ρ = + = + n ρ p n p n 7 0( ) 0( ) S obzirom da e n =n*-, a n* = +, imamo da e ρ n = n* = ρ pa e: 4
= + 7 n ρ = + 7= 8 p0( n) p0( n) = 8 Ako vreme za koe treba da se obavi niskoprioritetna obrada u prisustvu terminala označimo sa T x, tada e: Tx p0( n) = T Tx = T = 8 T p ( n) b) 0 7 Iskorišćene procesra: U = p0( n) = 8 Vreme odziva se dobia iz ednačine: ( r+ θ ) U = n s (+ ) s n s ( n* ) s ( n* ) s ρ r θ θ θ θ 7 7 7 7 8 8 8 8 = = = = = 8 s 8 s 0 = θ = θ = θ = sec =.4sec 7 ρ 7 s 7 7 θ 5
MVA analiza (Mean Value Analysis) analiza pomoću srednih vrednosti Ova metod odnosi se na zatvorene mreže, koe mogu biti bez terminala, ili interaktivne sisteme (sa terminalima). Postoe, za svaki od ova dva slučaa, dve variante algoritma.. Za interaktivni sistem: a) Poznato e: bro terminala (N) bro opslužilaca (K) za svaki opslužilac, sredne vreme opsluživana (S, S,..., S k ) po svakom zahtevu koi terminal izda, prosečan bro poseta svakom od opslužilaca (V, V,..., V k ) vreme razmišlana terminala Z. Može se izračunati: a) protok (X ) i iskorišćene (U ) svih opslužilaca, b) sredne vreme odziva (čekane + opsluživane) za svaki opslužilac pri edno poseti opslužiocu (r ). Oznaka R se koristi za ukupno vreme pri svim posetama tom opslužiocu. c) Vreme odziva R e ukupno vreme od trenutka izdavana zahteva terminala do trenutka kada e zahtev opslužen, i počine novi ciklus razmišlana. d) Nazad, efikasnost sistema X dobia se iz LITTLE-ove formule ( X ( i) = i ( R( i) + Z) ). e) Q su pomoćne veličine (prosečan bro zahteva u servisnom centru). Algoritam za izračunavane: Q (0) := 0; za =,..., k FOR i := TO N DO r (i) := S * (+Q (i-)); za =,..., k R(i) := V * r (i) + V * r (i) +... + V k * r k (i); X(i) := i/(r(i)+z); X (i) := V * X(i); U (i) := S * X (i); Q (i) := X (i) * r (i); za =,..., k za =,..., k za =,..., k END; 6
b) Ako nie poznat bro poseta poedinom servisnom centru, već samo proizvod D = S V, koi predstavla potražnu za tim servisnim centrom, onda se može primeniti redukovana varianta algoritma: Q (0) := 0; za =,..., k FOR i := TO N DO R (i) := D * (+Q (i-)); za =,..., k R(i) := R (i) + R (i) +... + R k (i); X(i) := i/(r(i)+z); U (i) := D * X(i); Q (i) := X(i) * R (i); za =,..., k za =,..., k END; ( Ovde se ne dobia r (i) odziv po poseti, er ne znamo bro poseta, ali se dobia ukupno vreme provedeno u svakom servisnom centru, iskorišćene svakog opslužioca, kao i globalni pokazateli X i R ) Za interaktivni sistem važi: N CRIT Z + Di i= =, max( D ) k i gde e N CRIT kritičan bro terminala.. Za sistem bez terminala: Zamislimo zatvorenu mrežu sa fiksnim broem poslova u no, t. stepenom multiprogramirana N. Zamislimo sada da e edna grana mreže presečena, i da posao ulazi u mrežu u tački preseka čim e neki drugi posao ispunio svou potražnu za poedinim resursima i izašao iz mreže. Tada su poznati isti parametri (osim Z, koe ima smisla samo za sistem sa terminalima) kao u slučau. i mogu se izračunati iste izlazne veličine. Algoritmi su isti, edina razlika e što umesto X ( i) = i ( R( i) + Z) treba da bude X ( i) = i R( i), t. radi se kao da e Z = 0. Kritičan stepen multiprogramirana e tada: N CRIT k Di i= = max( D ) i 7
Zadatak Multiprogramski računar sa ednim procesrom i 4 diska obrađue n programa. Svaki program ima prosečnu ukupnu potražnu koa iznosi 0. sec procesorskog vremena i 0. sec aktivnosti svakog od diskova. Odrediti sredne vreme odziva i iskorišćene procesora za stepen multiprogramirana od do 8. Rešene: Sistem e bez terminala (sluča, zatvorena mreža). Nie poznat poedinačni bro poseta ni poedinačna prosečna vremena servisirana resursa, ali e poznata ukupna potražna (sluča pod b). Izračunate veličine su prikazane tabelarno: i R (i) = D (i)[+q (i-)] R(i) = ΣR X(i) = i/r(i) Q (i) = X(i)R (i) U p = =,,..., 5 =,,..., 5 D p X(i) 0. 0. 0. 0.4..6666... 0.4 0.3333... 3 0.8.4.4 0.6 0.48 4 0.3.6.5 0.8 0.5 5 0.36.8.7777... 0.5555... 6 0.4 3. 0.6 7 0.44. 3.88....4 0.6363... 8 0.48.4.3333....6 0.6666... Vreme odziva, dakle, iznosi R=.4sec. 8
Zadatak Multiprogramski računar ima sistemski disk i dva korisnička diska. Sredne vreme pristupa disku iznosi S d = 0 ms, a sredne vreme opsluživana procesora iznosi S p = 5 ms. Svaki program pristupa 000 puta svakom od korisničkih diskova. Slobodni kapacitet operativne memorie e 00 KB, a adresni prostor svakog programa iznosi 600 KB. Kada e stepen multiprogramirana n veći od, onda samo deo adresnog prostora programa može da stalno bude u memorii, a ostatak se po potrebi dinamički dohvata sa sistemskog diska. Za svaki KB adresnog prostora programa koi e van operativne memorie potrebna su 4 pristupa sistemskom disku. a) Prikazati tabelu potražne za svakim od resursa za sledeći bro programa: n =,, 3, 4, 5, 6. b) Pri kom stepenu multiprogramirana navedeni računar postiže maksimalnu produktivnost? Rešene: a) Oznake resursa (indeksi): - procesor, - sistemski disk, 3 i 4 - korisnički diskovi Sa M IN e označen deo programa u memorii, a sa M OUT deo programa na sistemskom disku. M OM e kapacitet operativne memorie. V (n) e bro poseta sisteskom disku od strane ednog programa za stepen multiprogramirana n. n = M IN = 600 KB, M OUT = 0 V () = 0 n = M IN = 600 KB, M OUT = 0 V () = 0 n = 3 M IN = M OM /3 = 400 KB, M OUT = 00 KB V (3) = 4 00 = 800 n = 4 M IN = M OM /4 = 300 KB, M OUT = 300 KB V (4) = 4 300 = 00 n = 5 M IN = M OM /5 = 40 KB, M OUT = 360 KB V (5) = 4 360 = 440 n = 6 M IN = M OM /6 = 00 KB, M OUT = 400 KB V (6) = 4 400 = 600 9
Za model sa centralnim serverom: V = + V + V + V S = 0. 005 s 3 4 V3 = V4 = 000 ; V3 + V4 = 000 S = S3 = S4 = 00. s V ()= + 0 + 000 = 00 V ( ) = + 0 + 000 = 00 V ()= 3 + 800 + 000 = 80 V ( 4) = + 00 + 000 = 30 V (5) = + 440 + 000 = 344 V ( 6) = + 600 + 000 = 360 n D = S V D = S V D 3 = D 4 = S 3 V 3 0.005 0 0 0.005 0 0 3 4.005 6 0 4 6.005 4 0 5 7.05 8.8 0 6 8.005 3 0 b) Osnovni MVA algoritam podrazumeva da V i D ne zavise od n, što ovde nie ispuneno. U tom slučau, za svako n treba uzeti nemu odgovarauće V (odnosno D), pa uraditi celu MVA analizu od početka (za i =,..., n), a u konačnu tabelu rezultata ubaciti samo posledni (n-ti) red. Računane produktivnosti X za n = i n = pomoću MVA algoritma (ova dva slučaa možemo posmatrati istovremeno, er im e bro poseta (V) isti): V = 00, V = 0, V3 = V4 = 000 r = S ( + Q ( i )), R = V r + V r + V r, X 3 3 i =, X = VX, Q = X r R i r r r 3 = r 4 R X X X X 3 = X 4 Q Q Q 3 = Q 4 0.005 0.0 0.0 50.005 0.0 40.0 0 0 0. 0 0.4 0.006 0.0 0.0 68.006 0.09 Računane X za n = 3 (uzimaući V-ove za n = 3): V = 80, V = 800, V3 = V4 = 000 0
i r r r 3 = r 4 R X X X X 3 = X 4 Q Q Q 3 = Q 4 0.005 0.0 0.0 70.005 0.04 40.0.48 4.85 0. 0.9 0.68 0.006 0.05 0.06 88.806 0.03 63.08 8.07.5 0.378 0.450 0.586 3 0.007 0.09 0.03 06.807 0.08 Dakle, X kreće da opada već pri n = 3 maksimalna produktivnost se postiže pri n=. Da smo nastavili sa ovim postupkom, dobili bi smo konačnu tabelu: n X 0.0 0.094 3 0.083 X 0.03 0.0 0.0 X max 4 0.08 0 3... n 5 0.08 6 0.078
Zadatak 3 Interaktivni računarski sistem ima 5 terminala čie sredne vreme razmišlana iznosi 0 sec. Tokom svake interaktivne transakcie vrši se 40 pristupa diskovima. Za svaki pristup disku, potroši se 0 ms procesorskog vremena i 5 ms vremena disk kanala. Bro diskova e 5, a sredne vreme pristupa i prenosa podataka za disk iznosi 5 ms. Postoi samo edan disk kanal, a svim diskovima pristupa se sa istom verovatnoćom. a) Odrediti iskorišćene svih resursa, kao i vreme odziva i intenzitet toka procesa kroz resurse ovog sistema. b) Koliko se može povećati kritični bro terminala dodavanem diskova, a koliko ubrzavanem procesora? Rešene: a) Oznake resursa (indeksi): - procesor, - kanal, 3 - disk Z = 0 s V = 40, V = 40, V 3 = 40 5 = 8 D = 40 0 ms = 0.4 s, D = 40 5 ms = 0. s, D = 40 3 5 5 ms = 0. R () i = D () i ( + Q ( i )); Q () 0 = 0 s Ri () = R() i, Xi () = i Z + R() i Q () i = X() i R () i, U () i = X() i D, X () i = V X() i Tabelarni prikaz veličina: i R R R 3 R X Q Q Q 3 U U U 3 X X X 3 0.400 0.00 0.00.600 0.086 0.034 0.07 0.07 0.034 0.07 0.07 3.448 3.448 0.690 0.44 0.03 0.03.634 0.7 0.07 0.035 0.035 0.069 0.034 0.034 6.876 6.876.375 3 0.48 0.07 0.07.670 0.57 0.0 0.053 0.053 0.03 0.05 0.05 0.8 0.8.056 4 0.444 0. 0..708 0.34 0.5 0.07 0.07 0.37 0.068 0.068 3.666 3.666.733 5 0.46 0.4 0.4.747 0.46 0.96 0.09 0.09 0.70 0.085 0.085 7.06 7.06 3.405
Dakle, Iskorišćene procesora: U =0.70 Iskorišćene disk kanala: U =0.085 Iskorišćene svakog diska: U 3 =0.085 Vreme odziva procesora po edno transakcii: R =0.46s Vreme odziva procesora po edno poseti: R /40=.55ms Vreme odziva disk kanala po edno transakcii: R =0.4s Vreme odziva disk kanala po edno poseti: R /40=5.35ms Vreme odziva diska po edno transakcii: R 3 =0.4s Vreme odziva diska po edno poseti: R 3 /8=6.75ms Ukupno vreme odziva sistema: R=R +R +5*R 3 =.747s Protok procesa kroz procesor: X =7.06 sec Protok procesa kroz disk kanal: X =7.06sec Protok procesa kroz svaki od diskova: X 3 =3.405sec Kritičan bro terminala iznosi: Z + D NCRIT = max( D ) max( D ) = D = 0.4 s 0 + 0.4 + 0. + 5 0. NCRIT = = 9 0.4 b) max( D ) = D = 04s. (potražna za procesorom) Z D D D N = + + + 5 CRIT D 3 Dodavanem diskova, ako ukupna potražna za diskovima ostae konstantna, N CRIT se ne mena. (Ako, pak, konstantna ostane potražna za poedinačnim diskom, i sve ostale potražne, N CRIT se povećava, ali ova pretpostavka se ne može uzeti za datu konfiguraciu). Ubrzavanem procesora, D opada, pa u slučau dvostruko bržeg procesora postae D = D = D 3 = 0. s, i to e uedno D max. Tada e: 0+ 0. + 0. + 5 0. N CRIT = 0. = 57 Dalim ubrzavanem procesora N CRIT opada, er ostae D max = 0., a broilac se smanue. 3
Zadatak 4 Multiprogramski računar ima procesor, disk kanal i disk. Po svakom programu sumarna potražna za ovim resursima iznosi D p = sec, D d = sec i D c = 0.4 sec. Za ovakav sistem, kritični stepen multiprogramirana iznosi N koe treba odrediti. a) Koliki se naveći kritični stepen multiprogramirana može postići ubrzavanem procesora? b) U kom opsegu se može kretati D p, da kritični stepen multiprogramirana ne bude mani od N? c) Kako se obašnava činenica da ubrzavanem procesora može doći do smanena kritičnog stepena multiprogramirana? Da li e kritičan stepen multiprogramirana valan pokazatel maksimalnog broa programa koe računar može efikasno da obrađue, i kako biste Vi definisali ta pokazatel? Rešene: N D + D + D 3.4.7 p d c = NCRIT = = = Dp a) N CRIT D + D + D D + D = = + D D p d c d c p p Povećavanem brzine procesora, linearno se smanue potražna za nim, tako da N CRIT raste sve dok e processor usko grlo. Prva sledeća potražna po veličini u sistemu iza D p e D d = s. Kada Dp postane edan, tada e: N D + D c c CRIT = + =.4 To e uedno i maksimalni kritični stepen multiprogramirana koi se može dobiti ubrzavanem procesora u ovom sistemu. Za D p, usko grlo sistema postae disk, pa e: N D + D + D D + D D + 0.4.4 p d c p c p CRIT = = + = + = + Dd Dd Dalim ubrzavanem procesora, potražna za nim opada (D p opada), pa opada i kritični stepen multiprogramirana. Dakle, maksimalno N CRIT iznosi: D p 4
n max = 4. (N CRIT za D p = ) b) Treba da bude: Dp + 4. 7. Dp + 4. 7. max( Dp, ) max( D, ) p Za D p > : D p + 4. 7. D 07. D p 4. D p p Za D p < : D p + 4. 7. n*.4.7.4 D p 03. 03..0 0 0.3 D p Zavisnost kritičnog stepena multiprogramirana od D p D p ++0.4 = 3.4 0.3++0.4 =.7 R R = n D p = R = n D p = 0.3 0 n.7 Zavisnost vremena odziva sistema od broa programa za različitu potražnu (brzinu) procesora. 5
c) Kritičan stepen multiprogramirana e valan pokazatel maksimalnog broa programa edino ako suma potražni svih resursa približno definiše maksimalno prihvatlivo vreme odziva sistema. Ako e maksimalno prihvatlivo vreme odziva R max > ΣD i, onda e maksimalni stepen multiprogramirana određen uslovom: nmax Dmax Rmax n R D max max max Ovo e ispravan pokazatel za maksimalni stepen multiprogramirana, a N CRIT u ovom slučau nema upotrebnu vrednost. Zadatak 5 (Septembar 008) Multiprogramski računarski sistem se sastoi od procesora, sistemskog diska i dva korisnička diska, povezanih u zatvorenu mrežu. Posle procesorske obrade u 70% slučaeva se pristupa sistemskom disku, u 30% slučaeva se proces vraća u procesorski red. Posle pristupa sistemskom disku u 40% slučaeva pristupa se prvom korisničkom disku, u 50% slučaeva drugom. U preostalim slučaevima se proces vraća u procesorski red. Posle pristupa korisničkom disku proces se takođe vraća u procesorski red. Procesorska obrada trae u proseku 5ms, a pristup sistemskom disku trae u proseku 0ms. Pristupi korisničkim dikovima trau u proseku po 0ms i 5ms respektivno. Sva vremena imau eksponencialnu raspodelu. Napisati kompletan program koi kao edini ulazni parametar prima bro programa u ovom sistemu N, i na što efikasnii način generiše i ispisue iskorišćena svih resursa, protoke kroz sve resurse i vreme odziva sistema korišćenem MVA analize. Program treba napisati u ednom od sledećih programskih ezika: C, C++, Pascal, Java, C#. Skica programa ili programi pisani u pseudoeziku se ne priznau. Rešene: 6
Bro poseta poedinim resursima: V=, V= 0.7 V3= V 0.4= 0.8 V4= V 0.5= 0.35 Vremena servisirana resursa: S = S = 5 ms, S = S = 0ms p S = S = 0 ms, S = S = 5ms sd 3 d 4 d Podražne za resursima: D = V S = 5 ms, D = V S = 7ms D = V S = 5.6 ms, D = V S = 8.75ms 3 3 3 4 4 4 a) public class Sep08 { private static final int k = 4; public static void mva(int n) { double Qprev[] = new double[k]; double R[] = new double[k]; double Ru = 0; double D[] = { 5, 7, 5.6, 8.75 }; double V[] = {, 0.7, 0.8, 0.35 }; double U[] = new double[k]; double X[] = new double[k]; double X; for (int i = 0; i < k; i++) Qprev[i] = 0; for (int i = ; i <= n; i++) { Ru = 0; for (int = 0; < k; ++) { R[] = D[] * ( + Qprev[]); Ru = Ru + R[]; } X = i / (Ru); for (int = 0; < k; ++) { U[] = D[] * X; Qprev[] = X * R[]; X[] = X * V[]; } } System.out.println("Iskoriscene procesora: " + U[0]); System.out.println("Iskoriscene sistemskog diska: " + U[]); System.out.println("Iskoriscene. korisnickog diska: " + U[]); System.out.println("Iskoriscene. korisnickog diska: " + U[3]); System.out.println("Protok kroz procesor: " + 000 * X[0]); System.out.println("Protok kroz sistemski disk: " + 000 * X[]); System.out.println("Protok kroz. korisnicki disk: " + 000 * X[]); System.out.println("Protok kroz. korisnicki disk: " + 000 * X[3]); System.out.println("Vreme odziva= " + Ru + "ms"); } public static void main(string[] args) { int n = Integer.parseInt(args[0]); mva(n); } } 7
Izlaz programa za argument N=4: Iskoriscene procesora: 0.4440654886644 Iskoriscene sistemskog diska: 0.59006998643 Iskoriscene. korisnickog diska: 0.4703595893034 Iskoriscene. korisnickog diska: 0.737539983063 Protok kroz procesor: 84.8830837738 Protok kroz sistemski disk: 59.0069986496 Protok kroz. korisnicki disk: 3.6006764794565 Protok kroz. korisnicki disk: 9.50084559930648 Vreme odziva= 47.456668400073ms 8