TEHNICI DE MĂSURARE FOLOSITE ÎN ANALIZA DE PERFORMANȚĂ A SISTEMELOR DE CALCUL – CALCULATOARE – ANUL 4, GRUPA 1741 B COORDONATOR: • DR.ING. MAȘTEI… [602877]
UNIVERSITATEA DIN ORADEA
FACULTATEA DE INGINERIE
ELECTRICĂ ȘI TEHNOLOGIA
INFORMAȚIEI
DOMENIUL – CALCULATOARE
TEHNICI DE MĂSURARE FOLOSITE ÎN ANALIZA DE
PERFORMANȚĂ A SISTEMELOR DE CALCUL
– CALCULATOARE –
ANUL 4, GRUPA 1741 B
COORDONATOR:
• DR.ING. MAȘTEI DANIELA
STUDENT:
• PAVEL MARIUS IULIAN
ORADEA 2015
2
CUPRINS
1. MODELAREA ANALITICĂ ………………………….. ………………………….. ………………………….. . 3
1.1 Generalități ………………………….. ………………………….. ………………………….. ………………….. 3
1.2 Clasificarea tehnicilor de modelare analitică ………………………….. ………………………….. … 3
2. Simularea ………………………….. ………………………….. ………………………….. ………………………….. . 4
3. ETAPELE REZOLVĂRII PROBLEMEI LA CALCULATOR ………………………….. …………. 4
4. CPN TOOLS ………………………….. ………………………….. ………………………….. ………………………. 5
4.1 REȚELELE PETRI ………………………….. ………………………….. ………………………….. …… 5
4.2 Sistemul de cozi ………………………….. ………………………….. ………………………….. ………… 6
ORADEA 2015
3
1. MODELAREA ANALITICĂ
1.1 GENERALITĂȚI
Tehnicile de modelare permit proiectantului să aleagă nivelul de abstractizare care să
reprezinte sistemul real âî funcție de necesități. Modelul unui sistem de calcul constă din
următoarele:
descrierea arhitecturii sistemului
definirea încărcării pentru care trebuie testat.
Caracteristicile sistemului de modelat se aleg cu grijă, pentru că modelul trebuie să asigure
descrierea sistemului fără să introducă o complexitate inutilă.
Modelele se clasifică în modele de simulare si modele analitice. Simularea este tehnica de
a imita comportamentul unor situatii sau sisteme cu ajutorul unui model analog celui real, în scopul
obținerii unor informații suplimentare sau.
Modelele de simulare sunt programe, care descriu comportamentul sistemului și
încărcarea acestu ia algorit mic. Aceste modele sunt construite în general prin limbaje speciale de
nivel înalt.
Modelele analitice descriu operațiile și încărcarea sistemului în termeni matematici.
Estimările de performanță sunt obținute prin soluția analitică sau numerică a modelului matematic.
În dezvoltarea modelelor analitice, este nevoie de un nivel de abstractizare mai înalt
datorita faptului că pentru rezolvarea modelului, trebuie acceptate anumite restricții. În cazul în
care sistemul de modelat are o structură simplă, este posibilă realizarea unei analize de finețe, din
care poate rezulta impactul pe care diferiți parametri ai modelului il pot avea asupra indicilor de
performan ță. Dacă sistemul de modelat este mai complex, analiza de fine țe poate fi facută doar cu
ajutorul unui număr mare de soluții nume rice calculate pentru diferite valori ale parametrilor
modelului.
1.2 CLASIFICAREA TEHNICI LOR DE MODELARE ANAL ITICĂ
Clasificarea tehnicilor de modelare analitică in funcție de modul de obținere a soluției:
Formale – sistemul este descris cu un formalism bine definit (teoria cozilor, retelele Petri
și algebre de proces)
Estimative – se utilizează euristica, presupunerile și simplificările
Hibride – tehnici care combină abordările analitice cu simularea, monitorizarea, ș i
benchmarking.
Metoda de rezolvare care utilizează formulele analitice, ce permit calculul direct
al rezultatului final, fără iteratii si rezultate intermediare se numeste metoda analitică de
rezolvar e. Solutiile obtinute cu ajutorul metodei analitice sunt numite solutii analitice. Fiecare
dintre metodele expuse are prioritătile si neajunsurile sale. Pentru unele probleme este foarte
complicat sau practic imposibil de determinat formula analitică (de exemplu, coordonatele un ei
comete sau asteroid în functie de timp), pentru altele este destul de complicat de simulat un model
adecvat, chiar si folosind un număr foarte mare de calcule intermediare. Cunoasterea formulei
ORADEA 2015
4
analitice permite calculul imediat al solutiei finale; util izarea unui proces iterativ permite
construirea dinamică a solutiei în dependentă de factorii utilizati în problemă.
Alegerea metodei este influentată de mai multi factori, principalii fiind:
Posibilitatea de determinare a soluției analitice
Costul calcu lelor
Numărul de calcule necesare pentru determinarea sol uției de simulare
Gradul de apropiere a solu ției de simulare de solu ția reală (exactă) a problemei
2. SIMULAREA
Modelarea sistemelor se poate realiza folosindu -se diferite instrumente și tehnici, printre
acestea fiind și simularea. Simularea este tehnica de a imita comportamentul unor anumite
situații sau sisteme (economice, mecanice, etc.) cu ajutorul unui model analog celui real,
în scopul obținerii unor informații suplimentare sau a specializării personalului.
Cu alte cuvinte, simularea este tehnica prin care se construiește modelul unui sistem real,
astfel încât comportamentul sistemului în anumite condiții să poată fi studiat și astfel cunoscut.
Una din cheile unei bune simulări este abilitatea de a modela comportamentul unui si stem de -a
lungul timpului.
Simularea evenimentelor discrete este unul din modurile de construcție a modelelor, astfel
încât să se observe comportamentul dinamic (în timp) al sistemelor. Există mai multe metode
convenționale pentru realizarea unor modele de simulare. În faza experimentală, aceste modele
sunt execut ate o perioadă de timp suficientă pentru a genera rezultate. Rezultatele obținute sunt
folosite apoi pentru a studia evoluția sistemului și constituie baza deciziilor ulterioare.
3. ETAPELE REZOLVĂRII P ROBLEMEI LA CALCULAT OR
Instrumentele informatice permi t rezolvarea problemelor atât prin metode analitice, cât si
prin metode de simulare. Dar, rezolvarea oricărei probleme în informatică se divide în mai multe
etape, fiecare din ele având acelasi grad de importantă.
Analiza problemei initiale
La această eta pă este studiată problema reală. Sunt separate datele initiale, se determină ce
trebuie de obtinut, care sunt relatiile dintre datele initiale si rezultat. Tot aici sunt determinate
restrictiile suplimentare asupra datelor initiale si rezultatului.
Creare a modelului problemei
Este creat modelul matematic al problemei. În dependentă de problemă acest model poate
fi analitic sau de simulare. Pentru modelul analitic este necesar să se determine formulele de calcul,
care exprimă rezultatul căutat prin datele i nitiale. Pentru un model iterativ se stabilesc valorile
initiale ale datelor, relatiile (formulele) de trecere la iteratia următoare, conditia de întrerupere a
calculelor. Tot la această etapă are loc (dacă e posibil) divizarea problemei în subprobleme si
elaborarea modelelor pentru fiecare din ele.
ORADEA 2015
5
Elaborarea algoritmului
În cazul rezolvării informatice a unei probleme algoritmul contine metoda de rezolvare a
problemei, descrisă într -o formă acceptabilă (pseudocod, schemă logică etc.) si relatiile dintre
diferite etape de rezolvare. Dacă problema a fost divizatăîn subprobleme, algoritmul mai contine
date despre relatiile dintre modelele subproblemelor. În procesul de rezolvare la calculator a
problemei este deosebit de importantă consecutivitatea îndeplin irii instructiunilor. Anume
algoritmul divizează modelul matematic în pasi elementari si stabileste ordinea de efectuare a
calculelor la fiecare pas.
Scrierea programului
Pentru ca să devină posibilă rezolvarea problemei de către calculator, nu este sufic ient
algoritmul de rezolvare. Algoritmul trebuie transpus într -o formăînteleasă de calculator – program
într-un limbaj de programare. Pasii algoritmului sunt descrisi cu ajutorul instructiunilor limbajului
de programare, iar consecutivitatea lor – de conse cutivitatea instructiunilor. În procesul de scriere
a programului pot să apară erori sintactice sau semantice. Procesul de corectarea a lor este de
asemenea inclus în etapa de scriere a programului. Etapa se consideră încheiată atunci când
compilarea sau i nterpretarea prog ramului finalizează fără erori.
Testarea programului.
O compilare reuită nu înseamnă o problemă rezolvată corect. Pentru verificarea
corectitudinii se realizează o serie de teste, care cercetează lucrul programului în functie de seturi
de date de intrare simple, medii si extreme. Dacă pentru toate testele efectuate programul determină
rezultate corecte, se poate presupune că problema a fost rezolvată corect. Dacă în procesul de
testare se obtin rezultate eronate, urmează să fie cercetate d in nou etapele precedente, începând cu
analiza problemei si până la scrierea programului.
4. CPN TOOLS
CPN Tools este un istrument pentru editarea, simularea si analiza la un nivel înalt a rețelelor
Petri. Acest program suportă rețele Petri standar d, rețele Petri temporizate, precum și rețele Petri
colorate. De asemenea conține un simulator și un instrument de analiză a spațiului.
Pentru a exemplifica utilizarea acestui soft vom utiliza unul din multitudinea de exemple pe
care apli cația ni le pune la dispozi ție, și anume Sistemul de cozi. Acesta va trata sistemul de cozi al
unui server care așteaptă într-o buclă infinită apelurile de la procesele client. Acestea din urmă pot fi
multiple, i ar pentru aceasta vor fi plasate într -o coadă de așteptare. În acest exemplu se vor utiliza trei
pagini CPN -tools care au fost adăugate prin apăsarea butonului click dreapta al mouse -ului și alegerea
de aici a opțiunii “New Net ”.
Pentru a plasa noile locuri în pagină ne vom folosi tot de butonul click dreapta , iar din meniul
nou vom alege opțiunea ”New Place ”. Pentru a crea o tranziție, din meniul anterior vom alege opțiunea
”New Transition” . Întreg proiectul va conține 3 pagini, una System, o alta Server iar o alta Arrivals.
4.1 REȚELELE PETRI
O rețea Petri poate fi identificată cu un tip particular de grafuri orientate bipartite populate cu
trei tipuri de obiecte. Aceste obiecte sunt locuri, tranziții și arce orientate care conectează locuri cu
ORADEA 2015
6
tranziții sau tranziții cu locuri. Din punct de ve dere grafic, locurile sunt reprezentate prin cercuri iar
tranzițiile prin bare sau dreptunghiuri.
Un loc este intrare pentru o tranziție dacă există un arc orientat de la acel loc la tranziție. Un loc
este ieșire pentru o tranziție dacă există un arc orie ntat de la tranziție la loc. În forma sa cea mai simplă,
o rețea Petri poate fi reprezentată printr -o tranziție împreună cu locurile sale de intrare și de ieșire.
Această rețea elementară poate fi folosită pentru reprezentarea unor aspecte diverse ale sist emelor
modelate.
Spre exemplu, locurile de intrare (ieșire) pot reprezenta precondiții (postcondiții), iar tranzițiile
— evenimente. Locurile de intrare pot semnifica disponibilitatea resurselor, tranziția — utilizarea lor,
iar locurile de ieșire — eliber area resurselor.
4.2 SISTEMUL DE COZI
Acest exemplu de sistem de cozi ilustreaz ă cum sistemul collector de date poate fi folosit
în analiza performanței unui system. Programul CPN tools utilizat în sistem include monitorizare
prin punct e de ruptur ă (breakpoin t), un monitor de citire din fisier și un monitor definit de utilizator
În acest sistem, două tipuri de servicii sunt procesate de către server. Noi servicii ajung
periodic în sistem. Dacă serverul este ocupat când un serviciu ajunge, acesta este adăugat l a finalul
unei cozii. Strategia coziilor se bazează pe principiul FIFO. Dacă serverul este în așteptare când
un serviciu ajunge, acesta este transmis imediat prin coadă și serverul începe să proceseze acest
serviciu. Când serverul a terminat procesarea rev ine din nou în starea de așteptare. Dacă serverul
este în așteptare și în coadă așteaptă servicii pentru a fii procesate, atunci serverul v -a începe
imediat procesul de procesare al cozii începând de la cap ătul acesteia. Acesta este meodelul CPN
pentru sis temul de cozii.
Fig. 4. 2.1
Câteva măsurări diferite a performanței pot fi calculate de acest sistem. De exemplu, vom
arată cum monitoarele pot fi utilizate pentru a calcula diferite tipuri de statistici, cum ar fi:
lungimea cozii unui serviciu, durata de timp în care un serviciu așt eaptă în coadă și procesul de
timp cât serverul este ocupat cu procesarea serviciilor.
4.2.1 DECLARAȚIILE
Declarațiile pentru rețea sunt organizate în două blocuri. Un bloc de declarații numit
SYSTEM DECLS, ce conține declarații care sunt utilizate în structura rețelei și un alt bloc numit
MONITOR DECLS, care conține declarațiile care sunt utilizate fie numai în monitorizare sau în
schimbarea opțiunilor în facilitarea perfomanței.
ORADEA 2015
7
4.2.2 SYSTEM DECLS
În acest sistem sunt două tipuri de servicii. Setul de culorii JObType este o enumerație de
set de culori care definește două tipuri de servicii: A și B. Setul de culorii Job modelează un
serviciu ca și o înregistrare constând din două câmpuri. Câmpul job Type determină tipul unui job
de când el are tipul JobType.
colset UNIT = unit timed;
colset INT = int;
colset Server = with server timed;
…
fun expTime (mean: int) =
let
val realMean = Real.fromInt mean
val rv = exponential((1.0/realMean))
in
floor (rv+0.5)
end;
…
4.2.3 MONITORS DECLS
fun initfile () =
let
val filename = OS.Path.co ncat (Output.getSimOutputDir(),
"Trans_Log_File.txt")
in
Output.initSimOutputDir();
fileid := SOME (TextIO.openOut filename)
end
4.2.4 PRIVIRE DE ANSAMBLU ASUPRA SISTEMULUI
Acest sistem conține două module care sunt modelate de două tranziții de substituție
Arrivals și Server. Spațiul QUEUE modelează coada unui serviciu. Setul de culorii al blocului este
o listă de set de culori.
Această funcție este utilizată pentru
generarea de valori întregi ce sunt
aprozimativ exponențiale distribuite c u
o valoare medie determinată de
parametrul mean. Această funcție
folosește de asemena fucția random
Această funcție inițializează un fișier pe care un monitor de utilizator îl va reânoi pe
durata simulării. Numele fișierului este Trans_Log_File.txt ,și va fi sal vat în directorul de
ieșiere al simulării. Numele directorului de ieșire al simulării este accesat prin funcția
Output.getSimOutputDir() care este una din ieșirile funcțiilor de management de ieșire . Declara rea variabilelor
ORADEA 2015
8
4.2.5 JOB ARRIVALS
Sosirea serviciilor în sistem es te modelată în pagina Arrivals ( Fig.4.2.5.1 )
Fig. 4.2.5. 1
Un identificator în spațiul Next este utilizat pentru a determina când un serviciu nou ajunge.
Setul de culoare pentru spațiu este un time color set, și eticheta de timp a identificatorului locului
va fi determinată când tranziția Arrivals va avea loc. Tranziția Init este singura tranziție care este
permisă în marcarea inițială. Tranziția este utilizată pentru a pune un identificator în locul Next.
Inscripția de timp @+expTime(100) pe arcul de la tranziția Init la locul Next este utilizat pentru a
crea o etichetă de timp destinată identificatorului care este adăugat spațiului Next.
Funcția expTime va retuna o valoare aleatoare din funcția exponențială de distribuție.
Această etichetă de timp este utilizată pentru a ne asigura că primul serviciu nu va ajunge
întotdeauna la timpul zero pentru diferite simulării. Tranziția Arrivals va avea loc când eticheta de
timp a identificatorului din spațiul Next este egală cu modelu l de timp curent. Când tranziția are
loc un nou serviciu este creat și atașat variabilei Job prin tranziția de cod segment. Noul servicu
este adăugat la finalul unei cozi de servicii determinată de inscripția Jobs ^^[job].
ORADEA 2015
9
4.2.6 SERVER
Fig. 4.2.6. 1
Locurile IDLE și BUSY sunt utilizate pentru a reprezenta starea serverului cu un
identificator în spațiul Idle indică faptul că serverul nu procesează un serviciu și un identificator
în spțiul Busy indică faptul că serverul procesează un serviciu și valoarea acestui identificator
indică care din acestea este procesat.
Serverul poate începe procesarea unui serviciu (tranziția Start) dacă serverul este Idle și
dacă există cel puțin un serviciu în coada de servicii (Job::Jobs) pe arcul de la locul cozii. Când
tranziția Start are loc, funcția expTime este apelată în segment ul de cos și valoarea returnată de
aceasta este asignată variabilei proctime, care determină timpul de procesare pentru serviciul care
este scos din capul cozii.
Tranziția STOP va fii activă când serverul termină procesarea unui serviciu. Tranziția va
fi activă când eticheta de timp a identificatorului Busy este egală cu modelul de timp curent. Când
tranziția are loc serviciul va fi adăugat în spațiul Completed și serverul va deveni Idle.
ORADEA 2015
10
5. BIBLIOGRAFIE
1. http://documents.tips/documents/elemente -de-modelare.html [1]
2. http://www.slideshare.net/adrian_panescu/modelling -a-system -using -petri-nets-ro [2 ]
3. http://cpntools.org/documentation/examples/queue_system_configuratio [3]
4. http://cpntools.org/documentation/examples/queue_system [4]
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: TEHNICI DE MĂSURARE FOLOSITE ÎN ANALIZA DE PERFORMANȚĂ A SISTEMELOR DE CALCUL – CALCULATOARE – ANUL 4, GRUPA 1741 B COORDONATOR: • DR.ING. MAȘTEI… [602877] (ID: 602877)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
