Simularea Manuala a FA_Laboratorul_3

18
1 Procese stocastice Lucrare de laborator Cercetarea sistemelor cu fire de așteptare prin metoda simulării manuale Scopul lucrării : familiarizarea cu algoritmul de simulare a sistemelor cu fire de așteptare, cu prelucrarea datelor obținute în urma similarii și cu calculul indicilor de performanță observați. Funcționarea sistemelor de calcul (calculatoare, servere, rețele, etc,) poate fi deseori formalizata sub forma de sisteme cu fire de așteptare (cu unul sau mai multe servere, conectate uneori în rețea) în care sosesc cererile (clienții) pentru a fi prelucrate (servite). Cele din urma pot fi studiate atât prin metode analitice (dar numai în unele cazuri simple), cât și prin metode de simulare care sunt alternative sau complementare metodelor analitice. Simularea acestor fenomene necesită cunoașterea modului de funcționare a sistemelor, modul în care clienții ajung și sunt serviți. Informația despre sosiri și serviri este foarte importantă și este necesar de a fi recoltate pe teren observând sistemele reale sau lansând anumite ipoteze cu privire la valorile reale ale parametrilor fluxurilor de clienți. Fluxurile de sosiri și de serviri pot fi descrise în două moduri: folosind tabele: pentru fiecare client este indicat momentul în care aceasta ar trebui să intre în sistem și durata sa de serviciu. Acesta metoda necesita stocarea multor date ceea ce provoacă un consum important de memorie; definind distribuțiile statistice ale intervalelor de timp dintre sosirile succesive ale clienților și ale duratelor lor de servire (ele sunt generate în măsura necesitații pe parcursul procesului de simulare ceea ce produce un consum mic de resurse de calcul și de memorie). Achizitie de date Distribuția intervalelor dintre sosirile succesive ale clienților Distribuția intervalelor de servire a clienților

description

.

Transcript of Simularea Manuala a FA_Laboratorul_3

Anexa 3

Procese stocasticeLucrare de laboratorCercetarea sistemelor cu fire de ateptare prin metoda simulriimanuale

Scopul lucrrii : familiarizarea cu algoritmul de simulare a sistemelor cu fire de ateptare, cu prelucrarea datelor obinute n urma similarii i cu calculul indicilor de performan observai.Funcionarea sistemelor de calcul (calculatoare, servere, reele, etc,) poate fi deseori formalizata sub forma de sisteme cu fire de ateptare (cu unul sau mai multe servere, conectate uneori n reea) n care sosesc cererile (clienii) pentru a fi prelucrate (servite). Cele din urma pot fi studiate att prin metode analitice (dar numai n unele cazuri simple), ct i prin metode de simulare care sunt alternative sau complementare metodelor analitice. Simularea acestor fenomene necesit cunoaterea modului de funcionare a sistemelor, modul n care clienii ajung i sunt servii. Informaia despre sosiri i serviri este foarte important i este necesar de a fi recoltate pe teren observnd sistemele reale sau lansnd anumite ipoteze cu privire la valorile reale ale parametrilor fluxurilor de clieni.Fluxurile de sosiri i de serviri pot fi descrise n dou moduri: folosind tabele: pentru fiecare client este indicat momentul n care aceasta ar trebui s intre n sistem i durata sa de serviciu. Acesta metoda necesita stocarea multor date ceea ce provoac un consum important de memorie; definind distribuiile statistice ale intervalelor de timp dintre sosirile succesive ale clienilor i ale duratelor lor de servire (ele sunt generate n msura necesitaii pe parcursul procesului de simulare ceea ce produce un consum mic de resurse de calcul i de memorie).

Achizitie de date

3Distribuia intervalelor dintre sosirile succesive ale clienilor

Distribuia intervalelor de servire a clienilor

Sourca de clienti

Coad de ateptare

Server

Plecri ale clienilor

Clieni:durata de sejur...

lungimea medie, durata de ateptare...Evalurea sistemului

gradul de utilizare

Fig.1. Consideraii generale

Cazul cela mai simplu e sa definim sosirile i serviciile cu ajutorul unui tabel :

No. clientuluiPerioada dintre sosirile succesivePerioada de serviciu

1109

21517

31416

4913

51314

6913

71116

8814

9910

101013

111114

121317

131710

14107

151510

Duratele sunt exprimate n uniti convenionale de timp (de fapt, e vorba de secunde, ore, minute, milisecunde, etc, dar nu conteaz pentru simulare, pentru c se lucreaz cu uniti convenionale de timp).

Pentru a simula acest sistem vom defini: doua tipuri de evenimente sosirile ele provoac creterea numrului de clieni n n sistem, modifica variabilele de stare ale serverului i/sau parametrii firului de ateptare; plecrile ele reduc numrul de clieni n n sistem, schimba starea serverului, fapt care cauzeaz unele schimbri n coada de clieni din fata lor. o regula de oprire pentru a termina corect simularea (cu crearea unui raport statistic coninnd rezultatele i performanele observate) este dat o stare de oprire. Dou cazuri posibile: oprire dup scurgerea a unei durate de simulare date; oprire dup servirea unui anumit numr de clieni.n acest exemplu vom utiliza prima metod de oprire a simulrii dup consumarea a 150 de uniti de timp.

Pentru o prelucrare corect a evenimentelor mai e nevoie de un ceas de sistem i de o lista cu calendarul evenimentelor: evenimentul cel mai apropiat trebuie s fie ntotdeauna n capul listei. Gestionarul de evenimente (nucleul programului de simulare) e responsabil de ntreinerea acestei liste i de tratarea evenimentelor n ordine cronologic . Rolul sau se reduce la doua operaii: includerea n list a ultimului (celui mai recent) eveniment creat i extragerea evenimentului cu timpul minimal pentru a fi prelucrat.n exerciiul urmtor vom ncerca sa realizam manual procedura de simulare a unui sistem cu fire de ateptare cu un singur server. Pentru a facilita aceasta activitate vom organiza calculele ntr-un tabel :Tabel de simulare

Numrul evenimen- tuluiCeasul sistemNumrul clientuluiTipul evenimen- tuluis sosirep plecareLungimea cozii de ateptareStarea serverului 0 liber1- ocupatCalendarul evenimentelor (Timpul, Num. clientului, Tipul evenimentului)

00-START00(10,1,s), (150,-,Stop)

1101s01(19,1,p), (25,2,s), (150,-,Stop)

2191p00(25,2,s) , (150,-,Stop)

3252s01(42,2,p), (39,3,s), (150,-,Stop)

4393s11(42,2,p), (48,4,s), (150,-,Stop)

5422p01(58,3,p), (48,4,s), (150,-,Stop)

6484s11(58,3,p), (61,5,s), (150,-,Stop)

7583p01(61,5,s), (71,4,p), (150,-,Stop)

8615s11(71,4,p), (70,6,s), (150,-,Stop)

9706s21(71,4,p), (81,7,s), (150,-,Stop)

10714p11(81,7,s), (85,5,p), (150,-,Stop)

11817s21(85,5,p), (89,8,s), (150,-,Stop)

12855p11(89,8,s), (98,6,p), (150,-,Stop)

13898s21(98,6,p), (98,9,s), (150,-,Stop)

14986p11(98,9,s), (114,7,p), (150,-,Stop)

15989s21(114,7,p), (108,10,s), (150,-,Stop)

1610810s31(114,7,p), (119,11,s), (150,-,Stop)

171147p21(119,11,s), (128,8,p), (150,-,Stop)

1811911s31(128,8,p), (132,12,s), (150,-,Stop)

191288p21(132,12,s), (138,9,p), (150,-,Stop)

2013212s31(138,9,p), (149,13,s), (150,-,Stop)

211389p21(149,13,s), (151,10,p), (150,-,Stop)

2214913s31(151,10,p), (159,14,s), (150,-,Stop)

23150-STOP31(151,10,p), (159,14,s)

Evaluarea indicilor de performantaScopul simulrii e de a evalua performanele sistemului innd cont de parametrii de intrare (fluxul de clieni i de serviri, numrul de servere, ordinea servirilor, etc.), deci e necesar sa definim i sa calculam indicii de performana ai sistemului care ne intereseaz.

Serverul

Bazndu-ne pe tabelul de simulare de mai sus ne propunem sa reprezentam pe un grafic starea serverului n funcie de timp pe parcursul simulrii.B(t)

1

t0102030405060708090100110120130140150Fig.2. Dinamica utilizrii serverului pe parcursul simulrii

Durata integrala de ocupare a serverului corespunde ariei dintre axa OX si B(t):Tsim

Tocupat= o

B( t ) dt

unde Tsim e durata de simulare, B(t) e starea serverului n momentul t.

Gradul de utilizare (ncrctura) se va calcula ca raportul dintre durata integrala de ocupare a serverului i durata de simulare (cu alte cuvinte, indicele ceasului n momentul opririi simulrii):T sim

K= Tocupat =T sim

o

B ( t ) dt T sim

Pentru cazul nostru:

K= T ocupat =T sim

134150

= 0,89

Putem conclude ca serverul a fost destul de ncrcat pe parcursul acestei simulri.

Coada de ateptareVarierea lungimii cozii de ateptare pe parcursul simulrii e prezentata mai jos :Q(t) 3

2

1

t0102030405060708090100110120130140150Fig.3. Dinamica cozii de ateptare pe parcursul simulriiParametrii de care ne vom interesa sunt: lungimea media a cozii de ateptare Lq, durata medie de ateptare pentru clienii care s-au reinut in coada de ateptare Tq, lungimea maximala a cozii de ateptare, etc. Pentru a calcula aceti parametri vom avea nevoie de durata totala de reateptate pentru toi clienii (durata integrala T).

Lungimea medie a firului de ateptare:

TsimTQ(t)dto

Lq TTsim

TsimQ(t)dtoTsim

Retinerea medie a unui client n coada de ateptare:TsimQ (t)dt ,Tq ToNqNqunde Nq e numrul de clieni care au petrecut n coada de ateptare o durata completa i au fost servii ulterior de ctre server.Parametrul T poate fi calculat tinad cont el corespunde suprafeei dintre Q(t) i axa OX. inndcont de datele obinute pe parcursul simulrii :T = 1*(42-39) + 1*(58-48) + 1*(70-61) + 2*(71-70) + 1*(81-71) + 2*(85-81) + 1*(89-85)+ 2*(108-89) + 3*(114-108) + 2*(119-114) + 3*(128-119) + 2*(132-128) + 3*(138-132) + 2*(149-138) + 3*(150-149) = 190Nq = 8(doar clienii 3,4,5,6,7,8,9 si 10 au petrecut in coada de ateptare o durata completa)

qT T Nq

190 23.758

TLq Tsim

1901.27 150

Lungimea maximala a cozii de ateptare Lqmax= 3

Tabel de simulare cu acumulatori statisticiCu scopul de a simplifica calculele si de a optimiza calcularea i colectarea datelor utilizate pentru calcularea indicilor de performa va propunem un tabel care conine cteva variabile complementare (acumulatori statistici) calculate pe parcursul simulrii.

Num evenCeas sistemNum. clientTip evenim. ssosiri pplec.Lungimea curenta a cozii de ateptareStarea serverului 0 liber1- ocupatDurata integrala de util, a serveruluiDurata integrala de ateptare n coadaNumrul clienilor reinuti in coadaCalendarul evenimentelor (Timpul, Num. clientului, Tipul evenimentului)

itijQ(t)B(t)TocupatTNq

00-START00000(10,1,s), (150,-,Stop)

1101s01000(19,1,p), (25,2,s), (150,-,Stop)

2191d00900(25,2,s) , (150,-,Stop)

3252s01900(42,2,p), (39,3,s), (150,-,Stop)

4393s112300(42,2,p), (48,4,s), (150,-,Stop)

5422d012631(58,3,p), (48,4,s), (150,-,Stop)

6484s113231(58,3,p), (61,5,s), (150,-,Stop)

7583d0142132(61,5,s), (71,4,p), (150,-,Stop)

8615s1145132(71,4,p), (70,6,s), (150,-,Stop)

9706s2154222(71,4,p), (81,7,s), (150,-,Stop)

10714d1155243(81,7,s), (85,5,p), (150,-,Stop)

11817s2165343(85,5,p), (89,8,s), (150,-,Stop)

12855d1169424(89,8,s), (98,6,p), (150,-,Stop)

13898s2173464(98,6,p), (98,9,s), (150,-,Stop)

14986d1182645(98,9,s), (114,7,p), (150,-,Stop)

15989s2182645(114,7,p), (108,10,s), (150,-,Stop)

1610810s3192845(114,7,p), (119,11,s), (150,-,Stop)

171147d21981026(119,11,s), (128,8,p), (150,-,Stop)

1811911s311031126(128,8,p), (132,12,s), (150,-,Stop)

191288d211121397(132,12,s), (138,9,p), (150,-,Stop)

2013212s311161477(138,9,p), (149,13,s), (150,-,Stop)

211389d211221658(149,13,s), (151,10,p), (150,-,Stop)

2214913s311331878(151,10,p), (159,14,s), (150,-,Stop)

23150-STOP311341908151,10,p), (159,14,s)

Rezultatele simulrii:valorile finale ale acumulatorilor statistici

Mersul lucrrii :

Studiai algoritmul simulrii manuale; Datele iniiale pentru simulare sunt n anexa, recalculai valorile din tabel n funcie de numrul Dumneavoastr din lista din registrul grupei; Efectuai simularea manuala a sistemului cu ateptare cu un singur server utilizndu tabelul cu acumulatori statistici. Regula pentru a opri simularea: servirea a primilor 25 de clieni (cu alte cuvinte, simularea se va opri n momentul plecrii din sistem a clientului cu num. 25) Desenai graficele varierii strii serverului i a cozii de ateptare pe parcursul simulrii. Ct a durat servirea a 25 clieni? Calculai indicii de performana observai n urma simulrii.

Bonus: Refacei simularea pentru cazul cnd avei doua servere n paralel (sau un server cu doua canale) cu o coada comuna de ateptare n fata lor. Clientul e servit de oricare dintre cele doua servere, dac ambele servere sunt ocupate el va atepta n coda de ateptare. (Indicaie: n acest caz serverul va avea trei stri: 0 - doua canale libere, 1 - un canal ocupat iar altul liber, 2 - ambele canale ocupate) Ct a durat servirea a 25 clieni n acest caz? Calculai indicii de performana observai n urma simulrii sistemului cu doua servere paralele. Comparai rezultatele celor doua simulri i prezentai concluziile.

Prezentarea lucrrii:

Lucrarea se prezint sub forma de referat cu urmtorul coninut: Titlul lucrrii, numele studentului i a profesorului; Scopul lucrrii; Tabelul cu datele iniiale pentru simulare; Rezultatele lucrrii; Concluzii.

Date pentru lucrarea de laborator

No. clieP de serviciuntuluiPerioada dintre sosirile succesivePerioada de serviciu

121+k11+k

266+k151+k

3169+k20+k

430+k71+k

5163+k27+k

634+k49+k

767+k141+k

810+k133+k

92+k59+k

1017+k5+k

11140+k43+k

12122+k64+k

1376+k148+k

148+k114+k

1524+k129+k

1638+k86+k

1760+k46+k

1833+k42+k

1920+k70+k

20313+k169+k

2166+k200+k

2275+k170+k

23284+k10+k

2448+k120+k

2529+k78+k

2631+k58+k

2743+k53+k

28116+k85+k

2922+k72+k

3067+k11+k

31170+k113+k

unde k este numrul studentului n lista grupei din care face parte.

Anexa 1

Tabel de simulare

Numrul evenimen- tuluiCeasul sistemNumrul clientuluiTipul evenimen- tuluis sosirep plecareLungimea cozii de ateptareStarea serverului 0 liber1- ocupatCalendarul evenimentelor (Timpul, Num. clientului, Tipul evenimentului)

Anexa 2

Tabel de simulare cu acumulatori statistici

Num evenCeas sistemNum. clientTip evenim. ssosiri pplec.Lungimea curenta a cozii de ateptareStarea serverului 0 liber1- ocupatDurata integrala de util, a serveruluiDurata integrala de ateptare n coadaNumrul clienilor reinuti in coadaCalendarul evenimentelor (Timpul, Num. clientului, Tipul evenimentului)

itijQ(t)B(t)TocupatTNq

11