Sunteți pe pagina 1din 108

UNIVERSITATEA TEHNIC A MOLDOVEI

Emilian GUULEAC

Verificarea i evaluarea performanelor sistemelor concurente

Chiinu 2011

UNIVERSITATEA TEHNIC A MOLDOVEI

Facultatea Calculatoare, Informatic i Microelectronic


Catedra Calculatoare

Emilian GUULEAC

Verificarea i evaluarea performanelor sistemelor concurente


Ciclu de prelegeri

Chiinu U.T.M. 2011

C.Z.U.: 004.03: 004.7 Ciclul de prelegeri este adresat studenilor ciclul II studii de masterat, specializrile 526.1 "Calculatoare" i 526.2 "Automatica i Informatica", Facultatea Calculatoare, Informatic i Microelectronic, UTM pentru a fi utilizat la studierea cursului " Verificarea i evaluarea performanelor sistemelor concurente". Lucrarea poate fi util doctoranzilor i specialitilor de cercetare, proiectare i exploatare a sistemelor concurente cu prelucrare distribuit a datelor. Este prezentat o parte din materialul teoretic predat n cadrul prelegerilor la disciplina menionat mai sus. Subiectele descrise conin aspecte teoretice i practice de modelare, verificare i evaluare a performanelor sistemelor concurente prin modele descriptivcompoziionale de reele Petri stochastice generalizate. Sunt definite formule descriptive i extensii de reele Petri concepute ca formalism de referin n aplicaii i tehnici de modelare a proceselor paralele de prelucrare distribuit a datelor, folosind produsele program instrumentale VPNP i VHPN.

Elaborare: conf. univ., dr. hab. Emilian GUULEAC Recenzent: prof. univ., dr. hab. Anatol POPESCU

Aprobat la edina Consiliului tiinific al Facultii Calculatoare, Informatic i Microelectronic din 16 februarie 2011 Redactor responsabil: conf. univ., dr. Victor ABABII

Procesare computerizat: conf. univ., dr. hab. Emilian GUULEAC

U.T.M., 2011

Cuprins Prefa Introducere

4 6

1. Aspecte de modelare a proceselor sistemelor concurente prin reele Petri 9 generalizate descriptiv-compoziionale 1.1. Aspecte arhitecturale i de analiz a proceselor de calcul concurente........... 9 1.2. Modelarea, verificarea i evaluarea performanelor ....... 11 1.3. Reele Petri generalizate............................................................................................. 14 1.4. Expresii descriptive ale reelelor Petri generalizate........................................... 23 2. Modelarea i evaluarea performanelor proceselor de calcul prin reele 35 Petri generalizate markoviene 2.1. Temporizarea stocastic a reelelor Petri ........... 35 2.2. Reele Petri generalizate markoviene ............. 37 2.3. Reele Petri generalizate markoviene extinse .......... 43 2.4. Modele cu automodificare ........................................................................................ 48 2.5. Algebra tensorial i compunera modelelor.......................................................... 52 3. Modelarea i evaluarea performanelor sistemelor multiprocessor................. 59 3.1. Aspecte arhitecturale de modelare.......................................................................... 59 3.2. Sistem multiprocesor cu o magistral i memorie comun.............. 61 3.3. Sistem multiprocesor cu magistrale i memorii comune multiple.................. 70

Concluzii
Bibliografie Lista abrevierilor Anexe A.1. Produse program pentru simularea animat, verificarea funcional i evaluarea performanelor modelelor de reele Petri stocastice ...........

77 79 84 85 85

A1.1 Prezentarea produselor software............................................................................ 85 A1.2. Structur i formele interfeei grafice utilizator................................................ 87

Prefa
Sistemele de calcul i reelele de calculatoare cu aplicaii concurente sunt sisteme complexe formate dintr-o multitudine de componente elementare de tipuri diferite, interconectate dup o structur convenabil, avnd caracteristici proprii ce decurg att din constituia lor fizic, precum i din natura proceselor la care sunt supuse. Caracteristicile funcionale i de performan ale sistemului de elaborat sunt determinate printr-o activitate de modelare i verificare a contextului real n care urmeaz s funcioneze. Modelul de referin adoptat trebuie s captureze toate proprietile i caracteristicile viitorului sistem.
Pentru abordarea problematicii specifice elaborrii sistemelor de calcul, s-a fcut apel la diverse procedee de formalizare, exploatndu-se o arie vast a matematicilor moderne. n acest context, un loc aparte n spaiul relativ neomogen al tratrii matematice a proceselor de calcul, l ocup formalismul reelelor Petri de diferite extensii. Stadiul actual de dezvoltare al formalismului reelelor Petri de diferite extensii permite investigaii att calitative, axate pe aspecte logice, ct i cantitative, axate pe aspecte temporale stochastice ale dinamicii sistemelor de calcul. Actualmente acest formalism ocup o arie att de mare nct este puin probabil de a o percepe integral, innd contul n mod deosebit de faptul c aceast teorie este n continu dezvoltare.

Lucrarea de fa i propune o descriere a conceptelor teoretice i realizrilor practice ale tehnicilor de modelare, verificare funcional i evaluare a performanelor sistemelor concurente prin modele descriptiv- compoziionale de reele Petri stocasice generalizate. n primul capitol sunt considerate unele aspecte de modelare a proceselor sistemelor de calcul cooperante prin reele Petri generalizate descriptiv-compoziionale. Este definit o clas de reele Petri generalizate etichetate (GeN) cu arce reversibile de cardinalitate marcajdependent i reguli de funcionare a acestora. n acelai context sunt considerate i unele aspecte de compunere a modelelor. Sunt formulate criterii de integrare n modele de reele GeN a proprietilor compoziionale, este introdus conceptul de expresii descriptive prin definirea unui set de operaii compoziionale, ntr-un spaiu de condiii-evenimente, care permite de a crea, dup anumite reguli, specificate de conceptor, modele de reele GeN ale proceselor de calcul. n acest context este elaborat o metod de creare a modelelor proceselor de calcul concurente, care permite de a formaliza etapa de trecere logic de la o descriere informal a arhitecturii i a specificaiilor comportamentale ale sistemului la determinarea unor expresii descriptive i maparea lor n modele de reele GeN ale acestor procese, subiacente modelelor de reele Petri stocastice. Unele aspecte de temporizare stocastic a reelelor GeN, n baza creia sunt definite modele de reele Petri markoviene generalizate extinse (RMG) cu regulile lor de funcionare, care dau 4

posibilitatea de a descrie concomitent att procese de calcul lente, ct i procese rapide de gestionare a logicii interaciunii acestora sunt abordate n Capitolul II. Modelele de reele RMG redau particularitile proceselor de calcul concurente i micoreaz considerabil spaiul de stri al lanurilor Markov timp continuu (LMTC) inclus, ceea ce a permis de a defini un set de caracteristici numerice de performan ale unui sistem de calcul, care pot fi evaluate n baza distribuiei probabilitilor de stare ale acestui lan. n acest context sunt prezentate dou modele, care descriu procesul de prelucrare a cererilor de procesare a datelor de ctre o unitate aritmetic-logic (ALU) a procesorului conform programului memorat n memoria central (MC). Cu scopul de a diminua complexitatea analizei modelelor RMG i a utiliza mai eficient spaiul de memorie la formarea matricei dinamice de o talie foarte mare este propus o metod de analiz prin compunerea sincron a subreelelor RMG constituente, efectuat de tranziiile care aparin diferitor subreele sincronizate. n Capitolul III sunt abordate unele aspecte arhitecturale, de modelare i evaluare a performanelor sistemelor de calcul multiprocesor cu resurse multiple prin reele RMG. Sunt descrise metode i tehnici de sintez formal a modelelor descriptiv-compoziionale de reele RMG ale unor arhitecturi de sisteme multiprocesor cu magistrale comune multiple i masive de procesoare, n baza crora a fost efectuat evaluarea performanelor acestor tipuri de sisteme. Lucrarea se adreseaz n primul rnd specialitilor de cercetare, proiectare i exploatare a sistemelor de calcul cu prelucrare distribuit a datelor, precum i studenilor din nvmntul tehnic superior de specialitate. Lucrarea, fiind una dintre primele n domeniul dat care abordeaz o astfel de problematic, este susceptibil de mbuntiri. Eventualele sugestii parvenite din partea cititorilor vor fi acceptate cu interes i recunotin. Autorul i exprim n acest mod sincera recunotin celor care m-au sprijinit n conceperea i realizarea acestei lucrri. Fiind, subordonate programului de nvmnt, noiunile i conceptele prezentate n aceast lucrare apar, n mod firesc, ntr-o succesiune logic i sunt supuse unor restricii temporale i de spaiu ce conduc adeseori la dezvoltri teoretice limitate. Lucrarea, care abordeaz o astfel de problematic, este susceptibil de a fi mbuntit. Eventualele sugestii parvenite din partea cititorilor vor fi acceptate cu interes i recunotin.

Introducere
Sistemele de calcul concurente in timp real actuale cunosc o dezvoltare rapid, att sub aspectul complexitii sau performanelor, ct i a ariei de rspndire. Acest tip de sisteme prezint un grad ridicat de complexitate, datorit numeroaselor interaciuni dintre componentele acestuia, cum sunt: concurena, sincronizarea, partajarea resurselor, ateptare etc. Ca urmare, atunci cnd sunt procesate o nou aplicaie sau reconfigurri de calcul, care trebuie prelucrate urgent, n sistem apar conflicte ntre componente, blocri ale acestora, fenomene de ateptare i incertitudini de funcionare a sistemului. Verificarea i evaluarea performanelor sistemelor concurente constituie una din componentele importante ale activitilor de concepie, realizare i ntreinere, inclusiv i a sistemelor concurente cu aplicaii distribuite reconfigurabile. La nivelul activitilor de concepie i realizare, interesul verificrii i estimrii performanelor viitoare ale noilor sisteme concurente tinde s creasc n condiiile sporirii complexitii sistemelor de realizat i, implicit, a riscului de a obine produse insuficient adaptate destinaiei i cerinelor de performane specificate [20, 53]. Este bine cunoscut faptul c o eroare de concepie depistat la etapele de verificare formal a proprietilor comportamentale i/sau evaluare a cerinelor fa de performanele sistemului de realizat devine de circa 43 ori mai ieften, dect cea depistat dup realizarea acestui sistem [26]. Mai mult, peste 65% din reuita proiectului este condiionat de efectuarea cu succes a acestor etape. Caracteristicile de performan ale unui sistem de calcul: viteza de concurente, puterea de procesare, debitul traficului de date, fiabilitatea, tolerana la defecte, timpul de rspuns, etc. capt valori diferite n raport cu arhitectura sistemului i clasa de aplicaii prelucrate. ntr-un context tehnologic, aceasta este o expresie a caracteristicilor funcionale i topologico-spaiale ale sistemului, reprezint modalitatea de rezolvare a cerinelor de performan. Una din caracteristica de baz a SC este timpul de rspuns, care reflect perioada necesar sistemului pentru a genera un rspuns adecvat la un eveniment extern. Dintre cerinele de performan ce asigur Calitatea Serviciilor (eng. QoS Quality of Service) impuse acestor tip de sisteme se disting dou elemente, i anume: Viteza de reacie a la evenimentele din exterior Sistemul trebuie s asigure timpi de rspuns care s se ncadreze n limite posibile, de cele mai multe ori deosebit de severe. Sigurana n funcionare - Sistemul trebuie s aib o fiabilitate, disponibilitate i o securitate deosebit. De asemenea, trebuie s aib capacitatea de a evita situaiile critice i de a limita consecinele unor defeciuni grave. Dup o ntrerupere accidental sistemul trebuie repus ct mai repede n funciune.

Sistemele concurente actuale prezint un grad ridicat de complexitate, datorit numeroaselor interaciuni dintre componentele acestora, cum sunt: concurena, sincronizarea, partajarea resurselor, ateptare etc. Ca urmare a acestor interaciuni, atunci cnd sunt procesate o nou aplicaie sau reconfigurri de concurente, care trebuie prelucrate urgent, n sistem apar conflicte ntre componente, blocri ale acestora, incertitudini de funcionare. Problematica i amploarea efortului de cercetare, investit recent n domeniul evalurii performanelor sistemelor cu evenimente discrete i hibride, inclusiv i a sistemelor de concurente, este de larg notorietate, fiind reflectate de numeroasele articole pe aceast tem, publicate n cele mai prestigioase reviste de specialitate [4, 9,18, 23, 33, 40, 52, 62]. Totui, n pofida rezultatelor obinute, o problem major n analiza performanelor acestor tip de sisteme const n descrierea fenomenelor stocastice care reprezint defectarea i repararea componentelor, variaia timpurilor de prelucrare a aplicaiilor. n acest scop, pot fi utilizate tehnici de simulare a funcionrii sistemului [53, 56] sau metode analitice de analiz. Dezavantajul simulrii const n faptul c aceasta nu permite verificarea funcional, obinerea unor rezultate exacte i ea necesit mult timp. Metodele analitice de analiz a unui sistem de concurente sunt metode deductive, care permit obinerea rapid a soluiei problemei de modelare i evaluare a performanelor acestui sistem printr-un raionament pe baz de algoritm. Deopotriv este bine cunoscut faptul c direciile de cercetare din cadrul domeniului performanelor sistemelor de concurente s-au dezvoltat independent, n funcie de motivaia tiinifica a colectivelor ce au promovat respectivele direcii, bazate pe diferite abordri: (i) lanuri Markov timp continuu [14, 18], ns acestea pot fi folosite doar pentru modelarea unei clase restrnse de procese de concurente ce au un spaiu de stri mic, deoarece el poate fi construit numai n mod manual i apar probleme cu validarea acestor tipuri de modele; (ii) sistemele i reelele de ateptare sunt un formalism de un nivel mai nalt, ceea ce permite de a obine rezultate analitice n form multiplicativ cu anumite restricii. Acestea au fost folosite cu succes pentru modelarea i evaluarea performanelor unei clase restrnse de procese de concurente n cercetrile efectuate n lucrrile [53, 72] ns nici cu acest formalism nu se poate efectua compunerea submodelelor i nu pot fi descrise astfel de fenomene ale proceselor de concurente cum ar fi: sincronizarea, cooperarea, excluderea mutual, partajarea resurselor, mobilitatea, reconfigurabilitatea, etc.; (iii) algebre ale proceselor stocastice [27, 34], cu ajutorul crora poate fi efectuat compoziia (sub)modelelor i se pot descrie fenomenele proceselor de concurente menionate anterior, dar nici n cadrul acestui formalism nu poate fi descris mobilitatea, reconfigurabilitatea i nu se efectueaz n mod automat verificarea proprietilor comportamentale;

(iv) reelele Petri stocastice [2, 20, 28, 30, 36]) actualmente sunt recunoscute ca un puternic formalism de modelare a sistemelor cu evenimente discrete concurente i paralele, ns lipsa construciilor compoziionale, integrate n astfel de modele, face ca utilizarea lor s fie dificil i deseori nepotrivit la modelarea diverselor sisteme reale. Compunerea acestor tipuri de modele prin reele Petri plate devine mai degrab o art dect o activitate cotidian. La etapa actual de cunoatere, domeniului i lipsete un context unificator al manierelor de tratare i abia n ultimii ani s-a pus problema studierii compatibilitii dintre diversele abordri existente 4, 6, 23, 27, 72], integrarea proprietilor compoziionale din submodele ale componentelor constituente i descrierea particularitilor proceselor de concurente mobile i reconfigurabile. Mai mult, aceasta se resimte i prin prisma instrumentelor software la care fac apel colectivele angrenate n diverse direcii de cercetare la evaluarea performanelor proceselor discret-continue de concurente [48, 49, 65, 69]. Pentru abordarea problematicii specifice elaborrii sistemelor de concurente, s-a fcut apel la diverse procedee de formalizare, exploatndu-se o arie vast a matematicilor moderne. n acest context, un loc aparte n spaiul relativ neomogen al tratrii matematice a proceselor de concurente, l ocup formalismul reelelor Petri. Stadiul actual de dezvoltare al formalismului reelelor Petri de diferite extensii permite investigaii att calitative, axate pe aspecte logice, ct i cantitative, axate pe aspecte temporale stochastice ale dinamicii sistemelor de concurente. Interesul nostru s-a ndreptat nspre reele Petri stocastice (RPSG) [35] ca model de referin, deoarece acestea constituie un formalism grafic simplu i intuitiv de reprezentare a sistemelor cu evenimente discrete n care au loc fenomene de paralelism, de sincronizare, resurselor i restructurare n timp real. Pentru a efectua modelarea funcionrii sistemului distribuit cu aplicaii concurente i evaluarea indicatorilor de performan dinamic a acestuia prin reele RPSG este necesar de a lua n consideraie astfel de fenomene cum ar fi: competiia, sincronizarea, situaii de conflict, excludere mutual, ateptare i interdependena prilor hardware i software, deoarece defectarea unor componente ale prii hardware influeneaz direct starea de bun funcionare a aplicaiei software, care duce la rezultate incorecte. partajare a

1. Aspecte de modelare i verificare a sistemelor concurente prin reele Petri generalizate descriptiv-compoziionale
1.1 Aspecte arhitecturale i de analiz a proceselor concurente
Dezvoltarea tehnicilor de comunicaie, de procesare a informaiei i a microelectronicii sunt unii din factorii fundamentali ai progresului tehnologic actual i vor constitui i n continuare prghiile de baz pentru realizarea sistemelor de concurente i a reelelor de calculatoare tot mai performante, n care rularea aplicaiilor se face prin intermediul unor module cooperante de prelucrare distribuit a datelor. Un sistem de calcul cu aplicai concurente (SC) este constituit dintr-un ansamblu de componente funcionale fizice (hardware) procesoare, memorii private sau comune, magistrale comune, dispozitive periferice etc. i logice (software de baz) sistem de operare, programe utilitare, programe de gestiune a datelor, care interacioneaz n scopul satisfacerii unei diversiti de cerine, adesea contradictorii. Definiia sistemelor concurente prezentat n [56] este suficient de general pentru a acoperi multitudinea de variante arhitecturale cunoscute, rezultat al evoluiei contextului tehnologic i al cerinelor de performan i de utilizare ale acestora. Exist o strns legtur ntre arhitectura sistemelor de concurente, nivelul de performan i software-ul care urmeaz s-i pun n valoare caracteristicile funcionale. Pe baza disponibilitii tehnice i structurale ale acestor elemente i a combinaiilor arhitecturale dintre ele, se obine mulimea modelelor, imaginabile teoretic, ale sistemelor concurente. n realitate, doar o submulime destul de restrns este viabil sub aspectele fezabilitii tehnologice i a acceptabilitii n raport cu criteriile de performan, utilitate i cost. Un principiu de baz pentru concepia arhitecturii unui sistem de concurente n scopul mbuntirii calitii i al creterii performanelor sale este paralelismul i cooperarea resurselor de concurente concurente folosite, care i gsete aplicabilitatea att la nivel hardware, ct i software [10, 18, 26, 64]. La nivel hardware, de exemplu, creterea puterii de procesare a datelor, a fiabilitii i a toleranei la defectri pot fi mbuntite prin realizarea unor dispozitive numerice integrate pe scar foarte larg pe baza utilizrii extensive a paralelismului la diferite niveluri de granularitate redundante i dezvoltarea unor arhitecturi avansate care permit restructurarea lor n mod dinamic la prelucrarea concurent a aplicaiilor. La nivelul software, se pune problema identificrii i exploatrii paralelismului, n contextul hardware disponibil, cu un potenial mare de prelucrri paralele. n general, detectarea i realizarea paralelismului este o problem dificil din cauza dependenei de date i a modalitii 9

de reprezentare a proceselor concurente cooperante. n [35] sunt descrise unele ci de introducere a paralelismului n arhitectura sistemelor de concurente. Sistemele de calcul concurente de tip MIMD (Multiple Instruction Multiple Data) cu fluxuri de instrucuni i date multiple prezint, prin caracteristicile arhitecturale i capabilitile funcionale, cel mai mare potenial de exploatare a paralelismului. Acest tip de sisteme este constituit dintr-un ansamblu de elemente de prelucrare, care au acces la module de memorii comune (sisteme cu interconectare strns) sau proprii. n acest caz comunicarea dintre elementele de prelucrare este efectuat numai prin mesaje (interconectare moderat sau slab), care coopereaz n mod transparent pentru realizarea funciilor de control i prelucrare, adic permit identificarea i exploatarea paralelismului la un nivel mai mic de granularitate, dar cu perspectiva de a ameliora unele aspecte de ineficien, menionate anterior. Un model arhitectural, fiind considerat ca o referin de ctre fiecare conceptor al unui sistem cu prelucrare distribuit i concurent a datelor n activitatea sa de proiectare, trebuie s includ aspecte structurale statice sau dinamic reconfigurabile, de funcionalitate i implementare. Aceste aspecte pot fi sintetizate prin patru principii de baz [35]: modularitate, funcionalitate, transparen minim, performane maxime. Principiul modularitii presupune structurarea sistemului ntr-un ansamblu de entiti reale i abstracte ncapsulate n obiecte avnd diverse grade de granularitate. Principiul funcionalitii const n asigurarea funcionrii autonome i integrate a elementelor sistemelor concurente. De asemenea, funcionalitatea trebuie neleas ca avnd o finalitate precis la orice nivel de abstractizare. Indiferent de nivelul de detaliere considerat, acest principiu presupune folosirea unui model de execuie paralel, distribuit i/sau concurent de exemplu, modelul client-server care s permit evoluia cooperante. Transparena utilizrii funciilor/serviciilor, oferite n raport cu localizarea obiectelor i eterogenitatea componentelor sistemului de concurente, este un criteriu de ncadrare n clasa sistemelor cu prelucrare distribuit a proceselor concurente. Asigurarea transparenei minime presupune definirea gradului de transparen la un nivel nu mai mare dect cel cerut de anumite aplicaii. Principiul performanei maxime prevede alegerea combinaiilor arhitecturale i atributele acestora cele mai adecvate, pentru a satisface ct mai amplu cerinele de performan ale unor clase de aplicaii. Transparena, cerinele de deschidere, evoluie dinamic sau de standardizare reprezint elemente care influeneaz semnificativ opiunile care conduc la ncadrarea n acest principiu. proceselor aplicaiilor

10

1. 2 Modelarea, verificarea i evaluarea performanelor


1.2.1 Metode de modelare, verificarea i evaluare Studierea performanelor constituie una din componentele importante ale activitilor de concepie, de realizare i de ntreinere ale sistemelor de calcul concurente. La nivelul activitilor de concepie i realizare, interesul estimrii performanelor viitoare ale noilor sisteme de concurente tinde s creasc n condiiile sporirii complexitii sistemelor de realizat i implicit a riscului de a obine produse insuficient adaptate destinaiei i cerinelor de performane propuse. n mod asemntor, alegerea unui sistem de calcul adecvat cerinelor proprii unei clase de aplicaii presupune investigaii preliminare privind comportarea sistemelor disponibile n contextul viitor de utilizare [35, 71]. Mrimile care caracterizeaz performanele unui sistem de calcul concurent depind n mare msur de scopul urmrit prin efectuarea evalurii respective. n cele mai multe cazuri performanele, raportate la o anumit ncrcare, se pot exprima n timp de rspuns, debit de lucrri, randamentul utilizrii resurselor, puterea de procesare a sistemului, etc. Modelarea sistemelor de concurente i a altor tipuri de sisteme este folosit pentru descrierea funcionrii i evalurii performanelor lor n stadii de elaborare sau de exploatare. Mai mult, modelarea este unicul mijloc, care poate fi folosit de conceptori, cnd el trebuie s aleag ntre mai multe opiuni viabile ce sunt, la rndul lor inaccesibile la experimentare din cauza constrngerilor de cost i timp. Strategiile de folosire a potenialului de calcul oferit de multitudinea resurselor depind de relaiile de interdependene dintre procese, ntrzierile de comunicaie, frecvena comunicaiilor dintre elemente de prelucrare, strategia de folosire a resurselor specifice aplicaiei. Principalele metode de verificare i evaluare a performanelor, utilizabile n diverse etape ale duratei de existen a unui sistem de concurente, sunt: analiza pe baza modelelor matematice, modelelor de simulare i msurarea performanelor, inclusiv experimentarea prototipurilor. Primele dou metode sunt, de obicei, utilizate pentru estimarea performanelor unui nou sistem de concurente i pentru studierea gradului de adaptabilitate a sistemelor de concurente la cerinele de performan i cost impuse de diverse clase de aplicaii [9, 10, 71, 73]. Msurarea performanelor, presupune existena sistemului real, ale crui caracteristici funcionale trebuie investigate i ameliorate. Noiunea de model, folosit de toate metodele de evaluare n sensul de a reprezenta printr-un procedeu mai mult sau mai puin formal sistemele reale, inclusiv i modul lor de funcionare, inerent, este legat de concretizarea unor detalii funcionale i arhtecturale. Gradul de detaliere a

11

descrierii unui sistem determin apropierea acestui model de realitate i influeneaz direct complexitatea i, deci, costul modelului obinut. La modelarea sistemelor de calcul concurente apar probleme de complexitate major: (i) probleme care pot fi formalizate i soluionate n mod analitic; (ii) cele care pot fi formalizate, ns nu se tie cum ele pot fi soluionate; (iii) cele care nu pot fi formalizate, ns poate fi descris un mecanism de funcionare a sistemelor. Dac simularea asistat de concurenteator poate s ncadreze aceste trei domenii de probleme, atunci modelarea matematic se limiteaz la folosirea primelor dou cazuri (n al doilea caz se vor gsi metode numerice apropiate). Pentru primul caz aceste dou apropieri, se vor valida mutual, n al doilea caz se poate de efectuat concurentee necesare de precizie a unei metode n raport cu altele, al treilea caz rmne apanajul simulrii. n continuare considerm o abordare de analiz sistem, care are ca punct de plecare faptul c funciile unui sistem de concurente se realizeaz prin aciunile unor procese de calcul concurente cooperante. n acest context, cooperarea presupune nu doar capacitatea proceselor de a comunica, ci i corelarea aciunilor lor n vederea realizrii sarcinilor commune, lund n consideraie astfel de fenomene cum ar fi: competiia, sincronizarea, situaii de conflict, excludere mutual, ateptare, etc. [35]. 1. 2. 2 Validarea i dezvoltarea modelelor de evaluare Proiectarea i dezvoltarea unui (sub)sistem n baza principiului reducerii complexitii are avantaje directe privind nelegerea i stpnirea paradigmelor sistemelor cu evenimente discrete i creaz premiza construirii n paralel a componentelor acestuia. Dup dezvoltarea i verificarea independent a componentelor, trebuie asigurat integrarea acestora ntr-un tot unitar, care, prin prisma utilizatorului, apare ca un sistem unic ce trebuie s corespund specificaiilor dorite. Integrarea se face n mod progresiv, incremental, fiecare subsistem nou integrat fiind dependent, sub aspect funcional i al performanelor, de toate celelalte. Validarea specificaiilor se bazeaz pe funcionalitatea fiecrui subsistem i ele au o importan vital n demonstrarea funcionalitii globale a sistemului. n ceea ce privete performanele globale ale sistemului situaia este mai complicat, deoarece verificrile pariale, fcute pentru fiecare subsistem n parte, nu totdeauna permit obinerea direct a unor informaii referitoare la performanele globale ale sistemului. Concepia unui sistem de calcul concurent bazat pe paralelism i coperarea componentelor de la specificaia sa iniial pn la verificarea faptului c dezvoltarea propus satisface cerinelor de performan, necesit, de asemenea, un mediu de dezvoltare care s permit exprimarea specificaiei, descrierea proceselor de prelucrare, compunerea acestor procese pentru a defini interaciunile dintre acestea, etc. n plus, este de dorit ca ntr-un astfel de mediu de concepie i 12

dezvoltare s fie folosit un singur formalism, care s aib capabiliti suficiente pentru exprimarea algoritmilor distribuii, descrierea aciunilor proceselor cooperante, protocoalelor de comunicaie, reconfigurarea dinamic n construirea i validarea modelului sistemului analizat. Dup [18, 21, 23, 33], tehnicile de descriere formal a sistemelor cu evenimente discrete pot fi clasificate n tehnici orientate pe proprietate i tehnici orientate pe model, care descriu funcionarea sistemului prin construirea i analiza modelului su. Exemple de tehnici orientate pe proprietate: logica temporal, limbaje formale sau algebre ale proceselor [33]. ns acestea nu permit evaluarea performanelor sistemului n cadrul folosirii aceluia formalism. Tehnicile orientate pe model dezvolt modelul sistemului, care se supune apoi studiului. Acestea au fost elaborate pentru a reprezenta comportamentul sistemelor cu prelucrare distribuit, modelul stare-tranziie este cel mai cuprinztor i mai rspndit [66, 67, 70]. Elementele de baz ale acestuia sunt: o mulime de comenzi sau evenimente, o mulime de stri sau condiii, funcii de tranziie i o stare iniial, care furnizeaz valorile variabilelor de stare. Fiecare eveniment este asociat cu o funcie stare-tranziie, care provoac schimbarea sistemului dup anumite reguli. n general, fiecare tranziie este indivizibil, n sensul c un eveniment este tratat izolat. Funcionarea poate fi nedeterminist: de la o stare sunt posibile mai multe tranziii care conduc la stri diferite. Modelele cu reele Petri (RP) i extensiile lor [2, 50, 55, 57, 63] pot fi considerate modele stare-tranziie care permit verificarea comportrii globale sau specifice ale proceselor componente unui sistem. Concepute s descrie sisteme distribuite cu evenimente discrete, n care concurena, sincronizarea, comunicarea i paralelismul ocup un loc central, RP au devenit n scurt timp un model de referin n acest domeniu. Fa de alte formalisme, RP au urmtoarele avantaje: simplitatea - teoria RP face apel la un numr redus de concepte elementare care sunt combinate ntr-o varietate de forme; generalitatea cu ele putem modela toate tipurile de sisteme cu evenimente discrete; adaptabilitatea este evideniat prin faptul c modificri minore aduse modelului clasic de RP conduc la modele speciale ce pot surprinde aspecte de temporizare, probabilitate i incertitudine, capabile s le fac utile n domenii ct mai variate. RP li se pot asocia relativ uor diverse tipuri de semantici: secvene de tranziie finite sau infinite, limbaje formale, urme, procese, etc. Multe proprieti comportamentale importante ale sistemelor modelate prin RP pot fi exprimate din punct de vedere al cooperrii proceselor concurente, n special, celor de a fi mrginit, viabil, reversibil, sigur, etc., n baza crora se poate stabili, de exemplu, corectitudinea interaciunii componentelor structurilor corespunztoare 13

n raport cu respectarea restriciilor iniial specificate. RP prezint, de asemenea, un mare interes datorit claritii grafice i intuitive de reprezentare a fluxului controlului ntr-un sistem cu activiti interdependente, iar extensiile lor la RP stocastice [ 2, 63] permit studiul sistemelor de calcul concurente sub aspectul evalurii performanelor.

1.3 Reele Petri generalizate


1.3.1 Noiuni introductive i definiii de baz n RP legtura cauz-efect dintre evenimente este redat printr-o mulime de relaii de tipul condiii-evenimente, condiiile fiind asociate cu locaiile reelei, iar evenimentele cu tranziiile respective. Succesiunea de evenimente este exprimat de declanarea tranziiilor validate. Satisfacerea unei condiii este determinat de mrimea marcajului locaiei ce corespunde acestei condiii. Conveniile referitoare la regulile de declanare ale tranziiilor determin metoda de exprimare a concepiei legturilor cauz-efect dintre condiiile i evenimente ce au loc n sistem [63]. Numai dup satisfacerea pre-condiiilor pot aprea unele evenimente, apoi se realizeaz post-condiiile, care, la rndul lor, sunt pre-condiiile unor altor evenimente etc. Astfel, cauzele iniiale pot disprea, dar pot i s-i continue aciunea, ntruct n RP exist destule resurse de marcaje pentru a se asigura regenerarea lor. Pentru ca o tranziie s se poat produce trebuie ndeplinite o serie de condiii, reprezentate prin intermediul locaiilor. Unele locaii sunt considerate intrri ntr-o tranziie i sunt asociate cu condiiile care trebuie ndeplinite pentru ca acea tranziie sa se produc. Alte locaii sunt considerate ieiri ale tranziiei i sunt asociate cu condiiile care sunt afectate de apariia acestei tranziii. Pentru a descrie n mod adecvat interaciunile ce se ntlnesc n sistemele reale destul de complexe, au fost propuse mai multe extensii ale RP [2, 50, 55, 57, 63]. n vederea considerrii locaiilor vide, ca eventuale condiii de declanare ale tranziiilor, au fost definite arce de un tip deosebit, numite arce inhibitoare. Alte extensii ale reelelor Petri sunt cele care permit specificarea unor prioriti la declanarea tranziiilor ce sunt concomitent validatate i cele care includ limite de timp pentru declanarea tranziiilor sau cele care asociaz fiecrui arc o pondere variabil ce se automodific n funcie de marcajul curent al reelei [75, 76]. Puterea de modelare a reelelor RP obinuite este mai mic dect maina Turing, dar orice extensie a acestor tipuri de reele este echivalent cu ea [76]. n prezent reelele Petri au numeroase aplicaii i sunt utilizate n diverse domenii: sistemelor de producie, inginerie, telecomunicaii, modelarea proceselor de afaceri i n nvmnt, deoarece dispun de o reprezentare grafic foarte accesibil, au o semantic bine definit care permite o analiz formal a comportamentului i proprietilor acestora. 14

n ultimul deceniu, o atentie deosebit s-a acordat studiului fenomenelor de asteptare cu cereri negative. Cand o cerere negativ soseste ntr-un sistem de ateptare, ea nlatur imediat una sau mai multe cereri pozitive (ordinare sau normale) prezente. De la introducerea conceptului de cereri negative de Gelenbe [31], cercetarea asupra sistemelor de ateptare cu sosiri negative a fost motivat puternic de aplicaii practice, cum ar fi reelele neuronale, reelele de calculatoare, sisteme de producie i reele de comunicaii, etc. Intr-o reea de calculatoare, o baz de date, cererile negative pot fi reprezentate de virui sau comenzi de a sterge unele tranzacii. Intr-o reea neuronal, cererile negative i pozitive pot reprezenta respectiv semnale inhibitorii i excitatorii. Pentru a descrie n cadrul aceluiai formalism i n mod adecvat procesele de calcul concurente, a efectua verificarea i apoi evaluarea caracteristicilor numerice de performan ale sistemelor de concurente distribuite, n [35], a fost introdus o nou clas de reele Petri generalizate (eng. Generalized Petri Nets (GeN)), cu capaciti negativ-pozitive ale locaiilor i arce reversibile de cardinalitate marcaj dependent, subiacente reelelor Petri stocastice generalizate. n continuare, vom defini o extensie de reele GeN etichetate care permit de a descrie n mod adecvat logica interaciunii proceselor de concurente cooperante. Fie IZ este mulimea numerelor ntregi, iar IN+ este mulimea numerelor naturale. n acelai context, definim L mulimea de etichete L = L P LT , LP LT = asociate respectiv locaiilor i tranziiilor. Locaiile pi etichetate l ( pi ) LP exprim acelai tip de condiii (stri locale, resurse, etc.) l ( pi ) = i , iar fiecare tranziie tj etichetat l (t j ) LT descrie tipul de aciune l (t j ) = j . Definiia 1.1. O reea Petri generalizat etichetat cu capaciti negativ-pozitive ale locaiilor i arce reversibile cu o cardinalitate marcaj-dependent, numit GeN, este o structur de obiecte , redat de urmtorul 10-tuplu: = < P, T, Pre, Post, Test, Inh, Kp , Pri, G, l >, unde: - P este mulimea nevid de locaii, |P| = k. Locaiile pot s conin un numr ntreg negativ ori pozitiv de jetoane. n reprezentarea grafic locaiile sunt redate prin cerculee (vezi Fig.1.1); - T este mulimea nevid de tranziii, |T| = n i PT=. n reprezentarea grafic tranziiile sunt redate prin bare subiri sau dreptunghiuri negre; - Pre, Test i Inh : P T IZ | P | IZ respectiv sunt funcii de inciden inainte ale arcelor cu cardinalitate marcaj-dependent: Pre este funcia de inciden nainte la tranziii, Test este funcia promotor ce descrie eventualele bucle ale reelei impure, adic Pre(t,p)=Post(t,p), iar Inh

15

este funcia de inhibiie a tranziiilor; Post :T P IZ | P | IZ este funcia de inciden napoi la tranziii. Aceste funcii mapeaz mulimea arcelor A n mulimea numerilor ntregi IZ

(negative/pozitive) care determin cardinalitatea marcaj-dependent a arcelor ce conecteaz locaiile (tranziiile) cu tranziiile (locaiile) respective. Mulimea arcelor A este partiionat n trei submulimi A=Ad Ah At, Ad Ah At= . Submulimea Ad determina mulimea arcelor normale directe prin care se consum din pre-locaii sau se produc n post-locaii jetoane (relaie

consumator-productor). Aceste arce sunt reprezentate prin sgei. Submulimea Ah i/sau At


determina mulimea arcelor inhibitoare i/sau test. Acestea nu consum jetoane. Un arc inhibitor este reprezentat printr-o linie cu un cercule mic la sfrit, iar un arc test este reprezentat printr-o sgeat cu linie ntrerupt. Dac cardinalitatea unui oarecare arc este egal cu 1, ea nu se menioneaz explicit; - K p : P IZ | P | IZ este funcia de capacitate a locaiei i pentru fiecare pi P aceasta
min max este redat respectiv de capacitatea minim K pi i de capacitatea maxim K pi , astfel nct

min max < K pi < K pi < + n locaia pi poate s se afle zero, un numr ntreg pozitiv (negativ) de min max jetoane (antijetoane). Implicit: K pi = 0 , iar K pi este considerat nelimitat;

- Pri: T IZ |+P |IN+ este funcia de ordonare parial a lui T care introduce prioriti dinamice de declanare a tranziiilor validate de marcajul curent. Implicit prioritile nemenionate ale unor tranziii t j sunt considerate nule, adic Pri( t j )= 0; - G : T IZ |P | {true, false} este o funcie de gard (eng. Guard-function), care pentru orice

t determin o funcie Boolean g(t, M) n marcajul current M. Dac tranziia t este validat de
marcajul curent M relativ la arce i g(t, M) are valoarea true, atunci tranziia t rmne validat i eventual ea poate fi declanat, iar dac g(t, M) are valoarea false - aceast tranziie nu este validat. Implicit g(t, M)=true. - l : (T P) L este funcia de etichetare a nodurilor (tranziii i locaii) reelei care

mapeaz respectiv locaiile i tranziiile n tipuri de condiii i aciuni, astfel nct

l (t j ) = l (t k ) = pentru t j t k sau l ( pi ) = l ( pn ) = pentru pi p n .


Funciile Pre i Post pot fi redate cu ajutorul unor matrice de inciden nainte C + i de inciden napoi C de dimensiunea n k, unde n linii corespund numrului de locaii, iar k coloane corespund numrului respectiv de tranziii. Se va nota cu Pre(t, p) i Post(t, p) elementele acestor matrice, care corespund ponderilor arcelor respective (t, p) i (t, p). Cu Pre(, p) i Post(, p) vor fi notate liniile matricei asociate cu o locaie pP, iar cu Pre(t,) i Post(t,) vor fi notate coloanele acestor matrice ce sunt asociate unei tranziii t T.
16

Structura reelei poate fi considerat i deci reprezentat de un graf orientat bipartit (GR), arcele cruia sunt ponderate, iar P T este mulimea vrfurilor acestui graf [11, 27, 161]. Pentru a descrie dinamica funcionrii reelei trebuie considerate GeN marcate i definite regulile de schimbare a marcajelor.
Definiia 1. 2. O reea GeN marcat este sistemul redat de cuplul N =< , M0 >, unde
este structura reelei considerat n Definiia 1.1, iar M 0 este marcajul iniial al reelei GeN ce

determin o funcie de marcare curent a locaiilor M : P IN + . Marcajul curent M este descris de ctre un vector coloan M = (mi pi , mi 0) , i = 1,..., n ,

n =| P | ,

unde

mi p i ,

min max K pi mi K pi este numrul intreg pozitiv (sau negativ) mi = M ( pi ) de jetoane (sau

antijetoane) n fiecare locaie. Jetoanele (antijetoanele) grafic sunt reprezentate prin puncte negre
min (cerculee mici). Astfel, dac K pi mi < 0 , atunci numrul de antijetoane ai n locaia pi este min egal cu ai = K pi mi .

n cele ce urmeaz, pentru a defini regulile de funcionare a unei reele N, introducem urmtoarele notaii:

t = { p P / Pre (t , p) 0} i t = { p P / Post ( p, t ) 0} este, respectiv, mulimea de

locaii incidente la intrarea i la ieirea tranziiei t; - p = {t T / Post (t , p) 0} i p = {t T / Pre (t , p) 0} tranziii incidente la intrarea i la ieirea locaiei p; - o t = { p P / Inh (t , p) 0} i *t = { p P / Test (t , p) 0} este mulimea locaiilor de control al tranziiei t prin arce inhibitoare i arce test; p o = {t T / Inh (t , p) 0} i p * = {t T / Test (t , p) 0} este mulimea tranziiilor este, respectiv, mulimea de

controlate de locaia p, respectiv, prin arce inhibitoare i arce test; n acelai context, pentru a reda regulile de validare a lui t, introducem i urmtoarele notaii: Dac ( Pre(t j , pi ) < 0 ) atunci I j, i = Pre(t j , pi ) ; Dac ( Post (t j , pi ) < 0 ) atunci

O , i = Post (t j , pi ) ; j

Dac ( Inh(t j , pi ) < 0 ) atunci In , i = Inh(t j , pi ) ; Dac ( Test (t j , pi ) < 0 ) atunci j


Ts , i = Test (t j , pi ) . j

Structura reelei GeN determina logica interaciunii evenimentelor, iar executarea regulilor de funcionare a reelei N determin dinamica sa de comportare, preciznd modul, in care declanarea tranziiilor permite de a modifica numrul de jetoane n locaiile reelei.
17

1.3.2 Funcionarea unei reele marcate

La definirea comportamentului dinamic al reelelor GeN marcate sunt acceptate urmtoarele dou ipoteze fundamentale: Ipoteza 1. Atomicitate. Evaluarea condiiei de validare i/sau de executare a regulilor de declanare a unei tranziii este o aciune individual, indivizibil i instantanee; Ipoteza 2. Nedeterminism. Nu exist nici o ordine n privina declanrii tranziiilor care sunt simultan validate (declanabile), adic alegerea unei declanri nu este determinist. Aceste dou ipoteze indispensabile sunt folosite la modelarea proceselor cooperante n sistemele de concurente.
Definiia 1.3. (Regula de validare a unei tranziii). O tranziie t j este validat de marcajul

curent M, notat M[ t j >, dac i numai dac, pentru ea este verificat funcia Boolean, ce determin condiia sa de validare (eng. enabling condition) ec( t j , M ) : ec( t j , M ) = ecPr e ( t j , M ) ec Post ( t j , M ) ec Inh ( t j , M ) ecTest ( t j , M ) g ( t j , M ) , unde: (1.1) ecPr e ( t j , M ) =
pi t j
max (( mie Pre(t j , pi ) ) (( K p mi ) I , i ) ) este condiia de j
i

validare relativ la arce normale incidente nainte la tranziia t j i la capacitile locaiilor pi t j ,


min iar mie = mi K pi este numrul efectiv de jetoane n locaia pi ;

max ec Post ( t j , M ) = (( mie Post (t j , pi ) ) (( K pi mi ) O , i ) ) j

pi t j

este

condiia

de

validare relativ la arce normale, care sunt incidente napoi la tranziia t j , i la capacitile locaiilor pi t ; j ec Inh ( t j , M ) =
pi ot j

(( mie < Inh(t j , pi ) ) (mie < In , i ) ) este condiia de validare relativ j

la arce inhibitoare; ecTest ( t j , M ) =


pi t j

(( mie Test (t j , pi ) ) (mie Ts , i ) ) este condiia de validare j

relativ la arce test. Mulimea tranziiilor validate de marcajul curent M este notat ( ). Validarea unei tranziii nu implic declanarea sa imediat. La un moment dat putem avea mai multe tranziii validate, dintre care una singur poate fi selectat pentru a fi declanat imediat. Declanarea tranziiei trebuie neleas doar ca o posibilitate ce decurge din validare. Nu exist sincronism n N i nici definirea ordinii de declanare a tranziiilor validate concurent. Totodat, declanarea unei tranziii trebuie considerat ca o aciune indivizibil. Dei conceptul 18

de durat nu este folosit ntr-o N , poate fi util s asociem declanarea unei tranziii cu o durat zero, pentru a facilita nelegerea conceptului de indivizibilitate a acestei aciuni.
Definiia 1.4. (Regula declanrii unei tranziii validate). Tranziia t j T (M ) este

declanat dac nu exist o alt tranziie cu o prioritate superioar ei, Pri( t j )>Pri( tk ), pentru care sunt verificate precondiiile sale de validare t k T (M ) . Declanarea tranziiei t j din M conduce la un nou marcaj M = M + Post (t j , ) Pre (t j ,) , unde Pre (t j ,) i Post (t j ,) , sunt funcii induse de matricele Pre, Post pe P. Faptul declanrii t j de marcajul M va fi notat M [t j ] > M . Jetoanele i antijetoanele, ce se afl n aceeai locaie, se vor anihila imediat unele pe altele. Anihilarea este posibil n fiecare marcaj cu mi 0 i ai 0 n aceeai locaie pi . Aceast aciune produce un marcaj instabil (engl. vanishing state) , care imediat schimb cuplul ( mi , ai )
) ) ) n marcajul ajustat la ( mi ai , ai mi ), unde xi yi este definit astfel:

x y, ) xi yi = 0,

x y 0, altfel.

Aceasta implic faptul c n fiecare locaie pi putem avea un marcaj current, fie cu mi p i ,
max min 0 mi K pi , fie cu ai pi , K pi ai 0 .

n rezultat, dac ( Pre(t j , pi ) > 0 ), atunci declanarea tranziiei t j T (M ) consum din (produce n) locaia pi un numr Pre(t j , pi ) > 0 de jetoane (antijetoane), altfel ea produce n (consum din) aceeai locaie un numr Pre(t j , pi ) < 0 de antijetoane (jetoane). De asemenea, dac ( Post (t j , pi ) > 0 ), atunci declanarea tranziiei t j T (M ) produce n (consum din) locaia pi un numr Post (t j , pi ) de jetoane (antijetoane), altfel ea consum din (produce n) aceeai locaie un numr Post (t j , pi ) < 0 jetoane (antijetoane). Exemplul 1.1. Un exemplu de reea N1 cu capaciti negative ale locaiilor i arce reversibile, cardinalitatea marcaj-dependent a crora poate fi negativ este prezentat n Fig.1.1a, n care
min capacitatea minim a locaiilor este K pi = 3 , i=1,...,4, iar ponderile arcelor respectiv sunt:

Pre(t1 , p1 ) = 3 , Pre(t1 , p2 ) = 1 , Post (t1 , p3 ) = 2 i Pre(t1 , p4 ) = 2 .

Marcajul iniial al reelei N1 este M 0 = (2, 2, 3, 1) . Declanarea tranziiei t1 produce 3 jetoane n p1, 2 jetoane n p3, 1 antijeton n p2 i 2 antijetoane n p4, adic ponderea negativ a

19

arcelor duce la schimbarea direciei fluxului de jetoane, modelnd astfel arce reversibile. n Fig. 1.1b este reprezentat schimbarea marcajului M 0 n M 1 = (1, 1, 1, 3) , adic M 0 [t1 > M 1 .

a)

b)

Figura 1.1. Declanarea tranziiei reelei N1 Notm c putera de modelare a reelelor GeN marcate este egal cu maina Tiuring, deoarece ea conine arce inhibitoare [50]. n [3], a fost demonstrat faptul c, pentru o reea RP cu arce de resetare (eng. reset arcs), proprietatea de accesibilitate nu este decidabil. n general, pentru GeN marcate, proprietile de accesibilitate nu sunt decidabile, deoarece n aceast reea, prin funcii marcaj-dependente Pre(t j , pi ) = M ( pi ) ale arcelor normale, pot fi redate arce de resetare a locaiilor pi . ns, unele proprieti comportamentale, pentru cazuri particulare, sunt decidabile.
min max Reelele GeN cu capacitai < K pi < K pi < + negative ale locaiilor i arce reversibile

cu automodificare ( pi , t j ) sau (t j , pk ) de cardinalitate < Wi , j < + sau < W j ,k < + pot fi descrise prin reele GeN+ ce au numai capaciti pozitive ale locaiilor i numai arce cu automodificare de cardinalitate pozitiv. Pentru a obine GeN+ din GeN este necesar de a modifica unele atribute ale acesteia: a) pentru pi a GeN+ punem
+

min K pi = 0 i

max max min K pi = K pi K pi - capacitile pozitive

min respective ale locaiilor, iar + M 0 ( pi ) = M 0 ( pi ) K pi - marcajul lor iniial;

b) dac cardinalitatea unor arce ( pi , t j ) sau (t j , pk ) poate primi valori < Wi , j < 0 sau < W j ,k < 0 , atunci pentru fiecare t j , cu mulimea arcelor { ( pi , t j ) , ( pl , t j ) } i mulimea locaiilor { pi , pl } ( t j o t j *t j ) incidente nainte i celor incidente napoi { (t j , pk ) , (t j , pn ) } cu
{ pk , pn } t , introducem cte o nou tranziie t j , astfel nct incidena arcelor { ( pl , t j ) }, j
pl ( t j o t j *t j ) i { (t j , pn ) }, pn t j este aceeai ca i pentru t j .

Arcul

( pi , t j ) sau

(t j , pk ) ce are pondere negativ este replicat cu sens invers relativ la t j , adic (t j , pi ) sau ( pk , t j ) , iar cardinalitatea acestora respectiv devine +W j , i = Wi , j > 0 sau +Wk , j = W j ,k > 0 ; 20

c) pentru GeN+ funcia de gard a tranziiei t j , n dependen de orientarea arcelor considerate,


+

devine,

respectiv,

g (t j , + M ) = g (t j , M ) & (Wi , j > 0)

sau

g (t j , + M ) = g (t j , M ) & (W j , k > 0) . n mod similar, pentru tranziia t j respectiv punem g (t j , + M ) = g (t j , M ) & (Wi , j < 0) sau + g (t j , + M ) = g (t j , M ) & (W j , k < 0) .

Obinnd astfel reeaua GeN+, ea poate fi analizat folosind metodele clasice cunoscute [63, 67]. n Fig. 1.2, este prezentat un exemplu de o astfel de transformare pentru reeaua N2 n N+2. Din punct de vedere al modelrii, reelele GeN i GeN+ sunt echivalente, deoarece ele genereaz grafuri de marcaje accesibile izomorfe. ns, reeua GeN este cu mult mai compact i flexibil dect GeN+.
p1

p3

p4

p1
k p3 =5

p3

p4

k p3 =5
t1

g1
m1 m3

t2
3

g2

t1 p2

g1

t2

g2
m3 m1
3

t3
g3

m1 m3

p2

p5

p5

Figura 1.2. Transformarea reelei N2 n N+2 n [11, 32] sunt considerate diferite metode de astfel de analiz.
1.3.3 Compoziionalitatea modelelor

Compoziionalitatea este un concept fundamental i o proprietate dorit n definirea metodelor de construire a modelelor sistemelor de concurente folsind modele resurs-aplicaie, modele ale proceselor de concurente sau aplicaii i o interfa sau o mapare ce combin aceste modele [72]. Cu toate c actualmente RP sunt recunoscute ca un puternic formalism de modelare a sistemelor cu evenimente discrete concurente i paralele, lipsa construciilor compoziionale integrate face ca utilizarea lor sa nu fie eficient i nepotrivit n modelarea diverselor sisteme reale. Construirea acestor modele n form de reele RP plate devine mai degrab o art dect o rutin. ncorporarea compoziionalitii n RP [55, 62] a fost i rmne un topic de mare interes de studii n mai multe directii, cum ar fi: sale; reprezentarea i analiza sistemelor resurs/program aparte i apoi integrate; 21 abilitatea de a construi sistemul ntr-un mod compoziional i modular, permind n acelasi timp deducia i/sau pstrarea proprietilor componentelor din analiza subcomponentelor

rafinarea sau compunerea modelelor; analiza compoziional a proprietilor modelului.

Studiile asupra definiiei semanticii reelelor RP compoziionale, reprezint o abordare modular a construciei i analizei acestora. De exemplu, n [33] sunt propuse unele abordri compoziionale bazate pe semantica algebrei proceselor CSP (Communicating Sequential Processes), n care se discut necesitatea teoretic i practic de elaborare a metodelor de generare compoziional a spaiului de stri. Kotov [40] descrie o semantic de control al structurilor RP ordinare i a unor operaii, n termenii unei reele structurate, pentru care este caracteristic construirea lor topologic regulat. De la reele atomice (corespunzatoare cuvintelor program), reele RP ordinare mai complexe pot fi formate aplicnd operaii compoziionale. Aceasta d posibilitatea de a partiiona procesul de analiz i construire a unor atare reele ntr-o multitudine de etape, unde este mai uor de a reda fragmente de reele mai simple. ns aceast subclas de reele RP, din cauza constrngerilor puterii de modelare i de inciden topologic, care au loc la redarea analitic a reelelor RP, nu poate descrie adecvat reele GeN, subiacente reelelor GeN stocastice, ce sunt caracteristice la modelarea proceselor de funcionare ale sistemelor de concurente. n continuare, pentru a aborda aceste inconveniente, vom defini un set de operaii compoziionale ntr-un spaiu de condiii-evenimente, care va permite de a descrie interaciunea proceselor specifice sistemelor de concurente. Astfel, avem posibilitatea de a formaliza etapa de trecere logic de la descriera informal a arhitecturii, specificaiilor comportamentale ale sistemului ctre modelul su n form de GeN. Pentru a defini o metod compoziional potrivit de compunere i analiz a modelelor de GeN, vom lua n consideraie urmtoarele criterii: etc.; definiia unei componente de baza: ar trebui s fim n stare s construim modelul ntr-o maniera regular i progresiv, pornind de la componente ce au caracteristici comune, asemanatoare. n acest mod, conceptorul poate identifica, ce va constitui o component de baz i va putea construi modelul, folosind operaiile de compoziie respective; operaiile compoziionale ale GeN ar trebui s suporte reprezentarea diferitelor tipuri de interaciuni ale resurselor, diferitelor tipuri de abloane comportamentale i structuri simetrice, comune proceselor cooperante ale sistemelor de concurente paralele i distribuite; marcajul iniial al componentelor. Starea sistemelor este modelat n GeN printr-o distribuie de jetoane n locaiile reelei. Considernd sistemul compus din subsisteme, starea 22 relaia model sistem: modelul sistemului i modul n care el a fost construit ar trebui s reflecte structura sistemului: (sub)sistemele, componentele, procesele sale i relaiile dintre ele,

sistemului ar trebui compus sau dedus din starea subsistemelor. n acelai mod, ntr-o reea compoziional GeN ar trebui sa fie posibil deducerea strii unei componente date din compoziia starilor subcomponentelor sale; reutilizarea submodelelor. Compoziionalitatea i modularitatea ar trebui s implice i posibilitatea de reutilizare a lor. Pentru a avea posibilitate de a reutiliza o component, funcionalitatea acesteia trebuie cunoscut. Cu toate c aceasta nu este menionat explicit, ca fiind una din metodele compoziionale studiate, toate metodele ce asociaza o funcionalitate componentelor, implicit, permite reutilizarea acestora.

1.4 Expresii descriptive ale reelelor Petri generalizate


Pentru a modela procesele sistemelor de calcul concurente prin GeN marcate este necesar s definim un set de operaii compoziionale care vor exprima interaciuni sincrone i asincrone ale componentelor. Exist un consens n privina obinerii comunicrii asincrone prin contopirea locaiilor (metoda de cutie potal) dintre componente sau folosind locaii etichetate [40]. n acelai context, exist dou metode de baz n modelarea comunicaiei sincrone: prin contopirea tranzitiilor (metoda randez-vous) sau folosind tranziii etichetate. Locaiile i tranziiile etichetate sunt, n unele cazuri, folosite i ca pai intermediari pentru a identifica nodurile reelei ce urmeaz a fi contopite. Metodele, ce utilizeaz direct contopirea nodurilor, se bazeaz pe cunoasterea de ctre conceptor a nodurilor, ce urmeaz a fi contopite. Pentru a reutiliza o component cu locaii etichetate sau tranziii etichetate, se poate s fie necesar redenumirea acestora. Fie = {a, b, c,...} sau = { p1 , p2 , p3 ,...} este mulimea de simboluri-locaii, iar

= {x, y, z,...} sau = {t1 , t 2 , t3 ,...} este mulimea de simboluri-tranziii n spaiul c _ e de


condiii-evenimente ce determin suportul traseelor unor procese n acest spaiu. n baza acestor suporturi i vom defini un set de operaii copoziionale pe c _ e redate de expresii descriptive elementare (A), (B) sau compuse, ce descriu relaiile de interaciune a ocurenelor evenimentelor, componentelor i sub-sistemelor constituente. Aceste operaii compoziionale vor reda legturile locaii-tranziii-locaii (cauz-efect) n clasa reelelor GeN, subiacente reelelor GeN stocastice. Pentru a reda reelelor GeN proprietai compoziionale, n mod similar cu noiunea de pixel, vom introduce noiunea de dexel (descriptive expression element) cu un set de atribute care permite de a construi, dupa anumite reguli specificate de conceptor, orice model de reea GeN, folosind un set de operaii compoziionale ntroduse n continuare. 23 [40], generalizate i prezentate n

Definiia 1.5. Numim bDE dexel elementul de expresie descriptiv al GeN primitive bN :

bDE =

j j gj tj

m0i ki yii [Wi + ,Wi ] kk | kk , g t

p unde y { p, p, ~} este simbolul-locaie ce determin respectiv tipul de arc ({ normal, inhibitor, test}) cu ponderea Wi {Pr e(t k , pi ), Inh(tk , pi ), Test (t k , pi )} incident nainte la tranziia | tk , iar Wi + {Post (t j , pi )} este ponderea arcului normal ce iese din tranziia | t j i intr n locaia pi . Atributele locaiei pi respectiv sunt: m0i -marcajul iniial; ki - capacitile locaiei; i eticheta locaiei red tipul de condiii. Atributele tranziiilor t j i tk respectiv sunt: g j i g k funciia de gard; j i k - funciia de prioritate; j i k - eticheta tranziiei ce red tipul de aciune. Maparea unor derivative ale bDE n reele GeN primitive bN este prezentat n Fig. 1.3. Unele attribute pot fi omise. De exemplu, dac bDE = | t j yi [Wi + ,Wi ]|tk implicit avem:
min max m0i = 0 ; K pi = 0 , iar K pi este considerat nelimitat;

i = {} , j = {} , k = {} ;

g j = g k ="true " ; j = k = 0 . n cazul n care Wi = Wi + = 1 paranteza ptratic se va omite:

bDE =

j j gj tj

m0i ki yii [1, 1] kk | kk = g t

j j gj tj

m0i ki yii

k k g k tk

n Fig. 1.3d - Fig. 1.3f sunt prezentate unele derivative ale bDE pentru pi = , W
i

k = 0 , bDE = g jj | t j j m0i i yi i [Wi ]

cu locaie pi de ieire la tranziia t j i pentru

k pi = , Wi + = 0 , bDE = m0i i yi i [Wi ] gkk | tkk

cu locaie pi de intrare la tranziia tk . Cu ajutorul diferitor derivative ale bDE i operaii compoziionale unare i/sau binare, folosind un raionament adecvat ce red interaciunea condiiilor i evenimentelor sistemului specificat, putem compune expresii descriptive ale modelelor GeN (sub)sistemelor considerate.
Definiia 1.6. O expresie descriptiv (DE) a unei reele N tip GeN este:

DE :: = bDE | DE DE | o DE , unde reprezint operatorul unei operaii binare compoziionale a expresiilor descriptive, iar o represent operatorul unei operaii unare. Implicit, la aplicarea acestor operaii locaiile i tranziiile ce au acelai nume se vor contopi respectiv. 24

j
tj
j j gj tj

Wi+ ki

pi
m0 i

gj

Wi

k
tk

j
tj
j j gj tj

Wi+ ki

pi
m0 i

Wi

k
tk

c
a)

gk

gj

c
b)

gk

m0i ki pii [Wi + ,Wi ] kk | kk g t

m0i ki pii [Wi + ,Wi ] kk | kk g t

j
tj
j j gj tj

Wi+ ki

pi
m0 i

Wi

k
tk

j
tj
j j gj tj

Wi ki

pi
m0 i

gj

m0 i

ki

c ~ i [W + , W ] k | k pi i i g k tk
c)

gk

gj

c
m0i ki pii [Wi ]
d)

pi
ki
m0 i

i
i

Wi

k
tk ki

pi
m0 i

gk
k k g k tk

Wi

k
tk

m0i pi [Wi ]
e)

ki

m0 i ki ~i i [Wi ] kk | kk p g t
f)

gk

Figura 1.3. Maparea unor derivative ale bDE n reele GeN primitive bN ntr-o DE, orice simbol-locaie sau simbol-tranziie poate fi folosit n orice ordine de mai multe ori. Astfel, se va subnelege c n reele GeN respective, redate de expresia DE, aceleai locaii (tranziii), cu acelai simbol vor fi contopite ntr-un singur simbol-locaie (simboltranziie). Ca rezultat al aplicrii acestor operaii compoziionale, obinem o nou clas de subreele Ni, interconectarea crora, conform DE, va determina reeaua N rezultant, redat de aceast expresie. n continuare, dac nu va fi menionat explicit, la definirea operaiilor compoziionale i ale expresiilor descriptive, vom omite unele atribute ale locaiilor i tranziiilor, deoarece ele, fiind implicite, nu influeneaz structura reelei. Astfel, deseori vom folosit derivativul:

bDE = | t j j m0i yi [Wi + , Wi ] | kk sau bDE = | t j j m0i yi | kk n cazul n care Wi + = Wi = 1 . t t


n acest context, pentru a reda clasa reelelor GeN, vom defini setul de operaii compoziionale: 25

1. Operaia Inhibiie, redat de operatorul pi , este o operaie unar. Ea descrie faptul c la ocurena pre-condiiiei pi , nu mai poate avea loc ocurena evenimentului specificat, adic operaia pi va interzice (va inhiba) ocurena evenimentului asociat cu aceast pre-condiie pi .
k Acestei operaii i corespunde dexel-ul DE1 = m0i i pi i [Wi ] gkk | tkk ce red o reea primitiv,

constituit din locaia pi i arcul inhibitor ce duce din aceast locaie n tranziia tk , cu atributele respective, legat de declanarea evenimentului specificat (vezi Fig 1.3e). 2. Operaia Sincronizare, (AND-Join), redat de operatorul sau , este o operaie binar ce descrie sincronizarea pre-condiiilor legate cu pi t j , i = 1, n ale unui eveniment t j , ocurena cruia va avea loc numai atunci, cnd concomitent aceste pre-condiii sunt verificate. Acest fapt este redat de urmtoarea expresie descriptiv:
DE 2 = (m01
K p1

y1 [W1 ] ... m0i

K pi

yi [Wi ] ... m0 n

K pn

yn [Wn ] ) | t j j = ( m0 i

i =1

K pi

yi [Wi ] ) | t j j .

Cu ajutorul acestei operaii compoziionale, se poate reda operatorul Join(a, b) proces.

programarea paralel, ce determin jonciunea a dou sau a mai multor procese ntr-un singur Dac cardinalitatea arcelor ( ( pi , t j ) , i = 1, n ale reelei n DE2 este egal cu 1, adic Wi = 1 , obinem DE 3 = ( mi0 yi ) | t j j . Maparea expresiei DE2 n N2 este prezentat n Fig. 1.4a.

i =1 n

pl m 0 l pk m 0 k pL m0 L

Wl Wk aj

m0 p

Wp

aj

WL

tj

tj

a)

b)

Figura 1.4. Maparea expresiei DE2 n N2 (a) i a expresiei DE2 r n N2r (b) Aceast operaie este comutativ, asociativ i reflexiv. Astfel, n conformitate cu proprietatea K reflexiv, dac pi = pr din DE 2 obinem DE 2 r = m0 r pr pr [Wr ]| t j j (Fig. 1.4b), unde
m0 r = m0 i , K
i =1 n

pr r

W
i =1

, Wr = Wi .
i =1

3. Operaia Secvenialitate, redat de operatorul |, este o operaie binar ce determin logica cauz-consecin a relaiei dintre dou stri locale pi (pre-condiie) i pk (post-

26

condiie), determinat de aciunea t j . Operaia Secvenialitate, exprimat de expresia DE3, este asociativ, reflexiv i tranzitiv, ns necomutativ:
DE 3 = m0i pi [Wi ] | t j j m0 k pk [Wk ] m0 k pk [Wk ] | t j j m0i pi [Wi ] . Maparea DE3 n N3 este prezentat n Fig. 1.5. Operatorul | d posibilitatea de a descrie secvene de evenimente i, astfel, de a reda traseul secvenial al unui proces.
j

pi ki
m0 i

Wi

j
tj

Wk kk

pk
m0 k

gj

pk
m0 k

Wk

j j

Wi ki

pi
m0 i

kk

gj

tj

Figura 1.5. Maparea expresiei DE3 n N3


Modelarea operaiei iteraie poate fi redat prin contopirea locaiilor de la inceputul expresiei cu cea de la sfritul ei care au acelai nume (operaia nchidere). Un exemplu de aplicare a acestei operaii, descris de expresiile DE4 i DE5: DE 4 = 3 p1 W

[ ]|
1

t1

p2 W2+ , W

]|

+ 2 p3 W 3 , W

]|

t3

p1 W

[ ],
+ 1

DE 5 = 3 p1 | t 1 p2 | t 2 2 p3 | t 3 p1

este pezentat n Fig. 1.6a i Fig. 1.6b.


p1 W1 t1 W2 + p2 W2 t2
W3 +

p3

N4: a)

W3 t3

W1+

p1

p2 t1 t2

p3 t3

N5: b)

Figura 1.6. Maparea expresiei DE4 n N4 (a) i a expresiei DE5 n N5 (b)


3. Operaia Test cu operatorul ~i , descrie o bucl a reelei impure N6 redat de p

DE 6 = m0i pi [Wi ] | t j j m0 k pk [Wi ] = m0i ~i [Wi ] | t j j , ea reprezint operaia cu test arc (Fig. 1.4f). p

4. Operaia AND-Split sau Fork, redat de operatorul , descrie faptul c la ocurena unui eveniment specificat t j se vor produce concomitent dou sau mai multe post-condiii. Aceasta operaie binar este exprimat de urmtoarea expresie descriptiv:
DE 7 = | t j j ( m01 p1 [W1 ] ...m0i pi [Wi ] ...m0 n pn [Wn ] ) = | t j j ( () n =1m0 k pk [Wk ] ) . k

Dac Wi = 1 , atunci cardinalitatea arcelor ( t j , pi ), i = 1, n a reelei n DE7 este egal cu 1,

27

K obinem DE8 = | t j j ( () k =1m0 k pk ) . Maparea expresiei DE7 n N7 este prezentat n Fig. 1.7a.

Wl aj tj Wk WL

ml0
0 mk
0 mL

pl pk pL aj tj Wp m0 p

N7 a)

N8 b)

Figura 1.7. Maparea expresiei DE7 n N7 (a) i a expresiei DE7r n N7 r (b) Aceast operaie este comutativ, asociativ i reflexiv. Cu acest operaie copoziional se poate reda operatorul Fork(a, b) n programarea paralel ce determin ramificarea unui singur proces n dou sau mai multe procese. Ca i pentru operaia sincronizare, folosind proprietatea reflexiv, pentru pi = pr din
DE 7 obinem DE 7 r = m0 r
K pr

p r [Wr ]| t j j , unde m0 r = m0 i , K
i =1

pr r

W
i =1

, Wr = Wi .
i =1

5. Operaia Paralelism competitiv, redat de operatorul . Aceast operaie copoziional binar descrie relaiile logice de paralelism competitiv ale condiiilor i evenimentelor ntre dou sau mai multe procese concurente. Ea este aplicat pentru a efectua compunerea unor modele de subreele, ce descriu funcionarea subsistemelor respective, ntr-un model rezultant al sistemului considerat. Fie dou subreele NA i NB sunt redate de expresiile respective DEA = A i DEB = B, atunci la compunerea lor prin aplicarea operatorului , relativ la aceste dou expresii descriptive, obinem o reea rezultant NR redat de DER = R = A B n care locaiile i tranziiile, ce au acelai nume, respectiv, vor fi contopite. Nodurile contopite vor pstra atributele i incidena arcelor din fiecare subreea. Aceast operaie este comutativ, asociativ i reflexiv. Pentru
n i =1

ilustra

folosirea

acestui

operator

vom

considera

expresia

DE 8 = ( m0 i ai [Wai ]| ti bi [Wbi ] ) cu marcajul iniial m0i = 1 care descrie n procese paralele. Aceste

n componente au o similaritate descriptiv structural, care descrie n subreele izomorfe. n conformitate cu proprietatea de reflexivitate a acestei operaii, n cazul n care ai=a, bi=b i tj =t , obinem n componente identice (simetrie), la contopirea
n

crora

obinem

DE8r = ma a[Wa1 ]| 1 b[Wb1 ] , unde marcajul iniial rezultant este ma = m0 i . t1


i =1

28

Pentru n = 3 reelele N8 i N8

, obinute prin maparea expresiilor DE8 i DE8r sunt

prezentate n Fig. 1.8a i Fig. 1.8b respectiv.

a
tj

644 7444 4 8
pi

pi

pi

pi Wi ma j Wk

Wi

Wi

Wi

j t j
Wk pk

j t j
Wk pk

j
Wk pk

pk

Figura 1.8. Maparea expresiei DE8 n N8 (a) i a expresiei DE8r n N8 r (b) 6. Operaia Abstracie funcional, redat de operatorul \ L ,

L = { j , i } ,

t j T L , pi P L . Aceast operaie unar permite de a ascunde (elimina) mulimea de etichete

L ale tranziiilor i/sau locaiilor, astfel nct aciunile i/sau condiiile (resursele) asociate cu
De exemplu, aplicnd la DE11 = ( 3 p1 5 p6 2 [2] | 12 p2 | t 2 2 p3 | 31 p4 | t 3 1 p5 1 | 42 ( p14 p3 1 [3]) t t t

ele devin invizibile (luntrice sau private) i ele nu pot fi partajate la cooperarea proceselor.

aceast operaie unar cu mulimea de etichete invizibile L1 = { 2 , 1 } , obinem:


DE12 = DE11\ L1 = ( 3 p1 5 p6 2 [2] | t 1 p2 | t 2 2 p3 | 31 p4 | t 3 1 p5 | t 4 ( p1 4 p3 [3]) . t

7. Operaia Reetichetare funcional, redat de operatorul / + L , permite de a reeticheta unele aciuni i/sau condiii din
+

L = {l (t k ) = j , l ( pn ) = i } , t j T + L , pi P+ L , astfel nct

acestea devin vizibile i ele pot fi folosite la descrierea proceselor ce coopereaz prin + L . De exemplu, expresia DE11 este obinut din DE12 dac vom aplica aceast operaie unar la DE11 = DE12 / +L2 cu + L = {l (t1 ) = l (t 4 ) = 2 , l ( p3 ) = l ( p5 ) = 1 } . 8. Operaia Cooperare funcional, redat de operatorul
p Lc f .

Aceast operaie binar

permite de a descrie cooperarea unor procese concurente. Ea este aplicat pentru a efectua compunerea unor modele de subreele, ce descriu funcionarea subsistemelor respective, ntr-un model rezultant al sistemului, considerat prin contopirea unor locaii i/sau tranziii etichetate specificate de etichete din mulimea Lc . Fie dou subreele NAc i NBc sunt redate de expresiile respective DEAc = Ac i DEBc = Bc, atunci, la compunerea lor prin aplicarea operatorului
p Lc f

relativ la aceste dou expresii


p Lc f

descriptive, obinem o reea rezultant NRc redat de DERc = Rc = Ac

Bc , n care locaiile i 29

tranziiile ce au aceleai etichete respectiv vor fi contopite. Nodurile contopite i apoi renumite vor pstra atributele i produsul cartezian al incidenelor arcelor din fiecare subreea. La contopirea locaiilor { pi PAc , pn PBc : l ( pi ) = l ( pn ) = Lc } { t j TAc , t k TBc : l (t j ) = l (t k ) = Lc } specificate de de { pi , pn } , obinem respectiv: PRc = PAc ( PB c \ { pi , pn }) { pi _ n } i TRc = TAc (TB c \ {t j , t k }) {t j _ k } . Capacitile i marcajul locaiilor { pi _ n } respectiv sunt determinate de urmtoarele relaii:
min min min max max max { < K pi _ n = K pi + K pn < K pi _ n = K pi + K pn < +} i {M Rc ( pi _ n ) = M Ac ( pi ) + M Bc ( pn )} .

i ale tranziiilor

p Lc f

cu incidena arcelor determinate

Funciile de gard ale tranziiilor {t j _ k } sunt {g ( t j _ k , M Rc ) = g (t j , M Ac ) & g (tk , M Bc )} . Aceast operaie este comutativ, asociativ i reflexiv. Menionm c n cazul n care mulimea Lc este vid, Lc = , operaia p f devine . n Fig. 1.9 este prezentat un exemplu de cooperare funcional a urmtoarelor subreele:
Ac1 = p1 |t1 p2 p1 |2 p3 cu Bc2 = p4 |t3 p5 p6 |t4 p7 i Ac3 = p1[3] | p2 cu Bc4 = p3[3] | p4[4] . t t1 t1

Ca rezultat al aplicrii operaiei binare cooperare, obinem urmtoarele expresii descriptive:


Rc1_ 2 = Ac1
p f

Bc 2 , unde Rc1_ 2 = p1 |t1 p2 ( p1 p4 ) |2 _ 3 ( p3 p5 ) ( p1 p6 ) |2 _ 4 ( p3 p7 ) i t t


p , f

Rc3 _ 4 = Ac3

Bc 4 , unde Rc3_ 4 = p1_ 3[3] |_ 2 ( p2 p4[4]) . t1

La cooperarea lor funcional prin L = { , } obinem Rc 1 = Ac 1 p Lc f Bc 1 ,n care tranziiile respective t1 i t5 etichetate sunt contopite n t1 _ 5 , iar t3 i t6 etichetate sunt contopite n t3 _ 6 . 9. Operaia Marcare Inial, redat de operatorul ny. Aceast operaie unar descrie numrul n de jetoane n locaiile y respective ale DE pentru marcajul iniial. Semantica acestei operaii este urmtoarea: 1) n este un numr ntreg indicat naintea unui simbol-locaie y, adic ny, arat la numrul iniial de n jetoane (antijetoane) n aceast locaie. Dac n = 0 atunci n este omis. La contopirea locaiilor y din dou subreele N i i N j diferite cu marcaje curente respective ni y i n j y , numrul rezultant de jetoane n aceste locaii se va aduna, adic obinem: (ni + n j ) y . 2) notaia n(A) arat la numrul de n jetoane n fiecare locaie al formulei descriptive A; 3) un singur jeton n =1, de asemenea, se va indica. Dac un oarecare simbol-locaie (sau o formul descriptiv) nu este marcat, aceasta nseamn c naintea simbolului (respectiv expresiei descriptive) nu este indicat, numrul n egal cu zero jetoane, adic n este omis.

30

N1 p1 p4

N2 p6 p1

N1_ 2 p4 p6

t1 p2 p3 t2

p f

t3 p5 p7

t4

t1 p2 t2 _ 3 p3 p5

t2 _ 4 p7

N3 p1

N4

N3_ 4 p1 _ 3

p3

t1

p , f t2 4

p2

t1 _ 2
4

p2

p4

p4
p f

Figura 1.9. Cooperarea funconal a subreelelor: Rc1_ 2 = Ac1

Bc 2 i Rc3 _ 4 = Ac3

p f

Bc 4 .

Deseori, simbolurile locaiilor i ale tranziiilor n expresia descriptiv vor fi notate, respectiv, prin simbolul yk i t j indexat cu un singur indice sau de simbolul cu doi indici de tipul
yi , k i ti , j , primul indic numrul componentei, iar al doilea indic numrul de ordine al locaiei

i tranziiei n aceast component.

Astfel, se va stabili o corespundere biunivoc ntre

subreelele GeN i respective ale modelului i simbolurile locaii i tranziii ale expresiei descriptive ce red GeN i . n clasa reelelor GeN una i aceeai reea poate fi redat prin diferite expresii descriptive cu diferii operatori, pe care le vom considera expresii echivalente, care pot fi transformate unele n altele cu ajutorul unei secvene finite de transformri echivalente. De exemplu, DE 2 = ( m0i K yi [Wi ] ) | , de asemenea, poate fi exprimat folosind i t
pi j

i =1

operatorul , innd cont de faptul c tranziiile cu acelai nume t j vor fi contopite


DE 2 =

(m
i =1

0i

K pi

yi [Wi ] | t j j ) .

Fie A, B, C sunt trei expresii descriptive arbitrare, iar n este numrul de jetoane. Transformrile echivalente ale expresiilor descriptive se vor efectua, lund n consideraie proprietile operaiilor compoziionale definite anterior i anume: 1) comutativitate ( A B) = ( B A) , ( AB) = ( B A) , ( A p Lc f B) = ( B p Lc f A) ; 31

2) asociativitate ((A|B)|C) = (A|(B|C))= A|B|C, (( A B) C ) = ( A ( B C )) = ( A B C ) , (( A B) C ) = ( A( BC )) = ( ABC ) , (( A B) C ) = ( A ( B C )) = ( A B C ) , (( A p Lc1 f B) p Lc 2 f C ) = ( A p Lc1 f ( B p Lc 2 f C )) = ( A p Lc1 f B p Lc 2 f C ) ; n continuarie, pentru a micora numrul de paranteze n expresiile descriptive, vom lua n consideraie proprietatea asociativ a operaiilor respective i vom scrie expresii de acest tip fr paranteze luntrice. De asemenea, cnd nu va aprea nici o ambiguitate, vom omite i parantezele exterioare, lund n consideraie urmtoarele prioriti de folosire a operaiilor compoziionale la evaluarea expresiilor descriptive: operaiile se vor aplica de la stnga spre dreapta; o operaie unar leag mai puternic ca cele binare; operaia i este superioar operaiei | , care, la rndul ei, este superioar operaiilor \ L , / + L , i p Lc f . Acolo, unde este necesar de a schimba ordinea folosirii acestor operaii, se vor utiliza paranteze respective, innd cont de urmtoarele proprieti: distributivitate (AB)|C = (A|C)(B|C) sau C|(AB) = (C|A)( C|B), (A B)|C = (A|C) (B|C) sau C|(A B) = (C|A) ( C|B);
reflexivitate A = nA, p f A = A = nA ;
i =1 n

i =1

i =1

marcare n( A B) = nA nB , n( A B) = (nA nB) , n( AB) = (nAnB) .

n dependen de contextul modelrii i analizei sistemului, vom folosi varianta cea mai simpl. O aplicare a operaiilor compoziionale considerate este prezentat n continuare pentru maparea structurei reelei N9 din Fig. 1.10 redat de expresia descriptiv DEN 9 :

Figura 1.10. Maparea DEN 9 n N9


DEN 9 = p1[3] |t7 p2 [2] |t6 p3 ( p3 [2] p2 ) |t5 p4 ( p3 p4 ) |t3 p2 [7]) DE N 9 , DE N 9 = ( p4 p5 ) |t4 ( p1[14] p7 [7,7] |t2 p8 p6 ) ( p6 p8 ) |t1 ( p1 p5 ) .

32

Compunerea unui model de reea GeN, ce descrie funcionarea unui sistem de calcul cu
aplicaii concurente real sau n curs de realizare, este deci un aspect crucial i mult mai dificil

dect verificarea i analiza lui (printr-o metod exact sau aproximativ) i interpretarea rezultatelor obinute. Cea mai mare dificultate rezid n faptul c procesele din cadrul unui sistem folosesc, la un moment dat, mai mult de o resurs de calcul O abordare practic pentru a conturna astfel de dificulti const n structurarea modelului de sistem, lund n consideraie abordarea complexitii sistemului prin partiionarea sa n subsisteme cooperante n [89, 111], este prezentat o metodologie de construire a modelelor de reele GeN descriptiv-compoziionale, ce exprim cooperarea proceselor de calcul. n mod general, pentru a descrie funcionarea unui sistem cu evenimente discrete, folosind formalismul GeN, modelarea const n a exprima, cu un anumit nivel de detaliere, comportamentul logic al interaciunii proceselor cooperante ale (sub)sistemului considerat. Avnd o descriere informal, aceasta implic faptul c la elaborarea modelului de reea GeN este indispensabil de a cunoate: structura, componentele sistemului, atributele i strile lor locale, care pot s le primeasc; condiiile i evenimentele ce pot schimba strile, fie c ele provin de la un proces aleatoriu, fie de la o decizie specificat; condiiile de sincronizare i cooperare, care determin ocurena unor evenimente, etc.; atributele calitative i cantitative ce determin restriciile de funcionare ale sistemului; specificaiile condiiilor interaciunii evenimentelor i nivelul de detaliere a modelrii, redate de o descriere informal a funcionrii sistemului considerat. ndat ce aceste elemente diferite sunt identificate, folosind atributele specificate, o descriere informal a proceselor interaciunii lor i un raionament adecvat, este posibil de a compune o expresie descriptiv a unei reele GeN, ce constituie o descriere logic a comportamentului sistemului de concurente considerat. Pentru a efectua compunerea modelelor sistemelor de concurente n form de expresii descriptive ale GeN, vom folosi urmtoarele abordri: 1. Se va determina nivelul de detaliere al sistemului i respectiv al modelului. Pentru aceasta se vor evidenia aparte acele componente ale sistemului, funcionarea crora poate fi reprezentat n forma de interaciunea unor procese cooperante, de sincronizare, replicare, etc.; 2. Pentru fiecare tip de elemente, componente se va descrie traseul procesului ce determin fazele de funcionare, strile locale respective, n care poate s se afle fiecare element i logica schimbrii acestor stri;

33

3. Se vor identifica starile locale ale procesului, specificnd astfel variabilele descriptive ce determin semantica elementelor, resursele alocate, relaiile temporale ale evenimentelor, pentru a accesa aceste stri; 4. Se vor determina atributele numerice pentru elementele de fiecare tip i starea lor iniial; 5. Pentru fiecare traseu al procesului ce determin schimbul de faze (stri locale) ale subsistemelor cooperante, folosind operatorii necesari, se va compune o expresie descriptiv care red o subreea GeN elementar, unde fiecrei faze (stri locale) a procesului i va corespunde o locaie, i schimbului de faze i va corespunde o tranziie specificat, iar numrul de elemente resurse n aceste faze corespunde numrului de jetoane n locaie cu capacitatea respectiv; 6. Se va determina semantica i atributele numerice ale locaiilor i tranziiilor subreelelor
GeN, lund n consideraie politicile de executare a tranziiilor validate (declanarea prioritar,

funciile de gard, selectarea probabilistic, etc., dac ele sunt folosite n sistem); 7. Folosind operatorii respectivi i p L f i operaia de contopire a locaiilor i tranziiilor etichetate ce au aceeai esen semantic ale subreelelor GeN, redate de expresiile descriptive identificate, obinem modelul global al sistemului n form de reea GeN plat. Reeaua GeN astfel construit, urmnd metoda redat mai sus, descrie ntr-o form explicit cooperarea, paralelismul, concurena, excluderea mutual, sincronizarea i alte forme de interaciuni ale proceselor concurente ale sistemului modelat. Pentru efectua analiza proprietilor comportamentale dinamice i structurale ale modelelor de reele GeN astfel construite vom folosi metode i tehnici descrise n [11, 32], aplicnd un mediu instrumental [38, 47], de exemplu, VHPN elaborat i realizat de autor [38].
Modelele matematice, n care unul sau mai muli parametri sunt definii prin distribuii de

probabilitate, impun o analiz stocastic [2].


Reelele Petri stocastice reprezint, n general, un formalism mai adecvat pentru modelarea,

analiza corectitudinii prelucrrii distribuite i evaluarea performanelor sistemelor cu evenimente discrete. Utilizarea lor a condus la definirea unor noi extensii i construirea unor instrumente
software, care permit validarea i evaluarea modelului sau simularea, furniznd date referitoare

la funcionalitatea i performanele sistemului analizat . Tehnica de modelare i evaluare a performanelor este fondat pe folosirea reelelor GeN, subiacente reelelor Petri markoviene sau semimarkoviene. n prima etap, va fi efectuat analiza caracteristicilor comportamentale ale sistemului prin analiza proprietilor GeN, iar n a doua etap, prin evaluarea caracteristicilor de performan ale modelului.

34

2. Modelarea i evaluarea performanelor proceselor de calcul prin reele Petri generalizate markoviene
2.1 Temporizarea stocastic a reelelor Petri
Teoria reelelor Petri autonome trateaz ordinea evenimentelor i, n consecin, dinamica reelei este considerat ca o succesiune de evenimente (de tranziii) restrns numai la considerente de logic (o tranziie se poate declana numai dac este validat). n acest context ntrebarea ct timp consum un eveniment? nu se pune. Dar, pentru a rspunde la ntrebri relativ la performanele reelei i sistemului modelat cu reeaua (de pild, ct de repede poate produce sistemul?), este necesar a lua n consideraie timpul. Se pot asocia cu locaiile i cu tranziiile durate pe calea urmtoare:

durate asociate tranziiilor: durate care separ nceputul (consumul de jetoane din locaiile premrgtoare) i finalizarea aciunii (producerea de jetoane destinate locaiilor urmtoare), corespunztoare tranziiilor. Aceste durate au primit numele de timpi de aciune;

durate asociate cu locaiile: duratele minime pentru ca jetoanele s devin permanente ntro locaie, nainte de a fi capabile a contribui la validare (i declanarea) unei tranziii urmtoare. Duratele acestea se numesc timpi de ateptare. Se poate demonstra, c din punct de vedere putere de modelare, aceste dou tipuri de

temporizri sunt echivalente [11, 27]. n continuare, vom considera GeN temporizate, n care durate de timp sunt asociate cu tranziiile, deoarece specificul proceselor de calcul analizate este determinat de secvene paralele de evenimente i aciuni concurente. Modelnd procese reale, tranziiile GeN pot avea durate de timp de declanare cu valori concrete sau valori aleatoare, n ultimul caz este vorba despre GeN cu temporizare stocastic. Deci durata de timp asociat unei tranziii temporizate reprezint producerea unei activiti i respect o anumit distribuie de probabilitate corespunztoare duratei de timp considerate. Unele clase de reelele Petri stocastice (RPS) au fost definite pentru modelarea i rezolvarea problemelor de evaluare a performanelor sistemelor de producie, reele de telecomunicaii i ale sistemelor cu prelucrare distribuit a datelor [184, 203]. Reelele RPS, fiind unele dintre formalisme ale sincronizrii, actualmente, sunt utilizate, preponderent, din urmtoarele considerente [10]: pot fi exprimate sub forma unui limbaj paralel ori grafic bine adaptat la deprinderile utilizatorului;

35

extind regulile de funcionare a reelelor cu sisteme de ateptare (ReSA); evoluia jetoanelor n clasa particular a reelelor Petri, care constituie mainile de stri discrete, este identic cu acea de clieni ntr-o reea ReSA; permit obinerea automat a grafului de stri accesibile ale unui proces aleatoriu, oferind astfel o soluie sistematic a problemei de construire a spaiului discret de stri i schimbrii lor; interesul fa de RP, subiacente RPS, const n existena multor rezultate teoretice i practice, care le confer un loc preponderent n calitate de formalism de descriere a sincronizrii. Metodele de analiz, care au fost i sunt dezvoltate n cadrul teoriei reelelor RP i RPS particulare de diferite extensii, respectiv, ofer soluii unor probleme de modelare, validare calitativ i evaluare a performanelor diferitor sisteme cu evenimente discrete. n continuare, vom introduce reele GeN markoviene generalizate care vor fi folosite la modelarea i evaluarea performanelor proceselor ale sistemelor de calcul. Ipoteza principal, ce o vom reine, const n identitatea complet a proprietilor structurale ale GeN temporizate [107], deorece numeroase proprieti ale acestora se bazeaz pe proprietile calitative ale GeN ei subiacente. Este posibil de a defini numeroase interpretri ale temporizrii tranziiilor unei GeN (vezi [11,
27]). n cadrul acestei lucrri adoptm urmtoarele interpretri:

o funcionare ct mai devreme, tradus prin ipoteza modelului concurenial [7], ceea ce

de fapt presupune, c ntr-un marcaj dat fenomenele active acioneaz n mod independent i c prima operaie ce sosete la termen este cea care provoac o schimbare de stare;

o temporizare a tranziiilor, traduse prin faptul c activitatea unui fenomen se o modelare explicit a sincronizrii: jetoanele nu sunt deci amorsate, n perioadele de

caracterizeaz prin posibilitatea de declanare a unei tranziii; activitate ale unui fenomen; aceast ipotez este esenial pentru a asigura identitatea proprietilor calitative ale reelei GeN. Astfel obiectul matematic RPS satisface cerinele criteriilor de temporizare definite mai sus [7]. La fiecare tranziie t j a reelei asocim o variabil aleatorie Z j , unde Z j reprezint o lucrare, care trebuie s fie realizat pentru ca o operaie s aduc i s produc declanarea acestei tranziii. Se presupune c funcia F j ( ) de repartiie a variabilei aleatorii Z j este continu. n fiecare marcaj M j , n care t j este declanabil, o anumit cantitate de lucru este realizat. Aceast cantitate, definit printr-o funcie G j ( M j , ) , depinde de durata de aflare n marcajul considerat. ndat ce lucrul cumulat LW j de la ultima declanare a t j pe una din traiectorii TW j

36

de secvene admisibile va atinge valoarea Z j , atunci tranziia se va declana i acest lucru va fi readus la zero. Ipoteza modelului concurent duce la considerarea c tranziia declanat n fiecare marcaj este acea, pentru care valoarea Z j este prima atins (funcionarea ct mai devreme). Notm, c ipoteza modelrii complete a sincronizrii de ctre RPS se traduce la cooperarea lucrrilor realizate n fiecare marcaj i pentru fiecare tranziie. Reelele RPS pot fi utilizate pentru obinerea unor rezultate numerice sub ipoteze teoretice cele mai generale. ns singura analiz numeric a unei atare tip de reele RPS, care, actualmente, pare posibil, poate fi efectuat prin simularea comportrii lor. Pentru obinerea unor modele analizabile printr-un calcul numeric este necesar de a considera unele submulimi de RPS astfel definite i anume: RPS markoviene sau RPS semimarkoviene.

2.2 Reele Petri generalizate markoviene


2.2.1 Noiuni introductive i definiii

Dac toate funciile de repartiie ale variabilelor aleatorii U j ,M i sunt exponenial-negative, procesul de marcare M ( ) al RPS este descris de un proces Markov n timp continuu omogen. Datorit faptului absenei de memorie a legii exponenial-negative, la fiecare instantaneu, are loc
pierderea memoriei lucrrilor cumulate [181]. n acest caz vom avea urmtoarele funcii de

repartiie a duratei aleatorii: U j ,M i : f j ( M i , ) = 1 exp( j ( M i ) ) , unde j ( M i ) este rata de declanare a tranziiei t j . Astfel obinem reele Petri generalizate markoviene (RPM), care sunt analizabile.
Definiia 2.1. O reea Petri generalizat markovian, abreviat RPM, este sistemul redat de

ctre cuplul de obiecte NM=<N, >, unde:


N este o reea GeN marcat definit n conformitate cu Definiia 1.2; : T IN t T (M )
| P| +

IR + este funcia ce determin rata (t , M ) de declanare a tranziiei validate

n marcajul M, adic parametrul legii exponenial-negative, astfel nct

0 (t , M ) < + . IR + este mulimea mrimelor reale nenegative.

Pentru a reda compoziionalitate reelelor RPM vom folosi noiunea de dexel stocastic

bMDE al bNM:
bMDE =< bDE , { j , k } > =
j j gj tj

m0i ki yii [Wi + ,Wi ] kk | kk , { j , k } > . g t

n general, dac funcionarea unui sistem este descris de ctre un proces Markov sau semimarkovian n timp continuu ce determin un lan Markov n timp continuu (LMTC) simplu 37

sau inclus cu o comportare ergodic, atunci el determin existena unui regim staionar i se poate efectua estimarea valorilor medii ale caracteristicilor numerice de performan ale sistemului. Un regim staionar de funcionare al unui sistem este un astfel de regim, n care evoluia sa n timp nu depinde de condiiile iniiale de demarare a procesului i nu depinde de momentul de timp considerat. Dac LMTC este ireductibil - recurent - nenul, adic toate strile pot fi atinse ntr-o durat de timp finit din orice stare, atunci exist o distribuie staionar a probabilitilor de aflare n strile respective [181, 183]. n continuare, ne vom interesa de indicatori de performan ai funcionrii sistemului n perioade de timp destul de mari, unde efectele regimului tranzitoriu sunt neglijate. Dac sistemul are o caracteristic de degradare progresiv a funcionrii, atunci evaluarea acestor indicatori de performane poate fi efectuat la fiecare nivel de degradare dup efectele tranzitorii, ca rezultat al unor ocurene de cdere n pan sau erori. n majoritatea cazurilor, evaluarea indicatorilor de performan se va efectua n regim staionar de funcionare al sistemului modelat cu RPM. Sistemul modelat cu o RPM are un regim staionar de funcionare, dac reeaua GeN subiacent este mrginit, viabil i, n plus, dac reeaua este reiniializabil, atunci sistemul nu va avea marcaje tranzitorii [8, 107]. Aceste trei proprieti comportamentale ale GeN garanteaz faptul c graful de marcaje accesibile sau de acoperire este un graf tare conex i, n consecin,
LMTC respectiv este izomorf comportrii stocastice a reelei RPS ergodice.
2.2.3 Caracteristici numerice de performan

Matricea dinamic a LMTC. Lanul LMTC ce descrie funcionarea unei RPM poate fi obinut

direct din graful de marcaje accesibile GA(, M 0 ) , redat n form de list, al reelei GeN subiacente RPM. Spaiul de stri al LMTC este Ac(, M 0 ) , iar ratele de trecere din marcajul current M i ctre noul marcaj M j , ( M i [t k > M j ) sunt determinate de formula d i , j = k ( M i ) 0 , (i j ) , unde k ( M i ) este rata de declanare (posibil marcaj-dependent, adic, de exemplu,

k ( M i ) = k M i ( pi ) ) a tranziiei t k . Dac exist dou sau mai multe tranziii declanabile


t k1 , t k2 ,... ce duc n acelai marcaj care transform M i n M j , (i j ) , atunci d i , j = k1 + k2 + ...,

iar d i ,i = j , i j d i , j . Matricea ptratic D = [d i , j ] N s N s de ordinul N s = Ac(, M 0 ) este numit matrice dinamic care descrie generatorul infinitezimal al LMTC asociat cu RPM. Funcionarea LMTC este descris de ctre sistemul de ecuaii Chapman-Kolmogorov: r Ns d ( ) r + ( ) D = 0 ; i ( ) =1, (2.1) d i =0 38

unde i ( ) este probabilitatea ca RPM la momentul s fie n marcajul curent M i , iar

0 (0) = 1 .
Dac RPM este o reea viabil i reiniializabil, adic graful de marcaje accesibile sau graful de acoperire GA(RG, M) este tare conex [107, 181] , atunci aceast RPM determin un LMTC ergodic cu matricea sa dinamic D i, astfel, se poate de calculat distribuia r probabilitilor staionare de stare , rezolvnd sistemul de ecuaii algebrice ChapmanKolmogorov:
Ns

D = 0;

i =0

=1,

(2.2)

unde i este probabilitatea staionar ca RPM s fie n marcajul curent M i , iar r = ( 0 , 1 ,..., Ns ) este un vector-linie al distribuiei probabilitilor staionare de stare. r Determinnd , se poate de evaluat diferite caracteristici de performan ale unui sistem de calcul descrise cu modele RPM. n continuare, vom considera unele caracteristici numerice de performan, definite n [107]: 1) fie B Ac(, M 0 ) este o submulime de stri ale LMTC ce determin o condiie particular de probabilitate B = Pr{ X = B} ale ocurenelor unor evenimente ca procesul markovian X s se afle n submulimea de stri B, atunci obinem urmtoarea relaie:

B =

M i B

(2.3)

2) probabilitatea {M ( pi ) = l} c n locaia pi , L mrginit, sunt ntocmai l = 0, L jetoane:

{M ( pi ) = l} =

j j{ M j ( pi ) =l }

, i = 1, k , k = P ;

(2.4)

3) numrul mediu de jetoane M ( pi ) n locaia pi este: M ( pi ) = [ j M j ( pi )] = [l {M ( pi ) = l}], i = 1, k ;


j =0 l =0 Ns L

(2.5)

4) rata medie de declanare j a tranziiei t j :

j =

i i{ M i [ t j >}

j ( M i )] , j = 1, n , n = T , i = 0, N s ;

(2.6)

5) rata medie a fluxului de sosire a jetoanelor i n locaia pi :

i =

t j pi

Post (t j , pi )] , i = 1, k ,

(2.7)

unde Post (t j , pi ) este ponderea arcului (t j , pi ) al reelei RPM; 6) rata medie a fluxului de ieire i din locaia pi : 39

i =

tl pi

[ Pr e(t , p )] ,
l l i

i = 1, k ,

(2.8)

unde Pr e(tl , pi ) este ponderea arcului ( pi , tl ) al reelei RPM; 6) probabilitatea i c numrul de jetoane n locaia pi este limitat:

i = i / i , i = 1, k ;

(2.9)

7) frecvena medie f j de declanare a tranziiei t j . Fie B j Ac(, M 0 ) : t j T ( M ) o submulime de marcaje accesibile, n care tranziia t j este validat, atunci frecvena medie f j de declanare a tranziiei t j este determinat de urmtoarea relaie: fj =
M i B j

j / d i ,i ,

(2.10)

unde j este rata de declanare a tranziiei t j , iar d i , i este elementul pe diagonal a matricei dinamice D ce determin rata de ieire din marcajul M i n LMTC respectiv. 8) durata medie ( pi ) de aflare a unui jeton n locaia pi , conform legii Little [??], este:

( pi ) = ( M ( pi ) K imin ) / i ,

(2.11)

unde M ( pi ) este determinat din relaia (2.5), iar i din relaia (2.7). n general, putem defini o funcie de recompens (eng. reward ) iP ( M k ) asociat cu locaia pi care depinde de numrul de jetoane n marcajul curent M k . n acest caz, recompensa medie iBP de aflare a jetoanelor n submulimea BP Ac(, M 0 ) de marcaje accesibile este determinat de relaia:

iB =
P

M k BP

P i

(M k ) k .

(2.12)

n mod similar, putem defini o funcie de recompens T ( M k ) asociat cu declanarea j tranziiei t j n marcajul curent M k . n acest caz, recompensa medie jBT a declanrii acestei tranziii n submulimea BT Ac(, M 0 ) de marcaje accesibile este determinat de relaia:

jB =
T

T j t j T ( M l )&M l BT

(M l ) l .

(2.13)

Caracteristicile numerice de performan redate respectiv de relaiile (2.3) - (2.5) i (2.6) (2.8) sunt un caz particular ale celor determinate de relaiile respective (2.12) i (2.13). Alte caracteristici de performan necesare vor fi definite pe parcursul aplicrii RPM la modelarea sistemelor de calcul. Astfel, sunt definite i studiate unele proprieti i caractertistici de funcionare ale RPS conservative, ce generalizeaz proprietile ReSA.

40

Exemplul 2.1. Vom ilustra aplicarea RPM la modelarea sistemelor de calcul printr-un studiu simplificat al unei politici de mentenan n bun funcionare a unui sistem multiprocessor cu n procesoare active n bun funcionare care pot cdea n pan i k procesoare n bun funcionare ce se afl n rezerv. La defectarea unui processor din stare activ, el va fi schimbat cu unul din rezerv. Procesorul defectat va fi reparat i apoi va fi transmis n rezerv. Fie p1 reprezint numrul de procesoare active n bun funcionare; p2 reprezint numrul de procesoare n bun funcionare ce se afl n rezerv i vor fi folosite pentru a le trece n stare activ, schimbndu-le pe cele defectate; p3 este numrul de procesoare n pan, iar p4 determin numrul de procesoare ce ateapt n curs de restabilire. Evenimentele de baz sunt: t1 - defectarea unui procesor din starea activ; t 2 - schimbarea unui procesor defectat cu un procesor fiabil din rezerv; t3 - repararea unui procesor, care apoi este transmis pentru alimentarea stocului de rezerv. Expresiile descriptive ce redau ocurena evenimentelor i funcionarea acestui sistem sunt: DEs1 = np1 |t1 p2 - defectarea unui procesor; DE s 2 = ( p1 kp3 ) |t2 ( p1 p 4 ) - schimbarea unui procesor defectat cu unul din rezerv; DEs 3 = p4 |t3 p3 -repararea procesorului defectat; DEsys1 = DEs1 DEs 2 DEs 3 -descrie logica funcionrii sistemului. Fiindc locaiile p2 i p3 sunt locaii incidente nainte la tranziia t 2 , deci schimbarea unui procesor defectat nu este posibil dect, dac exist cel puin un procesor n bun funcionare ce se afl n rezerv. Temporizarea aleatorie a tranziiilor este efectuat conform legii exponeniale: rata cderii n pan a unui procesor este egal cu 1 ; la un moment considerat, poate fi efectuat numai un singur schimb al unui procesor defectat, iar durata medie a acestei operaii este 1 / 2 ; la un moment dat poate fi efectuat reparaia numai a unui singur procesor cu durata medie 1 / 3 . Modelul n form de reea RPM1 al acestui sistem, construit n conformitate cu DEsys1 este prezentat n Fig. 2.1a n care ratele de declanare ale tranziiilor t1 , t 2 i t3 respectiv sunt:

1 ( M i ) = 1 M i ( pi ) , 2 ( M i ) = 2 , iar 3 ( M i ) = 3 ,
unde M i ( pi ) este numrul de jetoane n locaia pi n marcajul current M i . Observm c GeN ,subiacent RPM1, cu un marcaj iniial M 0 = (n, k ,0,0) are dou Pinvariante: I1: M ( p1 ) + M ( p3 ) = n i I2: M ( p2 ) + M ( p4 ) = k .

41

Aceast reea este o reea mrginit, viabil i reiniializabil, ceea ce determin ca GA(, M 0 ) s fie tare conex.

(a)

(b)

Figura 2.1. Reeaua RPM1(a) i puterea de procesare a sistemului n funcie de: rata cderi n pan 1 (b) Lanul LMTC1 al acestei reele este ergodic i are un numr de stri N s = (n + 1) (k + 1) . Pentru marcajul iniial M 0 = (4,3,0,0) lanul LMTC1este prezentat n Fig.2.2.

Figura 2.2. Lanul LMTC1 cu marcajul iniial M 0 = (4,3,0,0) Pentru orice marcaj iniial dat M 0 = (n, k ,0,0) , n > 8 i k > 5 este dificil de efectuat

analiza analitic a acestui model, fiindc matricea sa dinamic D are dimensiuni mari. n acest caz, este necesar de a folosi, de exemplu, sistemul instrumental VPNP [46] sau VHPN [37] elaborat i realizat de autor, unele elemente ale crora sunt prezentate n anexa 5. Caracteristicile numerice de performan, determinate cu ajutorul VPNP, folosite aici la analiza sistemului modelat cu RPM1 sunt: M ( pi ) , i=1,2 - numrul mediu de jetoane n locaia
p1 i/sau locaia p2 ce determin puterea de procesare a sistemului, care este proporional cu

numrul de procesoare active n bun funcionare i/sau n rezerv; ( pi ) , i=1,2 este durata 42

medie de aflare a unui procesor

n stare de bun funcionare i/sau n rezerv. O alt

caracteristic de performan este disponibilitatea sistemului, care este definit de probabilitatea

d = Pr( M ( pi ) 0) ca sistemul s fie n stare operaional, adic n momentul considerat mcar


un procesor s fie n bun funcionare. Pentru marcajul iniial M 0 = (5, 2, 0, 0) al RPM1 i valorile 2 = 0,5 ; 3 = 0,3 i 1 ce variaz de la 1 = 0,01 pn la 1 = 0,9 cu pasul 1 = 0,1 obinem mrimi numerice ale caracteristicilor de performane M ( pi ) , i=1,2 ce sunt redate n Fig.2.1b. Ameliorarea acestor caracteristici poate fi efectuat prin mrirea ratei de schimb 2 ale procesoarelor defectate cu cele din rezerv, fie prin mrirea ratei de restabilire 3 a procesoarelor defectate i/sau de mrirea redundanei sistemului, adic a numrului k de procesoare n rezerv. Limitarea utilizrii RPM const n faptul c, n cazul creterii nivelului de detaliere al sistemului, se complic rapid reprezentarea grafic a modelului sistemului examinat. Mai mult ca att, numrul de stri al LMTC asociat ei crete foarte repede n comparaie cu mrirea dimensiunilor grafului RPM.

2.3 Reele Petri generalizate markoviene extinse


2.3.1 Noiuni introductive i definiii

Pentru a aborda problema de cretere a spaiului de stri al LMTC, asociat unei RPM marcate de o talie mare, n [2, 22,] urmnd [61], aceast clas de reele a fost extins la clasa de RPM generalizate (RMG). Acestea sunt obinute prin partiionarea mulimii T n dou clase diferite: mulimea tranziiilor imediate T0 i a tranziiilor temporizate T , T = T0 T i T0 T = . Mulimea tranziiilor validate de marcajul curent M va fi notat, ca i mai nainte, prin T ( M ) = T0 ( M ) T ( M ) , T0 ( M ) T ( M ) = , unde T 0( M ) este mulimea tranziiilor imediate validate de M, iar T (M ) denot mulimea tranziiilor temporizate validate de M. O tranziie imediat ti T0 are o durat de reinere nul la declanarea sa, dac ea este validat de marcajul curent M, ti T0 ( M ) , adic declaneaz n mod imediat. Tranziiile temporizate t j T au o durat pozitiv de reinere la declanare, care este o variabil aleatorie, distribuit conform legii exponenial-negative cu rata j (M ) respectiv de declanare.

43

Grafic, tranziiile imediate sunt reprezentate prin bare subiri, iar tranziiile temporizate prin bare groase. Rata de declanare a tranziiilor temporizate poate depinde de marcajul curent al RMG. Definirea RMG este justificat prin faptul c ntr-un sistem de calcul au loc urmtoarele tipuri de procese: - procese rapide, asociate cu activiti logice de control pentru alocarea resurselor i dirijarea interaciunii evenimentelor de sincronizare i excludere mutual, etc.; - procese lente, asociate cu activiti de procesare a datelor, a transferului de date, a ocurenei evenimentelor de defectare sau depanare ale componentelor sistemului. n acest caz durata medie R a derulrii unui proces rapid este cu mult mai mic n comparaie cu durata medie L a derulrii unui proces lent, ( R << L ) i deci R poate fi neglijat, fiindc ea nu influeneaz caracteristicele de performan ale sistemului. Astfel, n RMG tranziiile imediate reprezint fie controlul logic al interaciunii proceselor rapide, ce produc stri instabile, fie activiti, durata crora poate fi neglijat, ca fiind cu mult mai mic dect durata de declanare a tranziiilor temporizate care modeleaz derularea proceselor lente. Dup cum s-a menionat deja, numeroase tipuri de RPS au fost propuse de comunitatea tiinific [8, 71] bazate pe diferite extensii ale RP. n continuare, vom utiliza modele de reele RGM estinse n baza GeNT, care prezint un anumit "echilibru" ntre cei doi poli menionai mai sus.
Definiia 2.2. O reea Petri generalizat markovian extins, abreviat RGM, este sistemul

redat de ctre tripletul de obiecte NG =<NT, , >, unde: NT = < N, T > este o reea Petri generalizat temporizat, unde N este o reea GeN marcat definit n conformitate cu Definiia 1.2; T : T IN
| P| +

IR + este funcia de temporizare a tranziiilor n care T = T T0 ,

T0 ( M ) T ( M ) = i Pr i (T0 ) > Pr i (T ) . Aici T este mulimea tranziiilor temporizate cu o durat aleatorie de declanare ce are o distribuie exponenialnegativ, iar T0 este mulimea tranziiilor imediate cu o durat de declanare nul; : T IN
| P| +

IR + este funcia ce determin rata (t , M ) de declanare a tranziiei

validate t T (M ) n marcajul M, adic parametrul legii exponenial-negative, astfel nct 0 (t , M ) < + ;

44

: T0 IN

| P| +

IR + este funcia de pondere (t , M ) ce determin probabilitatea de


t T0 ( M )

declanare a q (t , M ) = (t , M ) /

(t , M )

a tranziiei imediate t T0 ( M ) n marcajul M,

care descrie un selector probabilistic; IR + este mulimea mrimelor reale nenegative.

n cazul n care mulimea T0 a reelei RMG este vid, obinem o reea RPM [2, 33]. Pentru RMG, regula de declanare a tranziiilor validate T(M) de ctre marcajul curent M este modificat prin introducerea asupra mulimii tranziiilor T a unei relaii de ordonare parial Pr i (T0 ) > Pr i (T ) , care determin o prioritate superioar de declanare a tranziiei immediate T0 fa de tranziia temporizat t T , (t , t T ( M )) , adic Pr i (t ) > Pr i (t ) , (t T0 ( M )) . Dac T(M) conine numai tranziii temporizate, ele produc marcaje stabile n care durata de aflare n marcaj este nenul. Implicit, T ( M 0 ) . Dac T(M) conine tranziii temporizate i imediate, atunci numai tranziiile imediate pot fi declanate, ceea ce poate produce marcaje instabile, adic durata de aflare n aceste marcaje este nul. Dac dou sau mai multe tranziii imediate validate (| T0 ( M ) |> 1) se afl n conflict structural efectiv, atunci soluionarea acestui conflict trebuie efectuat de ctre un selector probabilistic (posibil marcaj-dependent) ce determin probabilitile de declanare ale acestor tranziii [21]. Pentru a reda compoziionalitate reelelor RMG vom folosi dexel-ul stocastic bGDE al bNG:

bGDE =< bDE ,{ j , k } , { j , k } > =

j j gj tj

m0i ki yii [Wi + ,Wi ] kk | kk , { j , k }, { j , k } > . g t

Dependena parametrului (t , M ) i (t , M ) n raport cu marcajele reelei, n particular, are ca scop, de a permite modelarea diferitor politici de prelucrare a proceselor de calcul [1], determinnd matricea dinamic redus a unui LMTC inclus al reelelor RMG. Se poate demonstra [8] c procesul ( M ( )) R + de schimbare a marcajelor la momentul de timp ale unei reele RMG este un proces semimarkovian, pentru care momentele de declanare ale tranziiilor sunt schimbrile de stare (declanarea tranziiei t, astfel nct Post (, t ) Pr e(, t ) ). Procesul stochastic redus la marcaje stabile este descris de un LMTC inclus al unui proces semimarkovian, elementele matricei dinamice D ale creia sunt:
dM ,M =

tT : M [ t > M

(t , M ) + ( (t , M )) Pr (M M ) ,
tT : M [ t > M

unde este o secven de tranziii imediate, declanarea crora duce de la marcajul instabil M la marcajul stabil M [8]. n cazul n care reeaua RMG posed o singur component foarte conex, care nu are bucle ce absorb marcajele nestabile, atunci procesul semimarkovian este ergodic [8]. 45

2.3.2

Calculul probabilitilor staionare de stare

Cum s-a menionat deja, procesele semimarkoviene descriu mai adecvat funcionarea sistemelor reale. Un proces stocastic cu probabiliti de trecere ri , j dintr-o stare discret i n alt stare j, (i, j J ) devine un proces semimarkovian dac distribuia duratei de aflare n fiecare stare este Fi (t ) [2]. cazul n care este cunoscut durata medie i , 0 < i < + de aflare a lanului semimarkovian n starea i, atunci se pot determina probabilitile staionare qi de aflare a acestui lan n starea i J cu n =| J | stri finite. Pentru graful unui lan semimarkovian ergodic, nodurile cruia sunt ponderate cu durata medie i de aflare n starea respectiv i J , putem determina condiiile de conservare a ratelor de probabilitate prin metoda tieturilor ale unui lan semimarkovian, care permite de a formaliza i simplifica modalitatea de a scrie ecuaiile Chapman-Kolmogorov. Aceast metod se reduce la urmtoarea procedur. Notm mulimea strilor J, n =| J | ale grafului G=(J, A) lanului semimarkovian, iar mulimea arcelor acestui graf este A. Astfel, dac i, j J ntr-un pas poate avea loc o trecere din starea i n starea j, atunci arcul (i, j ) A . Fie r (i, j ) - probabilitatea de trecere ntr-un pas din starea i n starea j, iar i este durata medie de aflare a lanului n starea i. n aceste condiii este necesar de a determina probabilitile staionare qi - mrimi necunoscute de aflare a lanului semimarkovian n starea i, exprimate prin mrimile cunoscute ale probabilitilor de treceri r (i, j ) ale acestui lan i a duratei medii i de aflare n starea i J . Pentru aceasta vom introduce urmtoarea definiie.
Definiia 2.3. U - tietur este mulimea arcelor grafului G=(J, A), ce are proprietile:

U A ; nlturarea tuturor arcelor acestei U- tieturi din graful G va transforma acest graf n

dou subgrafuri G1 = ( J 1 , A1 ) i G2 = ( J 2 , A2 ) , care nu sunt conectate ntre ele, adic


J = J 1 J 2 , J 1 J 2 = i A = A1 A2 , A1 A2 = ;

dac

(i, j ) U ,

atunci

U = U /(i, j )

nu

este

tietur

grafului

G.

Din aceast definiie reiese c o U - tietur nu va conine nici o bucl, adic (i. j ) U . Deci o Utietur poate fi redat n modul urmtor: U = U 1 U 2 , U 1 U 2 = ; dac (i, j ) U 1 atunci
j J 2 , i J 1 ; dac (i, j ) U 2 atunci i J 2 , j J 1 .

n baza definiiei 2.3 putem demonstra urmtoarea teorem:


Teorema 2.1. Pentru orice U - tietur n graful G=(J, A)este verificat relaia:
qi qk

( i , j )U1

r (i, j )

( k , l )U 2

r (k , l )

(2.14) 46

Demonstraie. Vom considera un lan Markov timp discret (LMTD) cu aceeai mulime de stri J i cu aceleai probabiliti de treceri r (i, j ) , (i, j J ) , (i, j ) A ca i n lanul semimarkovian dat. Conform [40] pentru orice U - tietur n graful de treceri al LMTD este verificat urmtoarea relaie:
( i , j )S1

r (i, j )

( k ,l )S 2

r (k , l )

(2.15)

unde i este probabilitatea staionar c n orice moment de timp, LMTD se va afla n starea i J . Legtura dintre probabilitile staionare i respective ale LMTD i a probabilitilor staionare qi ale lanului semimarkovian este determinat de relaia [14]:

i = (qi / i ) j m j .
jJ

(2.16)

Substituind expresia (2.16) n relaia (2.15) obinem relaia (2.14), care, fiind folosit pentru diferite tieturi posibile, d posibilitatea de a obine ecuaii recursive de un rang mai mic n raport cu expresiile similare obinute din ecuaiile de stare tradiionale ale lanului semimarkovian [14]:
qi q = r (i, j ) i , j J . i i j i

(2.17)

Este uor de verificat c expresia (2.17) este un caz particular al (2.13) n cazul n care mulimea J de stri n tietura considerat, degenereaz ntr-o singur stare. r Distribuia probabilitilor q = ( M ) M Ac ( RMG ) de marcare a reelei n regim staionar permite de a calcula indicatorii de performan determinai de relaiile (2.3)- (2.17). Calculul probabilitilor staionare de stare M ale LMTC inclus poate fi efectuat urmnd trei ci: pstrarea marcajelor instabile care cere rezolvarea LMTC inclus, apoi ntoarcerea la marcajele stabile prin aplicarea algoritmului 2.1; eliminarea marcajelor instabile la nivel de LMTC inclus (numit simplu "eliminare"); eliminarea marcajelor instabile prin transformarea reelei RMG iniiale ntr-o reea RPM (adic fr tranziii imediate). Eliminarea marcajelor instabile este motivat de dou cauze: a) se cere de a evalua numai indicatorii de performan n raport cu marcajele stabile; b) deseori, reeaua RMG, ca rezultat al controlului modelrii, va genera mult mai multe stri instabile dect cele stabile i acest numr mare de stri " inutile " la evaluarea performanelor va complica folosirea metodelor numerice. Algoritmul 2.1. Calculul probabilitilor staionare de stare ale LMTC inclus al reelei RMG: nceput 1. Din datele iniiale ale atributelor numerice reelei RMG se construiete graful lui de
accesibilitate; 2. Suprimarea tuturor buclelor
t , M M cu ( Post (, t ) = Pr e(, t )) ;

3. Construirea grafului de accesibilitate redus;

47

4. Determinarea matricei dinamice a 5. Rrezolvarea sistemului de ecuaii:

LMTC inclus;
cu
(E) M M Ac ( RMG )

(E) = 0

= 1;

6. Calcularea probabilitilor de echilibru ale marcajelor stabile:


( qM = ( ME ) E[ S M ]) / (E) M M Ac ( RMG )

E[ S M ] .

Sfrit. Eliminarea strilor instabile produce un graf de accesibilitate al strilor stabile i un lan LMTC inclus lui subiacent, ceea ce necesit pentru toate perechile ( M , M ) de marcaje stabile
t , calcularea ratelor de declanri M M , determinate de t care este o tranziie temporizat

i este o secven admisibil de tranziii imediate declanate [40].

2.4 Modele cu automodificare


Reelele RMG au la baza lor reele subiacente GeN cu automodificare, ponderile arcelor crora sunt marcaj-dependente. Aceast clas de reele d posibilitatea de a mri flexibilitatea modelului RMG la descrierea unor fenomene de funcionare ale proceselor concurente, condiionate de starea curent a sistemelor de calcul. Pentru a ilustra aceasta, vom descrie procesul de prelucrare a cererilor de procesare a datelor de ctre unitatea aritmetic-logic (ALU) a procesorului conform programului memorat n memoria central (MC). n procesul executrii unui segment de program, operanzii i instruciunile vor fi transmise din MC n memoria-tampon (MT), stocate ALU n ordinea determinat de ctre acest segment de program. Eventual, la apariia instruciunii IF salt condiionat determinat de rezultatul executrii acestei instruciuni, ordinea de prelucrare succesiv a instruciunilor poate fi schimbat, iar operanzii din MT pot s aparin urmtorului segment de program ce se afl ndat dup instruciunea IF deja executat (rezultatul este True i deci direcia secvenei este adoptat) sau s nu aparin acestui segment (False). n acest caz, toi operanzii ce se afl n MT sunt anulai i MT devine vid. i ordonate conform disciplinei de servire FIFO ( sau n stiv cu disciplina LIFO ), iar de acolo, sunt prelucrate de

(a)

(b)

Figura 2.3. Modelul sistemului MC-ALU: RMG7 cu FIFO simplu (a) RMG8 FIFO inerial (b)

Expresia descriptiv DERMG 7 ce descrie acest proces este urmtoarea:

48

DERMG 7 = (n + k ) p1 |t11 p2 |t22 p3 |tq44 p1 ( p2 [ M ( p2 )] p3 ) |tq33 p1[1 + M ( p2 )] .


n Fig. 2.3a este reprezentat maparea lui DERMG 7 n o atare reea RMG7. Reeaua GeN subiacent RMG7 este o reea cu arce ce au ponderi automodificabile: ponderea W ( p2 , t3 ) = M ( p2 ) i W (t3 , p1 ) = 1 + M ( p2 ) este marcaj-dependent de marcajul curent al locaiei p2 , care descrie irul de ateptare FIFO al memoriei-tampon. Ponderile celorlalte arce sunt egale cu 1. Tranziiile temporizate t1 i t 2 respectiv modeleaz procesul de transmitere a operanzilor din MC i procesul prelucrrii de ctre ALU al operanzilor din MT. Rata de declanare a tranziiilor t1 i t 2 respectiv este 1 i 2 . Locaia p3 i tranziiile imediate t3 , t 4 descriu selectorul probabilistic, n conformitate cu care se va alege modul de executare a cererilor, dac rezultatul instruciunii IF este True sau False. Cererea, fiind prelucrat de ALU (tranziia temporizat t 2 ), prasete sistemul cu probabilitatea q4 (tranziia t 4 ) i cu probabilitatea q3 (tranziia t3 ) poate solicita anularea cererilor stocate n MT i n ALU. Locaia
p1

descrie

populaia

cererilor

sistem.

Aceast

reea

are

un

P-invariant:

M ( p1 ) + M ( p2 ) + M ( p3 ) = n i deci ea este mrginit, viabil i reiniializabil. Lanul LMTC7 ergodic, asociat cu aceast reea este reprezentat n Fig. 2.4. Pentru tieturile S i , (i = 1,2,3) respectiv prezentate n Fig. 2.3a i Fig. 2.4 obinem urmtoarele ecuaii de echilibru ale fluxurilor de probabilitate n regim staionar : 1. 1 0 = 2 1 + q32 j ; 2. (1 + 2 ) j = 1 j 1 + q4 2 j +1 , j = 1, n 1 ; 3. 1 n = 1 n1 . (2.18)
j =1 n

Figura 2.4. Lanul LMTC7 inclus al RMG7 Din ecuaia 1 a lui (2.18), lund n consideraie relaia de normalitate, obinem:

0 = [q4 1 + q3 (1 0 )] , = 1 / 2 .
este: bk = n+1k = [b2 (1 + )b1 ] yk 1 + b1 yk , yk = k = 1, n + 1 , unde:

(2.19)

Ecuaia 2 din (2.18) este o ecuaie recurent de ordinul doi [14], soluia general a creea

(2.20) (2.21)

k ( x1k x2 ) , x1, 2 = 0,5(1 + ) 0,25(1 + ) 2 q4 . ( x1 x2 )

Lund n consideraie ecuaia 3 a sistemului (2.18) i relaia (2. 21) pentru bk , obinem: 49

bk = b1 ( yk yk 1 ) ,

k = 1, n + 1 .

(2.22)

Marimea b1 = 1 / yn+1 este determinat din ecuaia 1 a sistemului (2.18), lund n consideraie faptul c 1 = bn , iar 0 = bn+1 . Probabilitatea A (n) , c ALU va fi n stare activ de prelucrare a cererilor, i durata medie

s (n) de prelucrare a unei cereri de ctre sistemul MC-ALU sunt determinate de urmtoarele
expresii:

A (n) = 1 0 = bn / bn+1 ; s (n) = 1 /(2 A (n)) = bn+1 / 2bn

(2.23)

Notm, c pentru 2 < 1 , ( < 1) , n i q3 = 0 , cnd cererile nu pot fi anulate, probabilitatea asimptotic de aflare a ALU n stare pasiv tinde ctre zero, adic 0 = 0 . Acest fapt are loc, fiindc n regim staionar irul FIFO cu un numr nelimitat de locuri de ateptare crete spre infinit din cauz c rata de sosire a cererilor este mai mare dect cea de servire i, deci, ALU totdeauna va fi n stare activ, ns modul de funcionare al sistemului este instabil. Este interesant de a analiza aceast situaie similar, cnd exist cazul anulrii cererilor (q3 0) la apariia instruciunilor tip IF. Pentru aceasta vom mpri la x1n numrtorul i numitorul expresiei (2.21) pentru A (n) , lund n consideraie (2.18). Astfel, vom obine urmtoarea expresie:

A (n) = (1 ) /( x1 x2 ) , unde = ( x2 / x1 ) n .

(2.24)

Din expresiile (2.24) verificm uor c pentru 0 < q3 < 1 totdeauna are loc urmtoarea relaie:
x1 , x2 > 0 ; x1 > x2 , de unde reiese c: 0 < lim A (n) = 1 / x1 < 1 .
n

Remarcm c pentru > 0 i q3 > 0 totdeauna avem x1 > 1 . Aceasta nseamn c, independent de raportul ratelor de sosire i de servire a cererilor n sistem, probabilitatea asimptotic c ALU va fi n stare activ este A () = 1 / x1 . n modelul RMG7 se presupune c irul FIFO al MT pentru stocarea cererilor este un dispozitiv neinerial, pentru care s-a neglijat durata de transfer a operanzilor din MC prin MT ctre ALU. n modele fr anularea cererilor aceast ipotez este justificat, fiindc n regim staionar cu
0 < = 1 / 2 < 1 probabilitatea c MT va fi vid (irul FIFO este fr cereri) este mic, iar

durata de acces-alocare a MT este cu mult mai mic dect durata de servire a cererilor de MC i ALU.

50

Pentru modelul ce va lua n consideraie anularea cererilor din MT, probabilitatea ca irul FIFO s fie vid se mrete cu mult i, de asemenea, se mresc i pierderile neproductive de timp, legate de executarea operaiilor de accesare a MT i transmiterea cererilor ctre ALU, ce nu pot fi neglijate. Astfel, MT devine un dispozitiv inerial, deoarece aciunile de anulare a cererilor au nevoie de o durat de timp pentru analiza cauzei i terminarea servirii fiecrei cereri. De aceea este necesar de a studia influena acestor factori asupra productivitii modelului MCALU. Fie j = (1 + j ) / 1 este durata medie de aflare n starea M j , ce va lua n consideraie durata suplimentar pentru analiza cererii anulate, unde parametrul j determin pierderile de timp necesare pentru terminarea servirii de MC i introducerea unui operand n MT vid. Mrimea j este funcie de numrul n de registre consecutive, folosite pentru organizarea funcionrii irului de ateptare. Dac durata de transfer de la un registru la altul este / 1 , atunci j = j , j = 0, n , iar j = (1 + j ) / 1 este durata medie necesar pentru analiza cererilor anulate, servirea unei noi cereri de MC i transferul ei prin MT vid ctre ALU. Astfel, MT devine un dispozitiv inerial, care este necesar de a folosi o durat suplimentar pentru trecerea cererilor de la MC ctre ALU. Expresia descriptiv DERMG 8 ,ce descrie acest proces, este urmtoarea:

DERMG 8 = np1 |t11 p2 |t22 p3 |tq44 p1 DERMG 8 ,


DERMG 8 = ( p2 [ M ( p2 )] p3 ) |tq33 p4 [1 + M ( p2 ), M ( p2 )] |t55 ( m4 ) p1[ M ( p2 )] .
Maparea lui DERMG 8 n form de reea RMG8 este prezentat n Fig. 2.3b. Aceast reea este obinut n baza reelei RMG7 din Fig. 2.3a i difer de ea prin faptul c RMG8 are o locaie
p4 i o tranziie temporizat t5 suplimentar ce modeleaz procesul inerial la anularea cererilor

din sistem, iar rata declanrii tranziiei t5 este dependent de marcajul m4 = M ( p4 ) :

5 (m4 ) = 1 / = 1 /(1 + j ) , j = 0, n .
j

Ponderea arcelor este aceeai ca i pentru RMG7, iar W ( p4 , p5 ) = W ( p5 , p4 ) = M ( p4 ) . Aceast reea are un P - invariant: M ( p1 ) + M ( p2 ) + M ( p3 ) + M ( p4 ) = n . Deci, ea este mrginit, viabil i reiniializabil. Lanul LMTC8 ergodic este reprezentat n Fig. 2.5a. El difer de LMTC7 prin aceea, c fiecrei stri M j i corespunde nc o stare, ce ia n consideraie efectul inerial al MT. Ecuaiile de echilibru ale fluxului de probabilitate pentru fiecare stare a LMTC8 sunt: 51

1. (1 /(1 + j )) j = 2 q3 j , j = 1, n ; 2. (1 + 2 ) j = 1 j 1 + 2 q4 j +1 , j = 0, n 1 ; 3. 1 0 = 1 j /(1 + j ) ;
j =1 n

4. 2 n = 1 n1 .

(2.25)

(a)

(b)

Figura 2.5. Lanul LMTC8 inclus al RMG8 (a) i n* al A (n) funcie de q3 (b) Soluionarea sistemului de ecuaii (2.25), mpreun cu relaia de normalitate, este efectuat n mod similar celui pentru LMTC7. Pentru anumite valori ale parametrilor = 1 / 2 , q3 i funcia A (n) are un maximum n* i este o mrime finit. n Fig. 2.5b sunt prezentate unele caracteristici ale n* funcie de q3 pentru diferite valori ale

, care determin pierderile de timp necesare pentru terminarea servirii de MC.

2.5 Algebra tensorial i compunera modelelor


Metoda de compunere Kronecker a matricelor dinamice generatoare ale proceselor stocastice pentru rezolvarea lor n regim de echilibru a fost folosit n [13, 14]. n continuare vom vedea c ele permit de a scrie aceste matrice cu ajutorul unei colecii de matrice de dimensiuni cu mult mai mici i de a folosi aceast scriere n form de produs sau sum Kronecker pentru rezolvarea numeric a lanurilor LMTC incluse subiacente reelelor RMG, fr a manipula matricea dinamic global. Pentru a aplica rezultatele submodelelor RMG, folosind algebra Kronecker, este indispensabil de a elabora o metod de nivel nalt care va genera automat astfel de compuneri ale submodelelor.
2.5.1. Algebra tensorial i lanuri Markov

n cele ce urmeaz vom considera K procese stochastice ( X 1,t ), ( X 2,t ),..., ( X K ,t ) , fiecare din ele primete valori ntr-un spaiu finit S K , de cardinalul l K ( pentru a facilita scrierea n continuare, K va nsemna, n dependen de context, ca i aici, un ntreg K sau un ansamblu de K numere ntregi {1,...,K} ), dac nu intervine nici o confuzie. Pentru a reda interaciunile 52

proceselor, este necesar de a considera procesul rezultant X = ( X 1, , X 2, ,..., X K , ) care primete valorile sale n spaiul produsului cartezian ale acestora, adic S = S K . Vom ordona, n mod
k =1 K

lexicografic, componentele lui S. O stare e = (e1 ,..., eK ) a lui S, componentele creia sunt ek indexate ik , are ca indice un numr ntreg:
i = (ik 1)( j ) + iK .
k =1 j = k +1 K 1 K

Pentru aceasta vom identifica strile cu numere ntregi, astfel nct starea i va fi scris ca
(i1 ,..., iK ) ntr-o "multibaz" (a1 ,..., a K ) . n acelai mod proiecia lui i pe S K va fi notat ik .

De asemenea, vom preciza dou tipuri de tranziii (treceri) n evoluia procesului X.


Definiia 2.3. O tranziie t este local n X, dac i t j k k , jk = ik . O tranziie t

este de sincronizare dac: i t j k , k , k k , astfel nct jk ik , jk ik .

Toate matricele dinamice considerate n continuare au valori reale. Vom nota mulimea acestor matrice de dimensiunea n m prin D[*n ,m ] . Produs Kronecker i lanuri Markov. Produsul Kronecker permite de a obine o expresie a matricei stocastice prin probabilitile de schmbare a strilor proceselor markoviene n timp discret cu K componente. ns, n acelai timp, el traduce, la nivelul generatoarelor lanurilor LMTC, efectele tranziiilor de sincronizare. Anume aceast proprietate va fi folosit, deoarece vom studia modele ale sistemelor de calcul cu un spaiu de stri discrete ce evolueaz n timp continuu.
Definiia 2.4. (Produsul Kronecker). Fie date dou matrice A D[*n1 ,m1 ] i B D[*n2 , m2 ] .

Produsul Kronecker () al matricei A cu matricea B este matricea C D[ n1n2 , m1m2 ] : C = A B cu Ci , j = ai1 , j1 bi2 , j2 , unde i = (i1 , i2 ) este n multibaza (n1 , n2 )
(m1 , m2 ) .

i j = ( j1 , j2 ) n multibaza

Exemplul 2.3. Dac A =

a1,1 a2,1

a1, 2 a2, 2

a1,3 b1,1 b1, 2 i B = a2,3 b2,1 b2, 2

b1,3 b2,3

b1, 4 , b2, 4

atunci: A B = [ai , j B] ,

i, j = 1, 2 .

n anexa A2 sunt prezentate mai detaliat proprietile produsului Kronecker i unele exemple de aplicare. Menionm aici doar c aceast operaie nu este comutativ. Compunerea lanurilor Markov n timp discret (LMTD) independente. Fie X 1 , X 2 ,..., X K sunt K sublanuri LMTD independente cu matricele stocastice respective ale

53

probabilitilor de tranziie

Rk (n) . Se poate demonstra [29] c LMTD rezultant cruia este

X = ( X 1 , X 2 ,..., X K ) de asemenea, este un lan LMTD, matricea stocastic a


R = Rk (n) .
k =1 K

Suma Kronecker i lanuri Markov n timp continuu.


* * Definiia 2.5. (Suma Kronecker). Fie A D[n ] i B D[m ] dou matrice ptratice. Suma

Kronecker

()

matricei

cu

matricea

este

o
= =

matrice
j2 ) j2 ) , j2 ) j2 )

ai1 , j1 + bi2 , j2 , (i1 = j 1) & (i2 b (i1 = j 1) & (i2 C D[ n , m ] : C = A B = A I m + I n B , astfel nct : ci j = i2 , j2 (i1 j 1) & (i2 ai1 , j1 0 (i1 j 1) & (i2

unde I m i I n sunt matrice unitare de dimensiunea respectiv.

Suma Kronecker permite de a determina o expresie compact a generatorului lanurilor LMTC, constituite din K componente. Ea descrie funcionarea autonom a componentelor LMTC care rezult din tranziiile locale. n anexa A2 sunt prezentate mai detaliat proprietile acestei operaii i unele exemple de aplicare. De asemenea, suma Kronecker se extinde i la K matrice DK :
k =1

Dk = I k Dk I k = I k Dk IU k ,
k =1 1 k < k k < k < K k =1

unde k = k
k < k

i U k = k .
k > k

Compunera lanurilor LMTC independente. Fie

X 1 , X 2 ,..., X K sunt K lanuri LMTC independente cu generatorul respectiv DK ( ) . Se poate

demonstra [13] c procesul markovian rezultant X = ( X 1 , X 2 ,..., X K ) areun lan LMTC rezultant, generatorul cruia este D ( ) = Dk ( ) .
k =1 K

ntr-un lan LMTC cu un generator D, componentele cruia nu mai sunt independente, tranziiile locale genereaz n expresia lui D o sum Kronecker, care traduce independena acestor tranziii, iar tranziiile de sincronizare genereaz un produs Kronecker care traduce modificarea simultan a mai multor componente. Urmtoarele rezultate stau la baza descrierilor structurale ale generatoarelor lanurilor LMTC, folosite pentru compoziia modelelor de reele Petri stocastice.
Generatorul unui lan LMTC cu K componente dependente. Fie X = ( X 1 ,..., X K ) un lan LMTC i Ts mulimea tranziiilor sale de sincronizare. Generatorul lui X este:

54

K K K D = Dk + (t ) Ck Ak , k =1 k =1 k =1 tTs

(2.26)

unde D este restricia matricei dinamice D la tranziii locale n S k i, dac durata de tranziie a
t Ts este distribuit conform legii exponenial-negative exp( (t ) ) i i t j , atunci: Ck = Ak = I k , dac t (ik ) = ik , Ck = 1 k (ik , jk ) i Ak = 1 k (ik , ik ) , dac t (ik ) = j k ik ,
* unde 1n ( j , j ) este o matrice de D[n ] , toi termenii creia sunt nuli, n afara celui cu indice

1( j , j ) , care este egal cu 1. Matricile I k "propag" n D salturile de ieire din fiecare S k , unde
tranziia t produce o schimbare de stare. n general, compunerea Kronecker reprezint o structur constituit din mai multe submodele RMG ale subsistemelor ce interacioneaz ntre ele, fiecare posednd totodat o autonomie, mai mic sau mai mare, de funcionare. Modelul este atunci construit, innd cont de aceast structur i de condiiile care trebuie impuse pentru a obine o expresie tensorial factorizat.
2.5.2. Compunerea sincron a reelelor RMG

Compunerea sincron a reelelor RMG exprim sincronizarea evenimentelor a subsistemelor reprezentate, cum ar fi sincronizarea rendez-vous n limbajul ADA. Ea este efectuat de tranziiile care aparin diferitor subsisteme sincronizate (prin contopirea tranziiilor). Dac modelul este construit din subreele deja existente, atunci este vorba de compunerea reelelor Petri, iar dac se va ncerca definirea subreelelor ntr-o reea global se va vorbi de
decompunerea ei n subreele. Din punct de vedere teoretic cele dou abordri coincid. Vom

studia acest tip de model i proprietile generatorului subiacent, care poate fi dedus formulnd unele definiii i metode de rezolvare numeric a unei compuneri sincrone de RMG. n mod similar celui din [62], a fost studiat compunerea sincron a reelelor Petri, numit superpoziia tranziiilor. n cele ce urmeaz, vom aplica acest demers i pentru reele RMG. Pentru aceasta, vom determina generatorul lanului LMTC subiacent unei reele RMG n form de sum Kronecker a generatoarelor subreelelor ei constituente.
Definiia 2.6. Reeaua RMG marcat NME =<NT, , >, este o compunere sincron de K

subreele NMEk =<NT k, k , k > ale sale dac:


- P = kK ( Pk ) , kK ( Pk ) = este o partiie de P ; T = TS TL , TS TL = , unde
TS este ansamblul de tranziii de sincronizare care conine numai tranziii temporizate; TL

este ansamblul de tranziii locale; Tk = Pk Pk i (Tk TL) kK este o partiie de TL ;

55

- Pr ek , Post k , Inh k , Test k , K p ,k , Pr ik , Gk , k , k , lk sunt restriciile pe Pk i Tk a funciilor respective n IZ ; M 0 = ( M 0,k ) kK sunt marcaje iniiale.

n fiecare subreea NMEk avem astfel o partiie a Tk = TLk TS k , TLk TS k = , unde


TS k = TS Tk = este mulimea de tranziii de sincronizare, iar M 0 este determinat de k-

tuplul ( M 1 ,..., M k ) de marcare a acestor sub-reele. Notm ak = Acc( RMGk ) .


Exemplul 2.4. n Fig. 2.6 este reprezentat un exemplu de compunere sincron a unei reele RMG, unde trei procese de execuie a instruciunilor unui program sunt modelate prin trei

subreele RMG101 , RMG10 2 i RMG103 .

Figura.2.6. Exemplu de compunere sincron a unei reele RMG Deoarece procesele 2 i 3 sunt identice, am reprezentat doar reeaua procesului 2. Procesul 1 execut o bucl while, apoi un cod secvenial nainte de a rencepe. n interiorul acestei bucle el alege ntre o prelucrare sincronizat cu procesul 2 sau 3 (tranziiile t1, 2 sau t1,3 ). Procesul 2 execut o bucl for, controlul creia este iniializat la 5, apoi codul secvenial nainte de a rencepe. n corpul buclei for el va lansa, n paralel (fork) , dou lucrri, unde una din ele este sincronizat cu procesul 1 (tranziia t1, 2 ). Tranziiile de sincronizare sunt indicate n gri, iar subreelele RMG1 , RMG2 i RMG3 sunt ncadrate prin linii ntrerupte. Notm faptul c, pentru a putea obine o expresie Kronecker a generatorului D, tranziiile de sincronizare trebuie s fie temporizate. Noi am considerat deja procedeele de eliminare a tranziiilor imediate. n Fig. 2.7 este reprezentat un caz simplu de eliminare: tranziia imediat (a) este integrat n fiecare din tranziiile temporizate, care controleaz marcajul acestor locaii de intrare (b). Se poate demonstra, c declanarea tranziiilor de sincronizare poate fi factorizat pentru a obine o expresie Kronecker, elementele creia sunt calculabile n fiecare subreea [62].

56

Figura 2.7. Exemplu de eliminare a unei tranziii imediate de sincronizare Generatorul compoziii sincrone a reelei RMG [13, 62]. Generatorul D , descriptorul

Kronecker, al lanului LMTC inclus cu marcaje stabile ale reelei RMG, compunere sincron de subreele RMGk , este o submatrice de:
K K K D = Dk + (t ) Ck (t ) Ak (t ) k =1 k =1 k =1 tTS

(2.27)
Pr( M M ) ,
k
k

cu Ck (t ) = Ak (t ) = I k dac t TS k i Ck (t ) M k , M k =

unde M k este un marcaj instabil, M k [t > M k , k este o secven de tranziii t imediate ale RMGk , iar matricea Ak (t ) este compensarea diagonal a matricei Ck (t ) , pentru ca D s fie o D - matrice dinamic: ak (t ) M k , M k ck (t ) M k , M k , M = M k k = M k M k , Mk Mk 0,

Matricele Dk sunt elementele generatoare ale lanurilor LMTC cu marcaje stabile M k , M k , ale subreelei RMGk izolate, adic ce iau in consideraie numai tranziiile locale ale RMGk . Prin submatrice subnelegem c termenii nenuli ai matricei dinamice D , pentru o pereche de stri date, sunt egali cu cei ai lui D i c marcajul curent M este accesibil n mulimea de stri S, iar dac M nu este accesibil n S, atunci d M ,M = 0 . n general, D conine mai muli termi nenuli dect D din dou cauze : dintr-o parte, construirea Ac( RMGk ) produce marcaje care nu sunt proiecii ale nici unui marcaj global accesibil; din alt parte, aceste marcaje local inaccesibile pot constitui stri globale, care vor face declanabil o tranziie de sincronizare. Notm c, la folosirea matricei dinamice D n form de sum Kronecker (de exemplu, soluionarea numeric a sistemului de ecuaii D n regim de echilibru) , aceast problem de accesibilitate devine crucial dac talia mulimii de stri accesibile devine cu "mult mai mare dect" a celui de Ac(RMG). Din aceste considerente, pentru a calcula indicatorii de performan via expresiei Kronecker a lui D nu se va folosi niciodat direct D , ci, din contra, numai matricele Dk , Ck i Ak , manipulnd astfel matrice cu o talie " mult mai mic ".

57

Atunci, este suficient de a dispune de aceste "mici" matrice, pentru a calcula soluia probabilitilor staionare de stare a lanului CLM subiacent reelei RMG analizate. Principalele avantaje ale acestei metode sunt: a) obinerea unor structuri de date reduse; b) posibilitatea de a elimina marcajele instabile la nivel de subreele, ceea ce reduce concomitent talia spaiilor de stri i timpul de calcul n comparaie cu o eliminare global; c) posibilitatea de a defini vederi agregate la diferite niveluri, autoriznd astfel o apropiere ierarhic, ncepnd cu vederea cea mai abstract ( RMG ( 0 ) ) pn la o vedere cea mai detaliat. Aceasta a permis de a determina descriptori Kronecker pentru a obine structuri de date reduse de memorare a matricelor dinamice ( Di ) ni ni ale
LMTC i ,

subiacente RMGi , ce au dimensiuni

cu mult mai mici dect a matricei dinamice globale Dnn , n = iK=1 ni a LMTC . Ctigul de spaiu memorie este de ordinul O(m) , unde m = iK=1 ni este numrul de elemente nenule a matricelor dinamice Di , i = 1L K . Complexitatea analizei numerice pentru aceast metod, relativ la cea direct, este de ordinul O( K m+ | TS | (mS )) , unde (mS ) este numrul de arce incidente cu tranziiile temporizate de sincronizare Ts a submodelelor RMGi . Un alt aport important const n evidenierea problemei definirii nconjurrii subreelei pentru studierea ei izolat, necesar la aplicarea unei metode Kronecker. n cele ce urmeaz se vor aborda unele aspecte de modelare, de verificare i evaluare a performanelor sistemelor de calcul multiprocesor n baza reelelor Petri markoviene generalizate.

58

3. Modelarea i evaluarea performanelor sistemelor multiprocesor


3.1 Aspecte arhitecturale de modelare
Arhitectura unui sistem de calcul cu elemente de prelucrare multiple este, n esen, definit de ansamblul metodelor, tehnicilor i politicilor de rezolvare a conflictelor, care stau la baza schimburilor de informaie n sistem. Acestea sunt evident necesare, deoarece, ca i pentru alte tipuri de sisteme, diferitele elemente de prelucrare a datelor, componente ce trebuie s se supun anumitor reguli de comunicare/cooperare, astfel nct comportarea lor global coordonat, s fie similar cu comportarea unui singur sistem complex. n lucrare ne vom interesa doar de organizarea, modelarea i evaluarea performanelor unor astfel de sisteme la nivelul n care se manifest i poate fi caracterizat paralelismul i cooperarea proceselor de calcul. Din acest motiv, se consider semnificative doar arhitecturile i mecanismele globale de interconectare ale elementelor sistemului, i nu structurile interne particulare ale acestor elemente, potenial caracterizate de un paralelism local. Pentru identificarea structurilor specifice de interconectare, este necesar s fie descrise componentele hardware implicate n transferul de informaie dintre procesele situate pe diferite elemente de prelucrare. n [2] sunt considerate n acest sens dou tipuri de entiti funcionale: ci de comunicaie i elemente de comutaie. Cile de comunicaie sunt materializate de mediile prin care este transferat informaia ntre elementele de prelucrare a datelor i, cel puin la nivel conceptual, ele nu intervin asupra coninutului informaiei; exemple tipice de acest fel sunt memoriile, magistralele, repetoarele etc. Un element de comunicaie reprezint, pe de alt parte, o entitate conceput ca o facilitate inteligent, care intervine ntre un element de prelucrare emitor i unul receptor (sau mai multe elemente destinatare); el afecteaz, de regul, coninutul informaiei transferate n moduri diferite, cum ar fi, de exemplu, modificarea adresei de destinaie, a cilor de rutare a informaiei etc. n acest capitol vom aborda unele aspecte de modelare i evaluare a performanelor sistemelor multiprocesor (SMP) prin modele descriptiv-compoziionale de reele RMG extinse. n continuare, este propus o metodologie de modelare i evaluare a performanelor sistemelor SMP, care constituie o sintez a metodei de analiz a performanelor sistemului n baza reelelor RMG i metoda de trecere formal de la descrierea logicii interaciunii proceselor paralele cooperante ale arhitecturii SMP la construirea reelei GeN subiacente reelei RMG. Astfel de abordare are, cel puin, trei avantaje majore, n comparaie cu folosirea metodelor teoriei sistemelor de ateptare i anume:

59

trecerea formal de la descrierea logicii interaciunii proceselor arhitecturii SMP n form de expresii descriptive ctre reele RMG determin un model adecvat ce se construiete n mod sistematic i care este un model analizabil; posibilitatea de construire automat a spaiului de stri al lanului LMTC inclus ce introduce o etap suplimentar de verificare a coerenei specificaiilor stabilite, care lipsete n metodele tradiionale de analiz a proceselor markoviene descrise prin ReSA;
cu mult se simplific descrierea sistemelor complexe n comparaie cu metoda direct de

construire manual a lanului LMTC inclus, datorit faptului c o reea GeN poate fi construit din subreele GeN, redate de expresii descriptive elaborate aparte pentru fiecare sub-sistem al SMP, care apoi sunt interfaate ntre ele cu locaii i tranziii, folosind operatorii Paralelism competitiv i Cooperare p L f a componentelor descriptive, obinnd astfel o reea RMG care descrie funcionarea sistemului ntreg. n mod general, pentru a efectua o evaluare a performanelor, folosind formalismul RMG, modelarea const n a construi o reprezentare formal a comportamentului logic al sistemului n form de o reea GeN, apoi a identifica atributele numerice ale elementelor i componentelor sistemului considerat, etc. Odat ce aceast reea este construit, urmnd etapele menionate mai nainte i aspectele temporale relative la evenimentele ce condiioneaz evoluia schimbrii strilor care sunt reprezentate n modelul RMG, se poate folosi acest model pentru a obine descrierea funcionrii SMP, determinat de lanul LMTC inclus respectiv. Pentru a elabora modelul unui SMP sau modelul unui sistem cu prelucrare distribuit a datelor n form de reea RMG, vom folosi urmtoarea abordare: urmnd abordarea elaborat i prezentat n capitolul 1, se va efectua sinteza modelului de reea GeN ce descrie logica funcionrii sistemului de calcul analizat; se va determina semantica i atributele numerice ale locaiilor (capacitile, marcajele etc.) i tranziiilor (ratele de declanare ale tranziiilor temporizate, ponderile vitezelor de declanare ale tranziiilor imediate, caracteristicile numerice de performan ce trebuie determinate etc.), lund n consideraie politicile de executare a tranziiilor validate (declanarea prioritar, selectarea probabilistic etc., dac ele sunt folosite n sistem); reeaua RMG astfel construit, descrie, ntr-o form explicit, aspectul temporal al paralelismului, concurenei, cooperrii, excluderii mutuale, sincronizrile i alte forme de interaciune ale proceselor ce calcul sistemului astfel modelat. Folosind acest formalism RMG de nivel nalt pentru a descrie compact funcionarea sistemelor de calcul putem apoi automat genera i analiza lanul LMTC subiacent. Odat obinut vectorul de probabiliti staionare de stare sau tranzitorii, putem calcula unii indicatori de performan ale modelului, care ne intereseaz. 60

3. 2 Sistem multiprocesor cu o magistral i memorie comun


Precum s-a relatat anterior, elaborarea sistemelor SMP necesit determinarea celei mai potrivite reele de comunicaie (magistrale comune, canale etc.), care va asigura reinerea minim ntre momentul apariiei cererii pentru accesarea resurselor sistemului i momentul alocrii acestor resurse. Evaluarea diferitelor caracteristici de performan constituie problema de prim plan, n special la elaborarea sistemelor SMP, ce funcioneaz n timp real. De aceea, este actual problema elaborrii metodelor i mijloacelor de evaluare a performanelor diferitor structuri i arhitecturi SMP, ce posed astfel de caliti specifice cum ar fi paralelismul, cooperarea, sincronizarea, interaciunea ntre sub-sisteme, componente etc. n general, arhitectura SMP poate fi prezentat ca o mulime de resurse cooperante: module primare (procesoare), module secundare (memorie, porturi de intrare/ieire) i o reea de comunicaie ce le conecteaz (Fig.3.1) [2].

Figura 3.1. Structura sistemului SMP1: PC i procesor, MPi memorie privat, MC memorie comun, LBi -magistral local, GB -magistral comun Modulele primare, destinate pentru prelucrarea datelor, sunt elemente de prelucrare (PE), ce produc cereri pentru accesul prin reeaua de comunicaie ctre modulele secundare, capabile s prelucreze aceste cereri ori s le ignoreze. Pentru modelarea i evaluarea performanelor unor astfel de sisteme, vom considera c sunt cunoscute: clasa de probleme ce trebuie prelucrate; arhitectura, atributele calitative i cantitative ale resurselor acestui sistem; principiile de organizare i algoritmii de funcionare ai sistemului;
restriciile de performan, specificate la caietul de sarcin.

Actualmente, drept caracteristic numeric de performan a unui sistem SMP, este acceptat puterea de procesare ( ) , egal cu numrul mediu de procesoare n stare activ [2]:

si S a

na (i ) ,

(2.28)

61

unde S a este mulimea strilor sistemului SMP, n care procesoarele sunt active; na (i ) este numrul de procesoare active n starea si , iar i este probabilitatea de aflare n starea si . De aici reiese problema alegerii (pentru parametrii de ncrcare specificai ai sistemului) unei astfel de structuri a reelei de comunicaie care va maximiza puterea de procesare (3.1) i, ca urmare, estimarea valorii relative de reinere a procesrii cererii, ce apare n reeaua de comunicaie dat a sistemului SMP. Este evident, c puterea de procesare poate fi interpretat drept coeficientul de folosire a structurii sistemului SMP. Pentru alctuirea expresiei DE care descrie cooperarea proceselor (Pro) de procesare a datelor conform algoritmului de funcionare, este necesar de a examina aparte toate strile locale posibile ale resurselor primare PE i ale celor secundare (memorii private, locale i comune etc.). De regul, numrul lor nu depete cteva stri locale posibile pentru fiecare resurs de calcul. Astfel, de exemplu, pentru arhitectura SMP1, reprezentat n Fig. 3.1, modulele primare (elementele de prelucrare PE pot s se afle n trei stri posibile: a - lucrul activ cu memoria privat; c - lucrul cu memoria comun; w - ateptarea alocrii resursei comune . Resursele comune (magistrala comun i memoria comun) pot s se afle n una din dou stri: g - liber i g - ocupat. Pentru un proces de calcul Pr oi , care include un element de prelucrare PEi cu procesorul PCi , memoria sa privat MPi , magistrala local LBi i resursa comun GB, expresia sa

descriptiv Dei , (i = 1, n) , ce descrie traseul funcionrii acestui proces, este urmtoarea: Dei = ( wi g ) |ti +1 ci |ti + +21 (1ai |ti wi g ), i = 1, n . (3.2)

Expresia DE4_1, ce descrie interaciunea tuturor proceselor Pr oi , (i = 1, n) ale sistemului SMP1, este obinut prin superpoziia Dei , descrise de expresia (3.2):
DE4 _ 1 = Dei cu M 0 ( g ) = 1 .
i =1 n

(3.3)

Pentru cazul particular n =2 din expresia DE4_1 obinem o reea GeN 4 _ 1 subiacent reelei RMG4_1, care este reprezentat n Fig. 3.2a. Aici tranziiile t5 i t6 sunt specificate ca tranziii imediate, fiindc durata de accesare la magistrala comun GB poate fi neglijat n comparaie cu durata de prelucrare a datelor de ctre un element PE sau un modul MC. Expresia DE4_1 din (3.3) poate fi redat i n notaia tradiional, folosind simbolul-locaie pi :

DE4 _ 1 = (( p1 p2+i ) |ti +1 p3+i |ti + 2 ( pi +1 |ti pi + 2 p1 )) ,


i =1

i = 1, n .

(3.4)

62

(a)

(b)

Figura 3.2. Maparea pentru n=2 a : (a) DE4_1 n RMG4_1 i _ (b) DE4_2 n RMG4_2 Semnificaia locaiilor i tranziiilor reelei RMG4_1 pentru n=2 este: p2 , p5 - procesele Pr oi sunt n stare activ; procesoarele PCi folosesc memoria

privat MPi , i=1, 2; p3 , p6 - ateptarea eliberrii GB; p4 , p7 - procesele Pr oi au acces la GB i MC, i=1, 2; p1 - magistrala GB i MC este liber;
t1 , t 4 - sfritul lucrului activ al p1 i p2 ; t3 , t6 - sfritul alocrii MC de procesele

Pr o1 i Pr o2 ; t 2 , t5 - accesarea MC de procesele Pr o1 i Pr o2 .

n general, reprezentarea grafic i analiza unei reele RMG redate de DE4_1 din (3.4) pentru n>6 este destul de complex. Din (3.2), observm similaritatea descriptiv a expresiilor Dei , ceea ce duce la maparea a unor subreele GeN ei izomorfe (simetrie structural) subiacente RMGei , ratele de declanare ale crora sunt: t j : j = const. Dac admitem c toate PEi , i = 1, n sunt elemente omogene, atunci procesele Pr oi n mod statistic vor parcurge acelai tip de traseu (subreele GeN ei izomorfe) n reeaua RMG4_1 i deci ele vor avea un comportament statistic-echivalent [8, 107], astfel nct t j : j ( M ) = M ( pi ) j . Astfel, prin agregarea reelei RMG4_1, obinem reeaua RMG4_2 (Fig. 3.2b), care este redat de expresia DE 4 _ 2 = (1 p1 p3 ) |t2 p4 |t3 ( np2 |t1 p3 p1 )) . Operaia de agregare a RMG4_1 este efectuat prin contopirea elementelor respective ale tuturor Dei , care redau sub-reele izomorfe, ntr-o singur sub-reea RMG4_2, descris de expresia DE4_2. Aceasta se obine din DE4_1 pentru pi +1 = p2 , pi + 2 = p3 , pi +3 = p4 i ti = t1 , ti +1 = t 2 , ti + 2 = t3 , folosind proprietatea reflexiv a operaiei . n acelai mod se vor modifica i atributele numerice ale locaiilor i tranziiilor respective: marcajul iniial al reelei RMG4_2 este M 0 = (1, n, 0, 0) , pentru care
n

M 0 ( p1 ) = 1 ,

M 0 ( p2 ) = ( M 0 ( pi +1 )) = n , unde M 0 ( pi +1 ) este marcajul iniial al locaiei pi +1 a reelei RMG4_1;


i =1

63

tranziia t 2 este o tranziie imediat, deoarece durata alocrii magistralei comune poate fi ratele 1 i 3 respective de declanare a tranziiilor temporizate t1 i t 2 n RMG4_2 vor

neglijat n comparaie cu alte activiti de procesare a datelor sau transfer mesaje;

fi: 1 = M ( p2 ) 1 , care este dependent de marcaj locaiei p2 , iar 3 = 3 . Reeaua RMG4_2 este un model analizabil. Mulimea strilor accesibile ale LMTC4_2 ce descrie comportarea acestei reele este: {M 0 , M j = (0, n j , j 1, 1),Lj = 1, n} , n baza creia se poate determina distribuia probabilitilor staionare de stare j , j =1, ..., n i astfel estima puterea de procesare a sistemului = M ( p2 ) , determinat ca numrul mediu de elemente PE n stare activ. Un alt tip de organizare arhitectural SMP2 este reprezentat n Fig. 3.3.

Figura 3.3. Structura SMP2 cu configurarea n k 1: PC i procesor, MPi memorie privat, MCBi memorie biport, MC memorie comun, LBi -magistral local, GB -magistral comun Acest sistem SMP2 este constituit din n elemente PEi , unde fiecare din k elemente PE j , k<n conine, n modulul su de memorie local, ML j cte o memorie-biport comun ( MCB j ) , j = 1, k , care poate fi folosit n dou regimuri: local i extern. Fiecare element PEi are i memoria sa privat MPi , i = 1, n . Adresarea local sau extern la modulul MCB j se face, respectiv, prin magistrala local ML j sau prin magistrala comun GB. Orice element PEi , (i = 1, n) poate s se adreseze la un modul extern MCB. Astfel, structura sistemului SMP2 este determinat de configuraia n k 1. Sunt posibile urmtoarele stri locale ale unui element PEi : oi - lucrul activ cu memoria privat; si - selectarea regimului de lucru cu memoria MCB j ; b j - lucrul cu memoria MCB j n regim de adresare local; ci - lucrul cu memoria MCB j n regim de adresare extern; wi ateptarea resursei comune GB. Resursa comun GB se poate afla n dou stri: liber (starea g ) sau ocupat (starea g ). Notm, c adresarea local sau adresarea extern la memoria MCB j se exclud mutual. 64

Astfel, pentru un element PEi , i = 1, k cu memorie MCB obinem urmtoarea expresie descriptiv DEP i :
D1Pi , i = 1, k , DEP i = D 2 Pi , i = k + 1, n D1Pi = 1ai | t a si | t sg bi | t b ai | t a si | t sl wi D1i ;
i i i i i

unde

D 2 Pi = 1ai | t a wi si | t sl wi D1i ; D1i = ( wi 1g ) | t w ci | t c (ai g ) .


i i

Interpretarea activitilor tranziiilor n DEP i , i = 1, n este urmtoarea: tia - sfritul activitii PCi; tisg -alegerea regimului de acces la to GB; tiw - alocarea de ctre PCi a GB i nceput acces la MCBi; tic - sfrit access la MCBi prin GB; tisl - alocarea de ctre PCi a LBi i nceput acces la MCBi; tib - sfrit access la MCBi prin LBi. Modelul sistemului SMP2 este descris de ctre urmtoarea expresie descriptiv DESMP 2 :
DESMP 2 = DEPi .
i =1 n

(3.5)

Expresia DESMP 2 din (3.5) poate fi rescris, folosind notaiile tradiionale:


pentru locaii g = p1 , ai = p2+ j , wi = p3+ j , ci = p4+ j , si = p5+ j , bi = p6+ j , j = 5i , i = 1, n 1 ; pentru tranziii t ia = t1+l , t isg = t 2+l , t iw = t 3+l , t ic = t 4+l , t isl = t 5+l , t ib = t 6+l , l = 6i , i = 1, n 1 .

Maparea DESMP 2 n RMG4_3, care descrie funcionarea SMP2 pentru configuraia n k 1= 3 2 1 este prezentat n Fig. 3.4.

Figura 3.4. Maparea DESMP 2 n RMG4_3 - modelul SMP2 pentru configuraia 3 2 1 65

n aceast reea, selectoarele probabilistice 0 < q2+l < 1 , q 2+l + q 2+l = 1 , l = 6i , i = 1, n 1 , sunt redate de tranziii imediate { t isg = t 2+l , t isl = t 5+l ,} cu vitezele ponderate respective j (M ) [8]: Tranziiile imediate considerate modeleaz selectarea regimului de lucru cu memoria MCBi , (i = 1, k ) i accesarea, alocarea magistralei GB, durata crora poate fi neglijat n comparaie cu duratele de procesare a datelor de elementul PEi sau lucrul cu aceast memorie. Semnificaia locaiilor i tranziiilor reelei RMG4_3: p1 , p7 , p13 - elementul PEi respectiv este n stare de lucru activ cu memoria sa privat MPi ; p5 , p10 - procesorul al PEi n stare de selectare a regimului de lucru cu MCBi , i=1,2;

p3 , p8 , p13 - procesorul PEi , i=1, 2, 3 cere respectiv accesul la GB; p4 , p9 , p14 - procesorul PEi , i=1, 2, 3 lucreaz respectiv cu o MCBi n regim extern; p6 , p11 t1 , t7 , t13 - procesorul PEi , i=1, 2, 3 lucreaz respectiv n regim local cu MCBi ; - sfritul lucrului activ al PEi cu memoria MPi ;

t8 i t11 , t 2 , t5 - selectarea regimului extern sau local de accesare a PEi la MCBi ; t3 , t9 , t14 t 4 , t10 , t15 t6 ,t12 - accesarea respectiv a GB de ctre procesorul PEi ; - sfritul alocrii externe a MCB j , j=1, 2 de ctre procesorul PEi , i=1,2,3; - sfritul alocrii locale a MCBi de ctre procesorul PEi , i=1,2.

Selectarea regimului de lucru local sau extern al PEi cu MCBi se va efectua de ctre un selector probabilistic, determinat de probabilitile respective 0 < q2+ j < 1 , 0 < q5+ j < 1

q2+ j + q5+ j = 1 , j = 6 i , i = 0, k 1 . Ratele de declanare ale tranziiilor temporizate respective sunt:

1+ j , 4+ j , 6+ j , j = 6 i , i = 0, k 1 ; 1+l , 3+l , l = 6 i , i = k , n 1) .
Diagrama de trecere n strile respective ale lanului ergodic LMTC4_3, care descrie funcionarea reelei RMG4_3, poate fi uor construit, ns din cauza complexitii acestui lan, ea nu este reprezentat aici. Analiza RMG4_3 a fost efectuat, folosind mediul instrumental VPNP [46] care permite in mod automat de a construi LMTC4_3, determina matricea dinamic, rezolva sistemul de ecuaii tip Chapman-Kolmogorov i a calcula, astfel, distribuia probabilitilor staionare de stare, n baza creia este estimat puterea de procesare = f ( ) a sistemului SMP2, funcie de factorul de ncrcare al structurii:
n 1 1 k 1 = 1+6i + 1+6i n

i =0

4+6i

i =k

. 3+6i

(3.6)

66

Pentru probabiliti egale de selectare a regimului respectiv de lucru cu MCBi , i = 1, k cu k =2 i n=3 au fost examinate dou cazuri de evaluare a = f ( ) : 1) 1+ j = , j = 6 i , i = 0, n 1 ; 4+ j = 3+l = , j = 6 i , i = 0, n 1 , l = 6 i , i = k , n 1 ; 2) 1+ j = 5l = ; 4+ j = 33+l = , j = 6 i , i = 0, k 1 , l = 6 i , i = k , n 1 . n Fig. 3.5 sunt reprezentate dou curbe ale puterii de procesare = f ( ) pentru aceste dou cazuri, unde = M ( p2 ) este determinat ca numrul mediu de jetoane n locaia p2 , iar factorul de ncrcare al sistemului este calculat conform expresiei (2.33).

(a)

(b)
SMP 2

Figura 3.5. Puterea de procesare = f ( ) a RMG4 3 (a) i maparea DE R mai preferabil, dect al doilea caz.

n RMG4

(b)

Din analiza Fig. 2.12a, observm c primul caz de ncrcare a sistemului (rate egale) este Reprezentarea grafic i analiza reelei RMG4_3, redat de DESMP 2 pentru n>7, este foarte complex. ns, dac se va admite c SMP2 este un sistem omogen, atunci cele dou tipuri de elemente PEi , (i = 1, k ) , care au memorii MCBi i elemente PE j , (i = k + 1, n) fr memoriebiport vor determina dou tipuri de procese, unde fiecare tip de proces va parcurge acelai tip de traseu n subreelele respective ale RMG4_3, redate de expresiile D1Pi i D2 Pi din (3.5). n acest caz, se poate trece la reducerea statistic-echivalent a acestei reele, care se va efectua n mod similar celui pentru sistemul SMP1, cnd s-a obinut reeaua RMG4_2. Folosind proprietatea reflexiv a operaiei , reducerea DESMP 2 d urmtoarea expresie: DE R _ SMP 2 = np2 |t1 p5 ( p5 kp7 ) |t5 p6 /( p2 p7 ) p5 |t2 p3 ( p3 1 p1 ) |t3 p4 /( p1 p2 ) . n baza acestei expresii obinem o reea GeN4_4, subiacent reelei RMG4_4, care este reprezentat n Fig. 3.5b. Aceast reea, pentru marcajul iniial M 0 = (1,3,0,0,0,0,2) , este statistic-echivalent reelei RMG4_3 din Fig. 3.4.

67

n reeaua RMG4_4 , rata de declanare a tranziiei t1 (respectiv t6 ) este marcaj-dependent de marcajul curent
m2 = M ( p2 )

(respectiv

m6 = M ( p6 ) )

este

egal

cu

1 (m2 ) = m2 1 (respectiv 6 (m6 ) = m6 6 ), iar rata de declanare a tranziiei t 4 este 4 i


reprezint o mrime constant. Semnificaia variabilelor descriptive ale locaiilor i tranziiilor reelei RMG16 este aceeai, ca i pentru reeaua RMG4_3. Aici locaia p7 este locaie semafor ( p7 , p6 ) , care controleaz alocarea n regim local a nu mai mult dect k memorii MCBi , i = 1, k . Selectorul probabilistic 0 < q2 < 1 , q2 + q5 = 1 , care determin alegerea folosirii regimului de lucru cu memoria MCB, este definit de ctre locaia p5 i de ctre tranziiile imediate t 2 i t5 , declanarea concomitent a crora se exclude mutual. Pentru configuraia (5 3 1) , cu n = 5 elemente PE i k = 3 memorii MCB, putem obine graful redus de marcaje accesibile GR(RMG4_4) al acestei reele n form de list, care are 18 marcaje stabile i 40 marcaje instabile [108]. Observm, c n acest caz spaiul de stri al lanului LMTC inclus, asociat reelei RMG4_4, se reduce cu mult. n general, reeaua RMG4_4 cu un marcaj iniial M 0 = (1, n,0,0,0,0, k )T va avea N s = (n + 1)(k + 1) k (k + 1) / 2 marcaje stabile. Aceast reea este o reea mrginit, viabil i reiniializabil, deoarece graful ei de accesibilitate este tare conex. Aceste proprieti se determin, de asemenea, direct din topologia reelei, care are trei P - invariani: I1: M ( p6 ) + M ( p7 ) = k , I2: M ( p1 ) + M ( p 4 ) , I3: M ( p2 ) + M ( p3 ) + M ( p 4 ) + M ( p6 ) = n . Distribuia probabilitilor staionare de stare ale acestui lan este obinut prin soluionarea urmtorului sistem de ecuaii n form matriceal: U = 0 ,
r

i =0

Ns

r = 1 , unde - este vectorul-

linie al probabilitilor staionare de stare i , i = 1, N s de a se afla n strile (marcajele) stabile respective M i ale lanului LMTC; 0 - vector-coloan zero, componentele cruia sunt egale cu zero; U = (U ij ) N s N s - este matricea dinamic a ratelor de trecere ntre strile acestui lan. Elementele nenule U ij 0 ale matricei dinamice sunt determinate direct din graful GA(RMG) , n modul urmtor [40]. Fiecrei tranziii temporizate t k Tk de la inceputul

secvenei de declanare t k s i va corespunde rata sa de declanare k (eventual marcajdependent de marcajul curent M ( pv ) a unei locaii pv t k , iar declanrii tranziiei imediate te T0 , ce aparine acestei secvene de declanare te s , i va corespunde probabilitatea sa de declanare 0 < qe 1 , ce este determinat de selectorul probabilistic al tranziiilor imediate, care 68

se exclud mutual. Dac aceast tranziie imediat este singura tranziie validat de marcajul curent, atunci probabilitatea sa de declanare este egal cu 1, adic qe = 1 . Rata de trecere U i , j din starea M i n M j ca rezultat al declanrii secvenei de tranziii s , ce duce din marcajul stabil M i n alt marcaj stabil M j al grafului GA(RMG), adic M i [ s > M j va fi determinat ca produsul ratei de declanare k a tranziiei temporizate t k s i al probabilitilor qe 0 de declanare ale tranziiilor imediate, ce aparin acestei secvene de declanare:
U i , j = k qe , t k s , i j ; U i ,i = U i , j , i = 0, N s .
te s j =0 Ns

(3.7)

Folosind, de exemplu, metodele numerice Gauss pentru a soluiona sistemul de ecuaii algebrice (3.7), redate de matricea U , vom obine distribuia probabilitilor staionare de stare ale lanului LMTC, n baza creia se pot determina unele caracteristici de performan ale sistemului SMP. Aa, de exemplu, puterea de procesare a sistemului SMP este calculat ca numrul mediu de elemente PE ce se afl n stare activ de procesare a datelor, adic, n cazul considerat, ea este egal cu numrul mediu de jetoane n locaia p2 a reelei RMG4_4:

= M ( p2 ) = i M i ( p2 ) .
i 0

Ns

De asemenea, folosind formula Little, evalum durata medie a de aflare a unui PE n


in stare activ de procesare a datelor: a = M ( p2 ) / in2 , unde p2 = 4 + 6 este rata medie a p

fluxului

de

jetoane

ce

sosesc

locaia

p2 ,

iar

4 =

t4T ( M j )

j )

(respectiv

6=

t6T ( M k )

( ( M
6

) k ) este rata medie de declanare a tranziiei temporizate t4 (respectiv t 6 ),

validat i declanat de marcajul curent M j (respectiv M k , t 6 T ( M k ) ). Deoarece graful de accesibilitate al reelei i, respectiv, spaiul de stri al lanului LMTC poate conine cteva sute de mii de stri stabile, pentru analiza funcionrii unui sistem SMP real, cu un nivel mai nalt de detaliere al modelului reelei RMG, este binevenit automatizarea procesului de construire a matricei dinamice a lanului LMTC i soluionarea sistemului de ecuaii determinat de elementele matricei dinamice din (2.34), n baza cruia se va efectua evaluarea caracteristicilor de performan dorite. Actualmente, este disponibil un set de instrumente software care ofer faciliti pentru analiza modelelor de RPS [63]. Notm, c modelul reelei RMG4_1 al sistemului SMP1 i modelul reelei RMG4_4 al sistemului SMP2 au fost obinute sub ipoteza c toate componentele respective ale sistemului 69

sunt absolut fiabile, ceea ce nu totdeauna corespunde realitii. Observm, de asemenea, c defectarea magistralei comune GB, de exemplu, va afecta considerabil performana sistemului i deci cderea n pan a magistralei GB trebuie reparat. n acest caz, modelul reelei RMG4_1 trebuie modificat, lund n consideraie i starea de defectare a magistralei GB (starea d cu simbolul-locaie p8 ), unde magistrala comun nu este disponibil i, deci, ea nu poate fi alocat. Modificarea reelei RMG4_1 se va efectua simplu prin modificarea formulei DE4_1 din (3.4), adugnd n locul respectiv o subreea GeN elementar ( p1 |t7 p8 |t8 p1 ) , care determin
dou tranziii temporizate suplimentare t7 p1 i t8 p1 , unde p8 t7 , iar t8 p8 . Declanarea

tranziiei temporizate t7 (respectiv t8 ) este interpretat ca declanarea aciunii de cdere n pan a magistralei GB (repararea magistralei GB) cu rata 7 (respectiv 8 ). n mod similar, lum n consideraie i fiabilitatea altor componente ale sistemului SMP2. Astfel, caracteristicile de performan ale sistemului ne-fiabil se vor diminua, iar traficul de date, ce trece prin magistrala GB, va fi limitat, fiindc magistrala GB este o gtuitur, care mrete durata medie de reinere a cererilor la alocarea acestei magistrale comune, ne-fiind n pan. Pentru a mri productivitatea traficului (lrgirea gtuiturii) de date prin magistrala GB i, n acelai timp, de a mri disponibilitatea sistemului, de obicei, se introduce o redundan de elemente PE, care asigur o fiabilitate dorit a sistemului, chiar dac unele dintre ele pot cdea n pan. n ce privete magistrala GB, apar unele probleme cnd ea nu va fi n bun funcionare. De aceea, un sistem SMP real de acest tip va conine mai multe magistrale GB i module de memorii comune. n continuare prezentm o analiz a unei astfel de arhitectur SMP3, care a fost considerat n [8].

3.3 Sistem multiprocesor cu magistrale i memorii comune multiple


Structura sistemului SMP3 cu configuraia ( n m k , n > m > k 1 )), care este reprezentat n Fig. 3.6, are n elemente de prelucrare PE j , ( j = 1.n) , fiecare din care conine cte un procesor PC j i o memorie local ML j . Elementele PE j coopereaz ntre ele, efectund un schimb de mesaje prin intermediul a m module de memorie comun, care pot fi adresate i alocate cu ajutorul a k magistrale comune GBl , (l = 1.k ) . Cum s-a menionat mai nainte, performanele funcionrii unui astfel tip de sistem SMP este limitat din cauza prezenei elementelor de sincronizare ntre procesele paralele i competiia pentru utilizarea resurselor globale comune, etc. Aceste restricii trebuie luate n consideraie la elaborarea structurii i, respectiv, a arhitecturii sistemului SPM3. Cazurile de diminuare a performanelor la nivele mai nalte sunt dificil de interpretat. 70

Figura 3.6. Structura sistemului SPM3 cu magistrale comune: PC j - procesoare;

ML j - memorie local; LB j - magistrala local; MPj - memoria privat; MC j - modul


de memorie comun; GBk - magistral comun; PE j - element de prelucrare

Lund n consideraie cele relatate mai nainte, modelarea proceselor de alocare a resurselor fizice ale sistemului SPM3 preced etapa de evaluare a caracteristicilor de performan ale sistemului, innd cont de sine-costul componentelor i de alte restricii specificate. La descrierea funcionrii unui atare SMP n form de reea RMG vom admite c, n primul rnd, se realizeaz procesarea datelor din memoria local n decursul unei perioade de timp, ce este o durat variabil aleatorie, distribuit conform legii exponenial-negative i egal n medie cu 1 / . n al doilea rnd, dup efectuarea cererii de alocare, adresate ctre un modul MC al sistemului SMP3, ea poate s nu fie imediat prelucrat din cauz c magistrala comun nu este accesibil sau c modulul MC adresat este deja alocat. Durata de alocare a unui modul MC, de asemenea, este o variabil aleatorie independent cu o distribuie exponenial-negativ, egal n medie cu 1 / . Este acceptat urmtoarea strategie de selectare i alocare a magistralelor: dac unul din procesoare, fie A, se afl n firul de ateptare pentru un modul MC, care este deja alocat de alt procesor, fie B, atunci, la terminarea lucrului cu acest modul MC, magistrala GB alocat nu se elibereaz, ci imediat se transmite procesorului A. Fenomenul de baz, ce trebuie modelat, este legat de alocarea resurselor fizice (hardware) ale sistemului. n scopul simplificrii modelului, vom admite c durata necesar la selectarea sau eliberarea magistralei poate fi neglijat n relativ cu durata de aflare n ateptare i cea a duratei de prelucrare a cererii. n aa mod, poate fi construit o reea RMG, utiliznd tranziii temporizate pentru prelucrare cererilor i tranziii imediate pentru reprezentarea selectrii/eliberrii magistralelor comune. Pentru determinarea expresiei descriptive DEn j , ce descrie traseul evoluiei unui proces Proj al unui element PE j , (i = 1, n) , care va accesa i aloca un modul MCi , (i = 1, m) , vom determina strile locale posibile ale resurselor sistemului SMP3. n acelai timp, vom explica i formarea firului de ateptare la MCi , dac acesta este deja alocat, lund n consideraie strategia de selectare i alocare a magistralelor comune ce a fost adoptat mai sus. 71

De asemenea, ca i pentru reeaua RMG4_3, ce descrie funcionarea sistemului SMP2, vom admite c PE j sunt elemente omogene de acelai tip, iar starea activ de lucru cu memoria privat sau cu memoria local a n elemente PE , este redat de simbolul-locaie p0,1 i, deci, marcajul iniial al acestei locaii este M 0 ( p0,1 ) = n . Vom nota, de asemenea, cu simbolul-locaie p0, 2 starea liber a magistralelor comune de acelai tip, redat de marcajul iniial M 0 ( p0, 2 ) = k . Cererea de accesare pentru selectarea modulului MCi , (i = 1, m) i ateptarea unei magistrale GB libere va fi notat cu simbolul-locaie p0, 3 . Lucrul cu fiecare modul MCi , (i = 1, m) se va efectua n conformitate cu strategia adoptat de selectare, alocare a magistralelor GB i a strilor de ateptare la acest modul. Pentru a reda mai comod strile locale de alocare, aciunile de ateptare i lucrul PE j cu fiecare modul MCi , vom folosi simboluri locaii pi , l i tranziii ti , l cu doi indici, primul indice al crora indic modulul MCi , iar al doilea indice indic, respectiv, numrul de ordine al strilor locale i al aciunilor de alocare i lucru cu aceste module. Astfel, pentru fiecare modul MCi vom avea urmtoarele stri locale: - pi , 4 , i = 1, m , modulul MCi este liber; - pi , 4 + j , i = 1, m , j = 1, n , unde pentru j=1 modulul MCi este alocat, iar j = 2, n procesoare se afl n firul de ateptare la acest modul. Lucrul activ al elementelor de prelucrare PE j , ( j = 1, n) , selectarea i accesarea magistralelor GBl , (l = 1, k ) , alocarea i lucrul efectiv cu MCi , (i = 1, m) , care determin traseul unui proces Pr oi , (i = 1, m) este descris de urmtoarea expresie descriptiv:
DESMP 3 = ( DE 2i DE 3i DE 4i ) DE1 ,
i =1 m

(3.8)

unde DE1 = np0,1 |t1 p0, 3 red terminarea lucrului activ al unui PE j ; DE 2i = (( p0, 2 p0, 3 pi , 4 + j ) |t i , 2 pi , 5 + j )) , i = 1, m , red alocarea modulului MCi ;
j =1 n n

DE 3i = (( ~0, 2 p0, 3 1 pi ,3+ j ) |t i , j +1 pi , 4 + j ) , i = 1, m , M 0 ( p0, 2 ) = k p


j =1

red alocarea unei

magistrale i ateptarea n firul de ateptare la modulul MCi ; DE 4i = ( pi , 4 + j |t n+1+ j ( p0,1 p0, 2 p3+ j )) i = 1, m i j = 1, n , red terminarea lucrului PE
j =1 n

cu modulul MCi , eliberarea magistralei comune i trecerea lui PE n stare activ. 72

n mod similar, ca i pentru reeaua RMG4_3, vom proceda la reducerea statistic-echivalent a reelei RMG4_5, obinut din DESMP3 , deoarece traseul fiecrui proces Pr oi este determinat de aceeai topologie a sub-reelelor izomorfe, descrise de expresiile descriptiv similare DE 2i , DE 3i i DE4i din relaia (3.8), ns atributele numerice temporale i de marcare vor fi modificate. Aceast reea RMG4_6 este obinut ca rezultat al reducerii statistic-echivalente, deoarece traseele proceselor lucrului cu acelai tip de module ale sistemului SMP3 sunt identice, prin urmare reeaua GeN4_6 , subiacent reelei RMG4_6 , va fi descris de urmtoarea expresie: DEr _ SMP3 = DEr 1 DEr 2 DEr 3 DEr 4 , unde DEr 1 = np 1 |t1 p3 ; DEr 2 = (( p2 p2 p4 + j ) |t j +1 p5 + j ) , M 0 ( p2 ) = k ;
j =1 n

(3.9)

DEr 3 = ( ~ 2 p 3 p3+ j ) |t j +1 p 4 + j ; p
j =1 n

DEr 4 = ( p 4 + j |t n+1+ j ( p1 p 2 p3+ j )) , M 0 ( p4 ) = m .


j =1

Ratele de declanare ale tranziiilor temporizate t n+1+ j , ( j = 1, n) sub-reelei redate de DEr 4 sunt marcaj-dependente i anume: n+1+ j = M ( p 4+ j ) , j = 1, n . Selectarea GB i a modulului MC respectiv, alocat de ctre un procesor, este efectuat de ctre un selector probabilistic, constituit din locaiile p 2 , p3 , p 4 i tranziiile imediate t j +1 , ( j = 1, n) , determinate de sub-reelele: ( p 2 p3 p 4 ) / p5 i ( p 2 p3 p 4+ j ) / p5+ j , j = 1, n 1 . Selectoarele probabilistice ale declanrii tranziiilor imediate sunt determinate de probabiliti marcaj-dependente de declanare i anume: 0 Pr(t1+ j ) = ( M ( p3+ j ) / m) 1 ,
n

Pr(t
j =1

1+ j

) = 1,

unde M ( p3+ j ) este marcajul curent al reelei RMG4_6, iar m este numrul de MC folosite n SMP3. n Fig. 3.7 este reprezentat modelul sistemului SMP3 n form de reea RMG4_6 pentru configuraia M 0 ( p1 ) = n = 15 , M 0 ( p4 ) = m = 3 i M 0 ( p2 ) = k = 2 , ce conine 19 locaii, 16 tranziii temporizate, 15 tranziii imediate. Semnificaia locaiilor i tranziiilor reelei RMG4_6 este:
p1 p2

- procesoare n stare activ; - magistrale comune GB libere; - procesoare care cer acces la modulele MC;

p3

73

p6 ,L, p19 - irul de ateptare la modulul MC de lungimea respectiv: j = 6, n + 4, n = 15 ;

Figura 3.7. Maparea DEr _ SMP 3 n RMG4_6 modelul redus al sistemului SPM cu 15 elemente PE, 3 module MC i 2 magistrale comune GB
t1 t2

- sfritul lucrului activ al procesorului, generare cerere alocare magistral GB; - procesorul ocup o magistrala GB i ncepe accesul de alocare a MC; - procesorul devine al j = 1, n 1, n = 15 (primul, al doilea, ... , etc. n ir de ateptare) la modulul MC respectiv;

t3 ,L, t16 t17 t18 ,L, t31

- sfritul lucrului cu modulul MC, magistrala comun este eliberat; - sfritul accesului i alocrii modulului MC, procesorul iese din ir.

Pentru acest caz, vom explica, n mod mai detaliat, funcionarea reelei RMG4_6 din Fig. 3.7. Procesoarele, ce opereaz cu memoria local, sunt reprezentate prin 15 jetoane n locaia p1 . Tranziia t1 modeleaz generarea cererii de adresare la un modul MC. Cererile sunt plasate n locaia p3 ce ateapt accesul la magistrale comune GB, ca i n cazul precedent, urmnd condiia, c nici unul din modulele MC nu au fost deja selectate. Lanul constituit din locaiile p6 ,L, p19 vor conine jetoane ce reprezint procesoarele n fir de ateptare pentru acces la acelai modul MC. n acest caz, numai un procesor din toat mulimea firului poate lucra n acelai moment de timp cu modul MC. Dac aceast mulime de procesoare este constituit dintr-un singur procesor, atunci jetonul va fi plasat n locaia p5 , dac ea constituie 2 procesoare, atunci jetonul va fi plasat n locaia p6 etc. n cazul n care 15 procesoare cer accesul la acelai modul MC, atunci jetonul se va plasa n locaia p19 . Cererile 74

noi de alocare selecteaz modulul MC n corespundere cu distribuia probabilistic uniform. Selectarea se descrie prin 15 tranziii imediate t2 t16 , pe mulimea crora este definit un selector probabilistic respectiv. Principalele proprieti ale SMP3 descrise prin diferite modele de reea RMG sunt: cererea explicit de adresare la MC respectiv, selectarea acestuia este efectuat de ctre procesor n cazul cnd o magistral este liber. Acest fapt este obinut prin utilizarea locaiei p3 nainte de selectarea modulului MC, care formeaz un selector probabilistic cu tranziiile respective; selectarea magistralei comune este modelat de lanuri de tranziii imediate t2 t16 . Rezultate numerice de evaluare. Pentru a ilustra eficiena folosirii reelelor RMG la analiza performanelor sistemelor SMP, vom prezenta unele rezultate numerice, careprecizeaz estimrile puterii de procesare . Modelarea i analiza performanelor sistemelor multiprocesor de tipul SMP3 pot fi efectuate cu ajutorul lanurilor Markov timp continuu-omogene, ns aceste modele sunt foarte complexe. Tot acolo s-a artat, cum se pot obine estimri aproximative ale valorilor marginale inferioare

a i superioare b ale puterii de procesare a sistemului SMP n funcie de parametrii


atributelor numerice respective ale resurselor sistemului. Evaluarea mrimii a poate fi efectuat cu ajutorul reelei RMG4_1 din Fig. 3.2, ce descrie funcionarea sistemului SMP1, dac vom accepta c M 0 ( p1 ) = k . n [8] evaluarea a a fost efectuat n baza unei ReSA deschise model Jackson [158] pentru k sisteme cu ateptare tip SA: M/M/1, soluionarea analitic a repartizrii probabilitilor staionare de stare a crei este obinut n form multiplicativ. Notm, c ambele mrimi a i b depind de numrul n de procesoare, de numrul k de magistrale comune i de factorul ncrcrii sistemului = / , ns ele nu depind de numrul de module MC. Cunoaterea mrimilor marginale a i b d posibilitatea de a reprezenta grafic, cum este ilustrat n Fig. 3.8, domeniul de valori reale ale n funcie de numrul n de PE cu un numr fixat de magistrale comune (k =const.) i un factor de ncrcare =const. De asemenea, este posibil de a efectua evaluarea mrimilor a i b pentru alte cazuri, de exemplu, pentru urmtoarele dou: 1) numrul de procesoare (n =64) i factorul de ncrcare ( = 0,1) sunt fixate, iar numrul k de magistrale comune va varia;

75

2) pentru o configuraie fixat n m k , se va determina domeniul valorilor posibile ale n funcie de factorul de ncrcare al sistemului. Din Fig. 3.8a, observm clar efectul neliniar de saturaie ale curbelor respective, care demonstreaz creterea lent a puterii de procesare ctre o limit a valorii marginale b , odat ce crete numrul n de procesoare pentru un numr fixat de magistrale comune i un factor de ncrcare constant sau, cnd crete numrul k de magistrale comune pentru un numr fixat de procesoare. Cunoaterea mrimilor marginale a i b este necesar, n primul rnd, la analiza performanelor sistemului SMP pentru determinarea, la etapa de proiectare, ce fel de configuraii i ncrcri ale sistemului trebuie alese, pentru a obine performanele specificate.

Figura 3.8. Domeniul valorilor a SMP3: cu k = 2 GB n funcie de n PE (a) i cu n = 10 PE, k = 2 GB n funcie de m module MC i factor de ncrcare = 0,3 (b) Aa, de exemplu, analiza performanelor sistemului SMP3 cu 10 procesoare, 2 magistrale comune i cu un factor de ncrcare = 0,3 arat c puterea de procesare a acestui sistem se afl n intervalul constituit din a = 5,6 i b = 6,5 , independent de numrul de module MC. n Fig. 3.8b este reprezentat curba schimbrii valorilor puterii de procesare i mrimile respective marginale b , a pentru un sistem ce conine 10 procesoare, 3 magistrale comune i un numr variabil de module MC cu m = 1,...,96 i un factor de ncrcare = 0,3 . n acest caz, puterea de procesare real converge mai lent, dect n cazul unui sistem SMP3 cu 2 magistrale comune (pe axa orizontal este folosit o scar logaritmic de reprezentare a lui m), unde 16 module MC sunt necesare pentru a obine valoarea 0,95 b a sistemului considerat.

(a)

(b)

76

Concluzii
Obiectivul principal al lucrrii a fost acela de a aduce la cunotin i a studia unele aspecte teoretice, metode, modele, tehnici, algoritmi i produse program de modelare, verificare funcional i evaluare a performanelor a proceselor de calcul concurente. n acest context, s-au luat n considerare urmtoarele aspecte ale metodelor i tehnicilor de modelare a proceselor de calcul concurente: a) gradul ridicat de complexitate a sistemelor de calcul i numeroasele interaciuni dintre componentele sale, cum sunt: concurena, sincronizarea, partajarea resurselor, care duc la conflicte ntre componente, blocri ale acestora, incertitudini de funcionare ale sistemului; b) simplitatea care face apel la un numr redus de concepte elementare ce sunt combinate ntr-o varietate de forme; c) generalitatea posibilitatea de a modela toate tipurile de procese cu evenimente discret-continue; d) adaptabilitatea evideniat prin faptul c modificri minore aduse modelului de referin conduc la modele speciale ce pot surprinde aspecte de temporizare, probabilitate i incertitudine, utile la descrierea sistemelor de calcul autonomice cu proprieti de reconfigurabilitate i mobilitate. Reelele Petri autonome i extensiile lor prezint, de asemenea, un mare interes datorit claritii de reprezentare a fluxului controlului ntr-un sistem cu activiti interdependente.n acelai timp teoria reelelor Petri permite demonstraii riguroase ale comportrii sistemelor descrise prin acest formalism, cu respectarea unor proprieti interesante din punct de vedere al cooperrii proceselor concurente: excluderea mutual, sincronizarea etc. Pe baza proprietilor comportamentale ale reelelor Petri se poate verifica, de exemplu, corectitudinea structurilor de execuie corespunztoare n raport cu respectarea restriciilor iniial puse. Metoda prin care se stabilete echvalena dintre cele dou clase de sisteme, construite cu ajutorul unor formule descriptive i respectiv de reele Petri, garanteaz c demonstrarea proprietilor corespunztoare ale reelelor Petri constituie o dovad a corectitudinii acestor structuri de sisteme. Pentru a descrie, n cadrul aceluiai formalism i n mod adecvat, natura proceselor de calcul concurente, a efectua verificarea comportamental i apoi evaluarea performanelor sistemelor de calcul, n lucrare este definit o clas de reele Petri generalizate etichetate (GeN), cu arce reversibile de cardinalitate marcaj-dependent i regulile lor de funcionare, subiacente reelelor Petri stocastice generalizate. Sunt formulate criterii de integrare n GeN proprieti compoziionale, introdus noiunea de dexel cu atributele unei reele primitive i definite operaii compoziionale, ntr-un spaiu de condiii-evenimente, expresii descriptive, care permit de a construi, dup anumite reguli specificate de conceptor, modele de reele GeN ale proceselor de calcul. Este considerat o metod de construire a modelelor proceselor de calcul concurente care permit de a formaliza etapa de trecere logic de la descrierea informal a arhitecturii, 77

specificaiilor comportamentale ale sistemului, la determinarea unor expresii descriptive i la maparea lor n reele GeN care sistemelor de calcul. Pentru a descrie, n cadrul aceluiai formalism i n mod adecvat, specificul proceselor de calcul concurente, a efectua verificarea i evaluarea performanelor sistemelor de calcul, n baza reelelor GeN, sunt definite reele Petri generalizate markoviene extinse RMG i regulile lor de funcionare. Acest tip de reea permite micorarea considerabil a spaiului de stri al lanului Markov timp continu (LMTC) inclus, subiacent reelei analizate. Cu scopul de arta relevana aplicrii modelelor RMG sunt prezentate unele aspecte arhitecturale de organizare i funcionare ale sistemelor multiprocesor, n baza crora a fost propus o metoda de trecere formal de la o descriere informal a logicii interaciunii proceselor concurente cooperante de calcul, la modele descriptiv-compoziionale de reele RMG extinse ale acestor sisteme. Este efectuat modelarea i evaluarea puterii de procesare i estimarea valorilor relative de reinere a procesrii cererilor ce apar n reeaua de comunicaie a arhitecturilor sistemelor multiprocesor omogene i eterogene cu magistrale i memorii comune multiple. n acelai context, este efectuat modelarea i evaluarea puterii de procesare i a toleranei la defecte a unui sistem de calcul cu masive de procesoare, interaciunea crora este efectuat prin mesaje tranzite i memorii comune distribuite. exprim interaciunea i cooperarea proceselor specifice

78

Bibliografie
1. AJMONE-MARSAN M., BALBO G., BOBBIO A., CHIOLA G., CONTE G., CUMANI A. The effect of execution policies on the semantics and analysis of stochastic Petri nets. IEEE Transactions on Software Engineering, 15(7), July 1989, p.832-846. 2. AJMONE-MARSAN M., BALBO G., and CONTE G. A Class of Generalized Stochastic Petri Nets for the Performance Evaluation of Multiprocessor Systems. ACM Trans. Computer Systems., vol. 2, no.2, may 1984, p. 93-122. 3. ALLA H., DAVID R. De Grafcet aux reseaux de Petri. Ed.: Hermes, Paris, 1992, 490p. 4. BADOUEL E., LLORENS M., and OLIVER J. Modelling Concurrent Systems: Reconfigurable Nets. Proceedings of International Conference on Parallel and Distributed Processing Techniques Applications (PDPTA'03), vol. IV, USA, 2003, p. 1568-1574. 5. BALBO G., BRUEL S., and SERENO M. Product Form Solution for Generalized Stochastic Petri nets. IEEE Transaction Software Engineering, 28(10), 2002, p. 915-932. 6. BARESI L., PEZZ M. Improving UML with Petri Net. Electronic Notes in Theorical Computer Science, vol. 44, 2001, p. 1-13. 7. BEJAN A., MISHKOY Gh. Switchover time regularities in priority queueing systems. Second Conference of the Mathematical Society of the Republic of Moldova. Communications. Chiinu, 2004, p. 36-39. 8. BENOIT P., PLATEUX W., Stewart J. Reseaux dautomates stochastiques a temps discret. Technique et science informatiques, RSTI serie TSI, vol. 24-no.2-3, 2005, p. 229-248. 9. BOLUN I. Macrosinteza reelelor de calculatoare. Editura ASE, Chiinu, 1999, 265p. 10. BOLUN I., CIUMAC A. Distribuirea fluxurilor de interpelri n reelele locale.Informatica economic, vol. VI, nr. 2(22), Bucureti, 2002, p. 46-49. 11. BRAMS G.W. Reseaux de Petri. Theorie et pratique. Edition MASSON, Paris, 1983, 182p. 12. BRODO L., GILMORE S., HILLSTON J., and PRIAMI C. A stochastic -calculus semantics for PEPA nets. Proceedings of the Workshop on Process Algebras and Stochastically Timed Activities, LFCS, University of Edinburgh, June 2002, p. 117. 13. BUCHOLZ P., CIARDO G., DONATELLI S., KEMPER P. Complexity of memory-efficient Kronecker operations with applications to the solutions of the Markov models. Informs J. Comp., no. 12(3), Summer 2000, p. 203-222. 14. BUCHOLZ P. Numerical solutions methods based on structured description of Markovian models. Computer Performance Evaluation, Elsevior Science Publishers B. V., 1991, p. 251-267. 15. BULACEANU C.. Reele locale de calculatoare. Editura Tehnic, Bucureti, 1995, 415p. 16. CANCELA H., RUBINO G., and TUFFIN B. New measures of robustness in rare event simulation. In F.B. Armstrong M.E. Kuhl, N.M. Steiger and J.A. Joines, editors, Proceedings of the 2005 Winter Simulation Conference, 2005, p.519527. 17. CANCELA H., RUBINO G., and TUFFIN B. MTTF estimation by Monte Carlo methods using Markov models. Monte Carlo Methods and Applications, 8(4), 2002, p.312341. 18. CALZAROSSA M. and MARIE R. Tools for Performance Evaluation. Performance Evaluation 33, 1998, p. 1-3.

79

19. CHIOLA G. A software package for the analysis of generalized stochastic Petri nets models. Proceedings of International Workshop Timed Petri Nets, Torino Italy, July 1995, p. 328-342. 20. CHIOLA G., AJMONE- MARSAN M., BALBO G., and CONTE G. Generalised stochastic petri nets: A definition at the net level and its implications. IEEE Transactionson Software Engineering, 19(2), February 1993, p. 89-107. 21. CIARDO G. Petri nets with marking-dependent arc multiplicity: properties and analysis. In R. Valette, editor, Procedings of the 15th Int. Conf. on Applications and Theory of Petri Nets, LNCS 815, Zaragoza, Spain, June 1994. Springer-Verlag, 1994, p. 179198. 22. CIARDO G., MUPPALA J. K., TRIVEDI K. S. On the solution of GSPN reward models. Performance Evaluation, 12(4) 1991, p. 237-253. 23. CORTS L., ELES P., PENG Z. Modeling and Formal Verification of Embedded Systems Based on a Petri Net Representation. Journal of Systems Architectture, 49(12-15), 2003, p. 571598. 24. DAVID STOTTS P. Place/Transition Nets with Debit Arcs. Information Processing Letters, Vol.41, Issue 1, January 1992, p. 2533, http://rockfish.cs.unc.edu/pubs/debitNets.pdf. 25. DEAVOURS D. D., SANDERS W. H. On-the-fly solution techniques for stochastic Petri nets and extensions. Proceedings of 7th International on Petri Nets and Performance Models, (PNPM97), St. Malo, France, June 1997, pp. 132141. 26. DELAMARE C., MOREAUX P. Analyse de performance des systemes decomposables. Technique et science informatiques, RSTI serie TSI, vol. 24, no.2-3, 2005, p. 249-277. 27. DONATELLI S., HILLSTON J., and RIBAUDO M. A comparison of Performance Evaluation Process Algebra and Generalized Stochastic Petri Nets. Proceedings of the 6th Petri Nets and Performance Models Workshop, October 1995, p. 158-168. 28. ENICOV I., GUULEAC E. Modelarea i evaluarea performanelor bncii comerciale prin reele Petri. Revista tiinific STUDIA UNIVERSITATIS, Anul I, Nr. 2, Ed.: Universitatea de Stat din Moldova, Chinu, 2007, p.179-183. 29. FREIHEIT J., BILLINGTON J. New developments in closed-form computation for GSPN aggregation. Proceedings of the 4-th International Conference on Formal Engineering Methodes (ICFEM 2003), 2003, p. 471-490. 30. FREIHEIT J., BILLINGTON J. Novel formulae for GSPN aggregation. Proceedings of the Tenth IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS 2002), Fort Worth, Texas, 2002, p. 209-216. 31. GAETA R., MANINI M., and SERENO M. Stochastic Petri Nets Models for the Performance Analysis of TCP Connections Supporting Finite Data Transfer. Proceedings of Second International Wopkshop on Quality of Service in Multiservice IP Networks 2003, QoS-IP 2003, LNCS, No. 2601, Milano, Italy, Feb. 2003, Springer Verlag, p. 372-391. 32. GELENBE E. Production-form queueing net-works with negative and positive customers. Journal of Applied Probability, Vol.28, 1991, p. 656663. 33. GERMAN R. Iterative analysis of Markov regenerative models. Performance evaluation, 44, 2001, p. 51-72. 34. GILMORE S., HILLSTON J., KLOUL L., and RIBAUDO M. PEPA nets: a structured performance modelling formalism. Performance Evaluation, 54(2), 2003, p. 79104. 35. GILMORE S., HILLSTON J., and RIBAUDO M. PEPA-coloured stochastic Petri nets. In K. Djemame and M. Kara, editors. Proceedings of the Seventeenth UK Performance Engineering Workshop, University of Leeds, July 2001, p. 155166. 80

36. GUULEAC E. Evaluarea performanelor proceselor de calcul prin reele Petri generalizate stocastice. Meridian ingineresc, Nr. 1, 2008, Ed.: UTM, Chiinu, p. 27-32. 37. GUULEAC E. Aspecte de modelare a proceselor de calcul prin reele Petri generalizate stocastice cu arce reversibile. Meridian ingineresc, Nr. 4, 2007, Ed.: UTM, Chiinu, p.48-52. 38. GUULEAC E., URCANU I., GUULEAC Em., ODOBESCU D. VHPN software tool for visual discrete-continuous modeling of hybrid system using generalized timed differential Petri nets. Proceeding of the 8-th International Conference on DAS2006, Suceava, Romnia, 2527 May 2006, p. 255-262. 39. GUULEAC E. Descriptive compositional HSPN modeling of computer systems. In Annals of the University of Craiova, vol. 3 (30), no.2/2006, p.82-87. 40. GUULEAC E., MOCANU M. Descriptive Dynamic Rewriting GSPN-based Performance Modeling of Computer Systems. Proceedings of the 15th International Conference CSCS15, 2527 May 2005, Bucureti, Romnia, p. 656-661. 41. GUULEAC E. Evaluarea performanelor sistemelor de calcul prin reele Petri stochastice. Ed.: TEHNICA-INFO, Chiinu, 2004, 276p. 42. GUULEAC E. Descriptive Compositional Construction of Generalized Stochastic Petri Net Models for Performance Evaluation of Computer Systems. Buletinul Institutului Politehnic din Iai, Tomul L (LIV), Fasc. 1-4, Automatica i Calculatoare, 2004, Iai, Romnia, p. 143-159. 43. GUULEAC E., MOCANU M. Evaluarea performanelor sistemelor paralele / distribuite prin modele descriptive de reele Petri markoviene. ELSE Software, Vol. XII, No.1 (22), 2004, Ed.: SITECH, Craiova, Romnia, p. 44-71. 44. GUULEAC E., ODOBESCU D. Petri Net Tool sistem de modelare, verificare i evaluare a performanelor sistemelor de calcul. Materialele Conferina Tehnico-tiinific a Studenilor i Doctoranzilor, UTM, Chiinu, 18 noiembrie 2003, vol. 2, p. 95-96. 45. E. GUULEAC. VPNP tool for discrete-continuous modeling and performance analysis of computer and communication systems. Book of Abstracts on 3-rd International Conference BIT+2003, 10-12 April, Vol.2, Chiinu, Moldova, 2003, p. 170. 46. GUULEAC E., MASLO V., REILEAN A., BONEAGA C. Integrate Kronecker operations for fast reachability graph construction implemented in VPNP. Proceedings of the 3rd Intern. Conference on ICMCS-02, Vol. 2, 26-28 Sept. 2002, Chiinu, Moldova, p. 179-182. 47. GUULEAC E., REILEAN A., BONEAGA C. VPNP-Software tool for modeling and performance evaluation using generalized stochastic Petri nets. Proceedings of the 6th International Conference on Development and Application Systems , D&AS 2002, 23-25 May, Suceava, Romnia, p. 243-248. 48. GUULEAC E., REILEAN A., BONEAGA C. Visual Petri Net plus integrate Programm Package for modeling using Stochastic Petri Nets. Book of Abstracts on of the 3-rd International Conference BIT+2001, 11-13 April 2001, Vol.1, Chiinu, p. 46. 49. HIREL C., TUFFIN B., and TRIVEDI K. S. SPNP Version 6.0. In B.R. Haverkort, H.C. Bohnenkamp, and C.U. Smith, editors, Computer performance evaluation: Modelling tools and techniques. Proceedings of 11th International Conference TOOLS 2000, Schaumburg, Il., USA, volume 1786 of Lecture Notes in Computer Science, Springer Verlag, 2000, p. 354357. 50. HOME Page of PNML: http://www.informatik.hu-berlin.de/top/pnml/. 51. JUNCAN T., IPLEA F.L. Reele Petri. Ed.: Universitii Al. I. Cuza, Iai, 1995, 189p. 52. KINDLER E., WEBER M. The Petri Net Kernel-An Infrastructure for Building Petri Net Tools. Software Tools for Technology Transfer, 3(4), 2001, p. 486-497. 81

53. KLEINROCK L. Queueing Systems, vol.1 Theory, vol.2 Computer aplications. Wiley&Sons, 1976, 600p. 54. KLOUL L., MOKHTARI A. Algebre des processus pour lanalyse de performances des noeuds actifs. Technique et science informatiques, RSTI serie TSI, vol. 24-no.2-3, 2005, p. 279309. 55. LAZAROVA-MOLNAR S., HORTON G. Proxel-Based Simulation of Stochastic Petri Nets Containing Immediate Transitions. Electronic Notes in Theoretical Computer Science, Vol. 85 No. 4, 2003, p. 203-217, http://www.elsevier.nl/locate/entsc/volume85.html 56. LEFTER C., MATCOVSCHI M.H., PASTRAVANU O. Computer-Aided Analysis and Design of Discrete-Event Systems with Petri Net Toolbox for MATLAB. n: Yagawa, Atanasiu G. and C. Brtianu (Eds.), Perform. Based Engineering for 21st Century, Ed. Cermi, 2004, p. 222-227. 57. LLORENS M., OLIVER J. Structural and Dynamic Changes in Concurrent Systems: Reconfigurable Nets. IEEE Transactions on Computers, vol. 53, no. 9, September 2004, p. 11471158. 58. LOPEZ-GRAO J. P., MERSEGUER J., and CAMPOS J. From UML Activity Diagrams to Stochastic Petri Nets: Application to Software Performance Engineering. Proceedings of of the Fourth International Workshop on Software and Performance (WOSP04), California, USA, January 2004, p. 25-36. 59. MISHKOY Gh., GIORDANO S., BEJAN A., BENDERSCHI O. Generalized priority models for QoS and CoS network technoloigies. Computer Science. J. Moldova, vol. 15, nr. 2(44), 2007, p. 217-242. 60. MITREVSKI P., GUEV M. Performance evaluation of branch and value prediction using discrete-event simulation of fluid stochastic Petri nets. Proceedings of the 2nd International Conference on Informatics and Information Technology, Molika, 20-23 Dec. 2001, p. 39-56. 61. MOCANU M., GUULEAC E. Modelarea i evaluarea performanelor sistemelor i aplicaiilor paralele/ distribuite prin reele Petri markoviene. ELSE Software, Vol. XII, No.2 (23), 2004, Ed.: SITECH, Craiova, Romnia, p. 5-38. 62. MOLLOY M.K. Performance analysis using Stochastic Petri Nets. IEEE Trans. Comput. C3, no.9, 1982, p. 913-917. 63. MOREAUX P. Combining aggregation and decomposition methods for performance evaluation of complex systems. In V. Ataly, U. Halici, K. Inan, N. Yalabik, and A. Yazici, editors, ISCIS XI, Antalya, Turkey, November 6-8, 1996. METU, Ankara, p. 805-814. 64. MURATA T. Petri Nets: Properties, Analysis and Applications. Proceedings of the IEEE, vol.77, no.4, 1989, p.541-580. 65. M. PALUDETTO, DELATOUR J. UML et les rseaux de Petri: Vers une smantique des modles dynamiques et une mthodologie de dveloppement des systmes temps rels. Objet et mthodes formelles, vol. 5, no. 3-4, 1999, p. 443-467. 66. PASTRAVANU O., MATCOVSCHI M., MAHULEA C. Petri Net Toolbox Teaching discrete event systems under Matlab, n: M. Voicu (Ed.), Advances n Automatic Control, Kluwer Academic Publishers, Boston/Dordrecht/London, 2004, p. 247-256. 67. PASTRAVANU O., MATCOVSCHI M., MAHULEA C. Aplicaii ale reelelor Petri n studiul sistemelor cu evenimente discrete. Ed.: Gh. Asachi, Iasi, 2002, 238p. 68. PASTRAVANU O. Sisteme cu evenimente discrete. Tehnici calitative bazate pe formalismul reelelor Petri. Ed.: Matrix Rom, Bucuresti, 1997, 225p. 82

69. Petri nets world - Petri nets tools database. http://www.informatik.uni-hamburg.de/TGI/ PetriNets/tools/quick.html 70. Petri Nets Research Groups. http://www.informatik.uni-hamburg.de/TGI/PetriNets/research/ 71. RIBAUDO M. Stochastic Petri nets semantics for stochastic process algebras. In: Proceedings of 16th Int. Workshop on Petri Nets and Performance Models, Durham, NC, 1995, p.148-157. 72. ROBERTAZZI T.G. Computer networks and systems: queuing theory and performance evaluation. New York: Springer-Verlag, 1994, 328p. 73. ROJAS I.. Compositional construction of SWN models. The Computer Journal, 38 (7), 1995, p. 612-621. 74. TANENBAUM A. Reele de calculatoare. Ed.: Computer Press Agora, Bucureti, 1997, 766 p. 75. URSU A., GUULEAC E. From Petri Nets to Temporal Logic Specification of concurrent systems. Proceedings of the ICMCS-92, Kishinev, October 1992, p. 47-50. 76. VALK R. Petri Nets as Token Objects|An Introduction to Elementary Object Nets. In: J. Desel, M. Silva. (eds.): Proceedings of the 19th International Conference on Application and Theory of Petri Nets, Portugal. Lecture Notes in Computer Science, Vol. 1420. Springer, Berlin Heidelberg New York, 1998, p. 1-25. 77. VALK R. Generalizations of Petri Nets. Proceedings of the 10th Symp. on Mathematical Foundations of Computer Science (MFCS'81), Springer-Verlag, LNCS, vol. 118, Czechoslovakia, 1981, p. 140-155.

83

Lista abrevierilor
ALU - unitatea aritmetic logic Dexel element de expresie descriptiv (Descriptive expression element) DE - expresie descriptiv EDP ecuaii difereniale n derivate pariale FIFO - disciplina de servire primul sosit primul servit LIFO - disciplina de servire primul sosit ultimul servit GB - magistral comun GeN- reele Petri generalizate (Generalized Petri Nets) LMTC - lan Markov n timp continuu LMTD - lan Markov n timp discret LB- magistral local MIMD - Multiple Instruction Multiple Data MP memorie privat MCB memorie biport MC memorie comun PC procesor ReSA - reele de ateptare RMG - reele Petri generalizate markoviene RP - reele Petri RPM - reele Petri markoviene RPS - reelele Petri stocastice SC - sistem de calcul SCM - sistem de calcul cuplat matriceal SMP - sistemelor multiprocesor VPNP - Visual Petri Net + VHPN - Visual Hybrid Petri Net

84

Anexa A1 Produse program pentru verificarea, simularea animat i evaluarea performanelor modelelor de reele Petri stocastice
A1.1 Prezentarea produselor software
Amploarea efortului de cercetare investit recent n domeniul evalurii performanelor sistemelor cu evenimente discrete i hibride, inclusiv i a sistemelor de calcul, este de larg notorietate, fiind reflectat de numeroasele articole pe aceast tem, publicate n cele mai prestigioase reviste de specialitate. Absena contextului unificator al domeniului este resimit i prin prisma instrumentelor software la care fac apel colectivele angrenate n diverse direcii de cercetare [68]. Ca i caracterizare general, se poate afirma c fiecare colectiv interesat i-a dezvoltat propriile instrumente software, limitate la aplicaiile corespunztoare unei anumite abordri teoretice. Dintre acestea, Petri Net Toolbox (PNT) for MATLAB i Petri Net Simulink Block (PNSB) [65] prezint un grad de generalitate ridicat datorita exploatrii resurselor MATLAB - Simulink elaborate de firma The MathWorks Inc., care furnizeaz un suport robust i cu multiple faciliti n studierea dinamicii sistemelor i deschid noi perspective de utilizare a MATLAB i Simulink n studierea dinamicii sistemelor cu evenimente discrete i a sistemelor hibride. Avnd n vedere faptul c reelele GeN i extensiile lor de tipul RMG, RDM simple i/sau de alte extensii reprezint un suport de referin pentru dezvoltarea aplicaiilor de calcul tehnicotiinific la verificarea i evaluarea performanelor sistemelor de calcul, cercetrile noastre i-au propus, de asemenea, realizarea a unor produse software, care s permit integrarea formalismului matematic al acestui tip de reele Petri. Astfel, au fost proiectate, implementate i testate produsele software Visual Petri Net + (VPNP) i Visual Hybrid Petri Net (VHPN) care deschid noi perspective n studierea dinamicii, evalurii performanelor sistemelor de calcul reconfigurabile i a sistemelor cu evenimente discrete i a celor hibride [37, 46]. VPNP i VHPN sunt produse software de concepie original, care permit utilizarea lor n mediul Windows XP a formalismului reelelor Petri generalizate temporizate hibride stocastice n scopul analizei comportamentale, simulrii animate i evalurii performanelor a proceselor discret-continue. Aceste produse software accept utilizarea modelelor de sisteme cu evenimente discretcontinue descrise prin urmtoarele tipuri de reele Petri: atemporizate, temporizate stocastice generalizate pe tranziii. Reelele temporizate pe tranziii pot avea temporizare de tip determinist sau stocastic; n cazul stocastic este permis utilizarea distribuiilor de probabilitate cu suport pozitiv. Locaiile pot avea capacitate finit sau infinit. Tranziiilor aflate n conflict li se pot 85

aloca fie prioriti, fie funcii de gard, fie probabiliti marcaj dependente, n baza crora s se rezolve conflictele. Arcele pot fi prevzute cu ponderi marcaj dependente i pot avea rol cosumator/productor i inhibitor sau promotor. Modelele de tip reea Petri se introduc prin intermediul unei interfee grafice cu utilizatorul (n scriere abreviat, GUI, n conformitate cu terminologia anglo-american). Dup redactarea unui model de reea Petri, sau dup deschiderea unui model desenat anterior (salvat ntr-un fiier format *.xml), utilizatorul beneficiaz de urmtoarele instrumente de analiz i sintez: Construcia automat a matricei de inciden pe baza topologiei reelei; Construcia automat a grafului de accesibilitate sau a arborelui de acoperire, cu

ajutorul cruia pot fi verificate proprietile comportamentale (viabilitate, mrginire, reversibilitate etc.); Testarea automat a proprietilor structurale (mrginire structural, repetitivitate, Determinarea automat a invarianilor de tip P i T; Efectuarea experimentelor de simulare n trei modaliti diferite (Step-by-step conservativitate i consisten);

acompaniat de animaie pentru dinamica jetoanelor, Run Slow acompaniat de animaie pentru dinamica jetoanelor; Vizualizarea progresului simulrii cu ajutorul instrumentelor grafice specializate de Calculul automat al indicilor de performan corespunztori orizontului de modelare tip osciloscop(scope) i agend (diary); sau simulare animat, asociai fiecrei locaii i / sau tranziii (numrul total de jetoane sosite, respectiv plecate; durata medie dintre dou momente succesive la care sosesc / pleac jetoane; durata medie de staionare a unui jeton; media ponderat n timp a numrului de jetoane) i, respectiv, pentru tranziii (numrul total de executri; frecvena medie a executrilor; durata medie dintre dou executri succesive; grad de utilizare); (ix) Proiectarea bazat pe parametrizarea structurilor. n varianta actual, VPNP i VHPN ncorporeaz un Help care poate fi consultat n orice moment al utilizrii software-ului. Totodat, este pus la dispoziia utilizatorului un set de programe demonstrative concepute s ghideze, prin faciliti de animaie, exploatarea acestor produse program n diverse probleme de analiz i sintez a modelelor GeN, RMG i RDM. VPNP i VHPN sunt instrumente CAD/CAE pentru calculatorul PC care permite implementarea RP cu evenimente continue i discrete combinate. La dezvoltarea acestui software, o atenie deosebit a fost ndreptat ctre utilizarea intuitiv, pentru a oferi utilizatorului avantajele proiectrii uoare, simulrii rapide i documentrii simple pentru GeN, RMG i RDM . 86

Programele ruleaz sub sistemele de operare Windows NT sau Windows XP. Cerinele relative la echipamentul hardware necesar sunt satisfcute de orice platform WinXP/WinNT. Acestea sunt utilitare rapide, simple i intuitive pentru proiectarea, simularea animat i evaluarea RP temporizate stocastic discrete, continue, hibride i difereniale. Exist faciliti de animaie pentru a observa mai uor comportamentul dinamic al reelelor analizate. Interfaa GUI orientat pe obiecte permite o uoar proiectare, simulare, vizualizare i documentare a GeN hibride temporizate stocastice. O trstur caracteristic deosebit este animaia jetoanelor discrete i a fluidelor continue. Aceasta determin urmrirea cu uurin a comportamentului dinamic al modelului de reea. Operaiile elementare implicate n crearea unei GeN i extensiile ei sunt adugare i tergere, redactare a elementelor-obiecte de reea i a atributelor acestora. Aceste produse software sunt realizate pentru scopuri de cercetare i pentru a ajuta utilizatorul interesat la proiectarea, simularea, vizualizarea i documentarea GeN hibride. Ele sunt dezvoltate n continuu ca programe orientate pe obiecte pentru a modela procesele dicret-continue. Inovaia esenial a VPNP i VHPN este introducerea elementelor de reea hibrid i diferenial cu arce reversibile i capaciti negative ale locaiilor, n afara elementelor tradiionale ale RP cu evenimente discrete: locaii i tranziii continue. Noutatea la tranziiile continue este c declanarea lor se face continuu, iar viteza de declanare poate fi descris prin ecuaii difereniale atribuite tranziiilor, unde modelarea comportrii proceselor dinamice continue devine practicabil. Faptul c elemente continue pot fi combinate cu elemente discrete permite modelarea sistemelor hibride complexe. Introducerea elementelor continue n RP tradiionale, limitate pn acum la descrierea evenimentelor discrete, realizeaz unificarea celor dou pri, pn acum separate. Ca rezultat, s-au obinut instrumente omogene pentru modelarea sistemelor cu evenimente continue i discrete (hibride) ale sistemelor de calcul. n continuare vom prezenta numai produsul VHPN deoarece celelalte produse au fost elaborate, implementate, dezvoltate cu faciliti similare.

A1.2. Structur i formele interfeei grafice utilizator


Soft-ul VHPN este dezvoltat n mediul integrat Borland C++ Builder 5.0. Utilizarea interfeei vizuale Borland C++ Builder permite uor i foarte rapid de a prelucra i a testa o aplicaie. Structura soft-ului VHPN este prezentat n Fig. A4.1. Fiecare component interacioneaz cu celelalte componente i au funcionarea lor intern.

87

Eveniment de

Eveniment de

la tastatur

la mous

Refacerea reelei dup evenimente

VHPN GUI
obiectului? Schimbare, Confirmarea Confirmarea
Interaciunea dintre obiecte

schimbrii

Confirmarea

Obiect (administreaz crearea obiectelor)

Obiect

Obiect
Configurarea proprietilor

Inspectorul Obiectelor
Eveniment de Eveniment de

la tastatur

Imaginea programului VHPN, fiind rezultatul unui studiu de proiectare, implementare i continu dezvoltare permite, prin intermediul unei Interfee Grafice Utilizator (GUI), orientat pe obiecte, o proiectare uoar, simpl i intuitiv a modelelor de reele Petri stocastice difereniale descriptiv-restructurabile. Construcia reelelor, redactarea, simularea animat, verificarea, vizualizarea i documentarea sunt integrate ntr-un singur concept, astfel nct timpul de nvare i proiectare este redus, iar cantitatea i calitatea datelor rezultate crete (Fig. A4. 2). Cu toate c Borland C++ Builder uureaz elaborarea interfeei grafice utilizator, pe seama programatorului este pus problema scrierii codului pentru prelucrarea evenimentilor i prezentarea rezultatelor. Tot programul VHPN este realizat pe principiul obiect-orientat. Aa abordare reduce complexitatea, realizarea, dezvoltarea i timpul de analiz. Cu att mai mult, lund n consideraie faptul c toate obiectele i proprietile lor se las evident pe seama obiectului model.

Figura A4.1. Structura intern a VHPN

la mous

schimbrii

Crearea

crerii

tergere

88

Figura A1.2. GUI cu o reea Petri diferenial temporizat i GMA al prii ei discrete

n nucleul programului VHPN se afl GUI pentru redactarea reelei i vizualizarea rezultatelor de simulare animat. Sub aspectul exterior se ascunde structura orientat pe obiect, care reprezint structura modelului de reea Petri. Tot mecanismul de funcionare a reelei se afl la acest nivel.

Figura A1.3. Forma principal a GUI

Redactorul reelei const din dou forme. Pe forma principal (Fig. A1.3) sunt puse elementele de comand cu toate funciile programului. Elementele de creare a unei reele noi, de deschidere a unei reele deja existente, schimbarea scalei de vizualizare i chemarea simulrii animate. Panelul obiectelor ( Fig. A1.4) este creat dup analogia panelului componentelor n Borland C++ Builder i el prezint o interfa comod la crearea obiectelor discrete sau continue.

Figura A1.4. Panelul obiectelor discrete

89

O trstur caracteristic deosebita este animaia marcajelor continue i discrete. Aceasta determin urmrirea cu uurin a comportamentului dinamic al reelei. Operaiile elementare implicate n crearea unei RP sunt desenarea i tergerea elementelor de reea. Pentru operaia de desenare elemente, se selecteaz elementul din meniu i se plaseaz n locul dorit sau se apas butonul din dreapta al mouse-ului n locul dorit i se alege elementul din meniu. Pentru tergere se selecteaz elementele care se doresc terse i se apas butonul din dreapta al mouse-ului n locul dorit i se selecteaz "Delete" sau se apas butonul "Delete" de la tastatur. Pentru desenare de arce se selecteaz butonul "Arce" din meniul principal i se traseaz arcul ntre cele dou elemente de reea. Arcele care unesc dou locaii sau dou tranziii sunt ignorate. Pentru crearea obiectului, este necesar de a-l alege din panelul instrumentelor, apsnd pe el cu mouse-ul i apoi s apsm n cmpul de lucru unde se creeaz obiectul. Toate obiectele se mpart n 3 categorii, corespunztor notaiei n panel: obiectele reelei Petri discrete; obiectele reelei Petri continue i obiectele pentru design. Este prevzut posibilitatea de a schimba scara de vizualizare a reelei. Aceasta are o mare importan la proiectarea reelelor mari, care nu se ncadreaz n limitele ecranului.

Figura A1.5. Inspectorul obiectelor i Editorul de formule

Inspectorul obiectelor i Editorul de formule ( Fig. A1.5) reprezint o surs de redactare comod a proprietilor diferitor obiecte ale reelei. El reprezint toate proprietile specificate ale obiectelor i permite s le redactm. Graful de marcaje accesibile (GMA) reprezint baza pentru multe cercetri matematice i analiz a proprietilor reelei. GMA se construiete odat i mai departe este utilizat n program.

90

El se pstreaz n memorie i pe harddisc. La construirea grafului GMA se pot selecta cteva opiuni diferite. Un exemplu al formei de construire a GMA este prezentat n Fig. A1.6.

Figura A1.6. Forma de construire a GMA

Prima parte a formei propune utilizatorului de a alege condiiile de construire a GMA. n calitate de marcaj iniial, se ia marcajul curent, n care a fost reeaua pn la chemarea acestei forme. Opiunile de baz sunt urmtoarele: Construction graph algoritmul de construire a grafului. Exist dou variante de selectare. Metoda clasic, atunci cnd generarea marcajului nou are loc dup instalarea reelei n marcajul iniial i declanarea succesiv a fiecrii tranziii. Chiar lund n consideraie optimizarea metodei, se poate fr probleme construi GMA ce conine un numr de marcaje mare (ordinea 106). Pentru rezolvarea acestei probleme, a fost realizat metoda Kronecker (vezi capitolu2 ). Esena metodei const n aceea c reeaua se mparte n cteva subreele conectate prin tranziii. Fiecare subreea genereaz graful su de marcaje accesibile prin metoda clasic, dar pe urm se va efectua compunerea Kronecker a grafurilor GMA pariale obinute i in cele din urm se va obine graful GMA final. Markings' limit limita numrului de marcaje obinute prin metoda clasic. Este necesar pentru controlul creterii GMA i evitarea ocuprii memoriei operative. Reset initial marking on completion dup terminarea construirii GMA de a instala reeaua n marcajul iniial. Enable unbounded net control include algoritmul de detectare a ramurilor infinite ale grafului. Printre toate reelele Petri exist aa numitele reele Petri nemrginite, adic aa reele unde numrul de marcaje generat este nelimitat.

91

Enable Priority Mode include regimul folosirii prioritilor pentru construirea lui GMA. Remove unsteady markings regimul de nlturare a marcajelor instabile. Marcajul instabil este un marcaj n care este posibil numai declanarea tranziiilor imediate. Build Graph construirea grafului. Behavioral analysis analiza proprietilor reelei. Reachability Graph graful de marcaje accesibile, este reprezentat sub form de list. Totodat pentru fiecare marcaj n list este prezent lista tranziiilor declanate i numerele de ordine a marcajelor n care se instaleaz reeaua la declanarea tranziiei validate.

Net-model statistic diferii parametri statici, colectai n timpul construirii GMA.

n Fig. A1.7 sunt prezentate primitivele grafice de baz ale obiectelor reelelor Petri stocastice ibride.

Figura A1.7. Primitivele grafice de baz ale obiectelor unei reele Petri difereniale

n Fig. A1.8, sunt prezentate conexiunile posibile ale diferitor tipuri de arce cu diferite tipuri de tranziii i reguli de rescriere ale reelelor Petri difereniale descriptiv-restructurabile.

Figura A1.8. Conexiunile posibile ale diferitor tipuri avansarea tehnologiilor informaionale a Salvarea reelei Petri n formatul XML. Odat cude arce cu tranziiile i regulile

aprut necesitatea accesrii acestora ct mai uor i, mai ales, datele trebuie sa aib o flexibilitate i o portabilitatea ct mai mare. Documentele, de asemenea, trebuie sa fie independente de platform, sistem i de coninut. Pentru salvarea reelei Petri, n VHPN, au fost folosite ultimele realizri a tehnologiilor informaionale n domeniul de structurare a datelor. Pentru prezentarea

de rescriere ale reelelor Petri difereniale descriptiv-restructurabile

92

comod a obiectelor, proprietilor lor n fiier i susinerea domeniului formatului ntre versiunile programului, a fost utilizat formatul XML. Specificaia dat n comparaie cu celelalte standarde legate cu el (Unicode i ISO/IEC 10A44A4 pentru simboluri, Internet RFC 17A4A4 pentru tagul de identificare a limbajului, ISO A439 pentru codul cu numele limbajului ISO 31A4A4 pentru codul cu numele rii) ne d toat informaia necesar pentru nelegerea limbajului XML i crearea programelor de calculator pentru prelucrarea lui. Exemplu de salvare a locaiilor i tranziiilor n fiier:
<object class="TclsNodeDiscrete" name="P1" left="255" top="25" width="30" height="30" group="" name="P1" size="osNormal" tokens="5"> <cost formula="RefV" Value_Reference="0" Value_Actual="0" /> </object> <object class="TclsTransInstant" name="t1" left="4A45" top="77.5" width="30" height="5" group="" size="osNormal" angle="0"> <guard formula="RefV" Value_Reference="1" Value_Actual="1" /> <priority formula="RefV" Value_Reference="1" Value_Actual="1" /> <speed formula="RefV" Value_Reference="100" Value_Actual="100" /> </object>

Exemplu de salvare a arcului n fiier:


<object class="TclsLinkNormal" name="L3" left="225" top="124" width="0" height="20" group="" name="L3" src="T1" dst="P2"> <weight formula="RefV" Value_Reference="1" Value_Actual="1" /> <point x="225" y="104" big="1" /> <point x="225" y="124" big="0" /> <point x="225" y="144" big="1" /> </object>

A1.3 Algoritmi i forme de verificare, simulare animat i evaluare a indicatorilor de performan a modelelor de reele Petri
n continuare, din cauza complexitii algoritmilor elaborai i implementai n VHPN, vom prezenta numai unii din ei. n Fig. A1.9 este prezentat sructura componentei VHPN de verificare i calcul a indicatorilor de performan ai unui model de reea RMG. 93

Nucleul VHPN
Redactorul grafic al reelei Petri Modelul de reea Petri analizat

Setarea grafului de marcaje accesibile

Construirea grafului de marcaje accesibile GMA

Setarea GMA pentru analiz

Construirea lanului Markov timp continuu

Setri pentru analiz

Indicatorii cercetai

Primul parametru Al 2-lea parametru

Analiza reelei n regim staionar

Calculul indicatorilor de performan

Indicatorii Setri pentru analiz Primul parametru Al 2-lea parametru Analiza reelei n regim tranzitoriu

Calculul indicatorilor de performan

Prezentarea rezultatelor

Tabele

2D Grafice

3D Grafice

A1.3.1 Construirea grafului de marcaje i evaluare Figura A1.9. Sructura componentei VHPN de verificareaccesibilea indicatorilor de performan ai unui model de reea RMG

Modulul de construire a grafului de marcage accesibile (GMA) este un modul de baz care este folosit pentru verificarea proprietilor comportamentale, construirea automat a LMTC, determinarea matricei dinamice i evaluarea caracteristicilor numerice de performan ale unui model de reea RMG. O atenie deosebit a fost stabilit la elaborarea i implementarea unor 94

algoritmi eficieni din punct de vedere a folosirii minimale a resurselor de calcul i rapiditatea procesului de construire a GMA. n Fig. A1.10, algoritm. este prezentat schema bloc a acestui

Figura A1. 10. Schema bloc a algoritmului de construire a GMA

Cu modulul program unAnalyse_1.pas de construire a GMA este asociat subprogramul ce realizeaz forma de ajustare a parametrilor iniiali, rezultatelor intermediare i finale de analiz a proprietilor comportamentale i salvare a acestora. n linii generale, la derularea acestui algoritm procedura de iniializare determin lista tranziiilor T ( M ) validate de marcajul curent ( procedura GetTransList). Apoi, fiecare din aceste tranziii t T ( M ) este declanat pe rnd (procedura Trans.Do). Marcajul M obinut n rezultatul declanrii tranziiei t , M [t > M , este prelucrat de nucleul VHPN (GetMark) prin metoda cutrii Exists(), pentru a determina dac acest marcaj este unul nou sau unul vechi. Dac acesta ntr-adevr este un marcaj nou, el se va introduce n lista marcajelor accesibile (AddMark), iar fanionul Result se va instala n poziia true, ceea ce n afara ciclului indic la faptul c a fost obinut un marcaj nou i deci este necesar de a continua cutarea marcajelor noi. 95

n cazul, n care marcajul obinut este un marcaj vechi, se va indica tranziia t , ce duce n marcajul vechi deja obinut, iar marcajul generat vechi este anulat din list pentru a folosi mai eficient spaiul de memorie. Graful GMA al unei reele RMG poate avea marcaje discrete instabile (durata de aflare n aceste marcaje este nul) , n care sunt declanate tranziii imediate. Pentru reducerea spaiului de stri, constituit numai din marcaje stabile, este prevzut o procedur special pentru eliminarea marcajelor instabile. n Fig. A1.11, este prezentat un exemplu de reea cu tranziii imediate, graful GMA al creia cu 8 marcaje prezentat n form de list este urmtorul:
M0 = [4,0,0,0] [T1>M1; *M1 = [3,1,0,0] [T2>M2; *M2 = [3,0,1,0] [T3>M3; M3 = [3,0,0,1] [T1>M4;T4>M0; *M4 = [2,1,0,1] [T2>M5; M5 = [2,0,1,1] [T1>MA4;T4>M2; MA4 = [1,1,1,1] [T4>M7; *M7 = [2,1,1,0] [T3>M4.
M0 t1 M1 t2

P1

T1

P2

T2

P3

T3 P4

T4

Figura A1.11. Reea cu tranziii imediate i stri instabile


M0

Marcajele instabile sunt notate cu simbolul *. Eliminarea marcajele instabile este efectuat la etapa construirii GMA cnd este obinut un marcaj nou la declanarea unei tranziii imediate. Acest fapt este ilustrat n Fig. A1.12, unde marcajul instabil mpreun cu arcele incidente lui este eliminat. n locul acestora sunt create arce noi care sunt etichetate cu simbolul tranziiiei imediate care a declanat i a creat marcajul instabil.

t1, t2

M2
M1 M1

M2

Figura A1.12. ) Fragment GMA cu un marcaj instabil i b) eliminarea marcajului instabil

Deoarece cu ajutorul tranziiilor imediate deseori sunt create selectoare probabilistice, care influeneaz crearea matricei dinamice a LMTC subiacent reelei RMG, apare necesitatea de a determina conflictele sructurale i valorile probabilitilor acestor selectori ce au dus la eliminarea marcajelor instabile. Pentru determinarea grupelor de conflict ce descriu selectori de probabiliti respectivi, a fost elaborat i implementat o clas aparte TConflict. Cu scopul de a mri eficiena construirii i analizei GMA, prin diminuarea numrului combinatoric de cutri ale marcajului curent n lista accesibilitii, a fost elaborat un algoritm modificat i implementat ntr-o clas de obiecte THash n care informaia despre marcaje este stocat ntr-un format ordonat de tipul LongInt, realizat cu ajutorul funciei crc32, obinut de la 96

fiecare marcaj curent. Astfel, fiecrui marcaj i corespunde un numr individual identificator fanion crc32. Cutarea pe cmpul fanioanelor este efectuat prin metoda dihotomiei care d posibilitatea de a obine rezultatul scondat n A4-7 iteraii, chiar i pentru un numr foarte mare de marcaje accesibile. La adugarea unui marcaj n list, pentru acesta se genereaz un nou crc32-fanion n corespundere, noul marcaj este nserat la locul su n list, ne-afectnd ordinea elementelor n list, ceea ce permite de a evita sortri inutile pe parcursul construirii GMA. n rezultat, prin aceast tehnic am reuit s diminum considerabil durata de construire a GMA. n Fig. A1.13a i Fig. A1.13b, sunt prezentate graficul dependenei duratei (secunde) de construire a GMA n dependen de numrul de marcaje (scala logaritmic) efectuat respectiv prin metoda clasic i cea propus si realizat n VHPN. Din Fig. A1.13b, observm c, dup 10000 de marcaje, graficul are o form linear, ceea ce arat c durata construirii GMA practic este proporional cu fiecare aceast grup de marcaje accesibile.

a)

b)

Figura A1. 13. Durata de construire a GMA n dependen de numrul de marcaje

A1.3.2 Construirea matricei dinamice i calculul distribuiei probabilitilor de stare

n baza GMA construit i memorat n form de list, pentru valorile calculate ale ratelor de declanare a tranziiilor temporizate i a selectorilor probabiliti, a fost elaborat i implementat un algoritm, care permite formarea automat a matricei dinamice (FillDynamMatrix) ce determin lanul LMTC subiacent modelului de reea RMG analizat. n acelai context, pentru aceaste matrice dinamice, a fost elaborat i implementat un algoritm ce permite de a determina existena absena a unui regim staionar de funcionare al LMTC analizat i apoi scrierea automat a ecuaiilor Chapman-Kolmogorov i soluionarea lor printr-o metod numeric cunoscut, cu o precizie definit n prealabil. Sunt prevzute i realizate dou posibiliti de analiz: 1) n regim staionar i 2) n regim tranzitoriu.

97

n Fig. A1.14, este prezentat schema bloc ce realizeaz formarea matricei dinamice, scrierea automat i soluionarea ecuaiilor Chapman-Kolmogorov ale LMTC analizat pentru cele dou regimuri de funcionare specificate. Pentru a efectua n baza distribuiilor probabilitilor de stare evalurea caracteristicilor de performan ale modelelor de reele RMG, definite n capitolul 2, au fost elaborai i implementai algoritmi respectivi. Acetea permit setarea caracteristicilor de performan specificate, setarea valorilor ale parametrilor (ratele de declanare ale tranziiilor temporizate sau marcajele iniiale ale diferitor locaii) i metoda de analiz pentru obinerea rezultatelor numerice i construirea graficelor 2D i 3D ale acestor caracteristici. n Fig. A1. 15, este prezentat schema bloc ce realizeaz algoritmul pentru calculul caracteristicilor numerice de performan ale RMG.
A1.3.3 Simularea animat i calculul caracteristicilor numerice de performan

Simularea animat prezint procesul funcionrii modelului de reea RDM n timp real i, de asemenea, dup dorin, n regim de accelerare sau ncetinire a timpului de simulare. Simularea animat ncepe cu marcajul iniial (care se restabilete dup terminarea procesului de simulare), folosind tehnici cunoscute, adaptate la reele Petri, de generare pseudoaleatorie a numerelor pentru a reda duratele de declanare exponenial distribuite ale tranziiilor discrete temporizate [??]. Cu ajutorul procesului de simulare se poate vizualiza clar procesul de tranziie a reelei dintr-o stare n alta i animarea schimbrii numrului i fluxului de jetoane n locaiile discrete i nivelul de fluid n locaiile continue. De asemenea, se poate controla funcionarea corect a reelei i se poate acumula diferit informaie n timp real. Pasul timpului de simulare se alege automat n modul urmtor: Pasul minim := MAXINT; Pentru toate tranziiile: dac tranziia este temporizat, atunci temp:=1/Rate; dac tranziia este continu, atunci temp:= Pasul minim; dac temp<Pasul minim atunci Pasul minim:= temp; stop.

98

START

v1Start, v1End, v1Steps v2Start, v2End, v2Steps

v1Start = ( v1End - v1Start)/v1Steps v2Start = ( v2End v2Start)/v2Steps v2Temp = v2Start

I:=0;v2Steps-1;1

SetVarValue(v1, v1Init) SetVarValue(v2, v2Init)

SetVarValue(v2, v2Temp) STOP v1Time:=v1Start

J:=0; v1Steps-1; 1
SetVarValue(v1, v1Temp)

v2Values[J] := v2Temp v2Temp := v2Temp+v2Step

FillDynamMatrix

Alegerea metodei numerice de rezolvare a ecuaiilor Chapman-Kolmogorov

Gauss SolveGauss()

SolveAlgorithm

Seidel SolveSeidel() Dac sistemul nu are soluii, analiza se ntrerupe

Succes

nu

da CalcData(I,J) ERROR Ecuaia nu are soluii

v1Values[J] := v1Temp v1Temp := v1Temp+v1Step

STOP

Figura A1. 14. Schema-bloc a algoritmului de formare a matricei dinamice n baza lui GMA i soluionarea ecuaiilor Chapman-Kolmogorov ale LMTC

99

START

startTime,endTime stepsTime startVar,endVar,stepsVar

timeStep:=(endTimestartTime)/stepsTime varStep:=(endVar-startVar)/stepsVar tinetemp:=startTime varTemp;=startVar

STOP

I:=0;varStep-1;1
SetVarValue(varTemp)

Setarea parametrilor reelei. Dac este necesar se seteaz din nou GMA Completarea matricelor Dinamice i Stohastice Completarea matricei vectorilor p(k)

FillStohMatrix()

FillPMatrix()

J:=0;timeStep-1; 1
SolveUniformization()

Determinarea distribuiei probabilitilor de stare Calcularea i memorarea caracteristicilor numerice de performan

Calcdata(I,J)

TimeValues[J]:=timeTemp varTime:=timeTemp+timeStep

TimeValues[I]:=timeTemp

varTime:=timeTemp+timeStep

Figura A1.15. Schema-bloc a algoritmului pentru calculul caracteristicilor numerice de performan ale modelului RMG

n Fig. A1. 16 este prezentat structura subsistemului de simulare animat a modelelor de reele RDM i obinerea istoriei simulrii i rezultatelor numerice n form de grafice 2D i 3D. Survin, ns, cazuri cnd sunt validate numai tranziii imediate, atunci timpul st pe loc. Dac n reea va exista ntotdeauna mcar o tranziie validat, atunci timpul va sta pe loc.

100

Analiza reelei

Nucleul VHPN Redactor grafic Reea Petri

Simulare Setari simulare Procesul de simulare

Redarea grafic a a procesului

Rezultatul simulrii

Istoria simulrii

Graficele n dependen de timp

Grafice 2D

Grafice 3D

Figura A1. 16. Structura subsistemului de simulare animat a modelelor de reele RDM

Schema bloc a algoritmului de simulare animat a modelelor de reele RDM, elaborat i implementat, este prezentat n fig. A1.17. Simularea prezint procesul lucrului reelei n regimul timpului real i de asemenea, dup dorin, n regim de accelerare sau ncetinire a timpului. Simularea ncepe cu marcajul iniial (care se restabilete dup terminarea procesului de simulare). Cu ajutorul procesului de simulare se poate de vizualizat clar procesul de tranziie a reelei dintr-o stare n alta. De asemenea, se poate controla funcionarea corect a reelei i se poate acumula diferit informaie n timp real.

101

Iniializarea parametrilor reelei; resetarea timpului de declanare a tranziiilor temporizate; gsirea arcelor ce intr i iese din/n tranziie; resetarea graficilor

Formarea listei tranziiilor validate de marcajul curent la care timpul de prelucrare de ct timpul de modelare Pentru tranziii se afl n conflict, selectm n mod aleator una din ele pentru a fi declanat Declanarea tranziiei T[i] retragerea jetoanelor din T [i ] Animarea micrii jetoanelor de la locaie la tranziie i=i+1

da

Tranziie T[i] validat ?

nu Animarea micrii jetoanelor de la tranziiile declanate la locaii

Fixarea jetoanelor n locaii Renoirea graficilor Fixarea timpului de declanare la tranziiile validate Calcularea pasului de schimbare a timpului de simulare Incrementul timpului de simulare

nu

Oprire ?

da
STOP
Figura A1.17. Schema bloc a algoritmului de simulare animat a modelelor de reele RDM

Simularea se lanseaz din form separat controlorul simulrii, reprezentat n Fig. A4.21. 102

Controlorul simulrii modelelor de reele RDM este prezentat in fig. A1.18

Figura A1.18. Controlorul simulrii modelelor de reele RDM

Descrierea metodei: START lansarea reelei pentru simulare; RESTART lansarea reelei pentru simulare cu restabilirea marcajului iniial; STOP oprirea simulrii, poate continua apsnd butonului START; Time Step timpul de referin; Cursor indic viteza simulrii; Close nchide fereastra. n Fig. A1.19 este prezentat forma complet de simulare n care sunt redate panelul de control al parametrilor i panelul de creare a graficelor, n care se oglindete parametrul ales.

Figura A1.19. Forma complet de simulare

Pentru alegerea parametrului, mai nti este necesar de a alege obiectul, apoi parametrii lui, i s apsm butonul Add graph. Pentru prezentarea graficului, apsam butonul "Show >>>". Dac nu avem nevoie de grafic la momentul dat, atunci el poate fi ascuns, apsnd "Hide <<<". Dac este nevoie de a plasa graficul n referat, sau ntr-un program, aceasta se face cu ajutorul butonului "Save to file" - salvarea graficului n fiier de format *.bmp sau copy to clipboard. Simulatorul susine toate tipurile de obiecte realizate n program, reelele clasice, stocastice i hibride. Reelele Petri stohastice sunt astfel de reele, unde, cu fiecare tranziie, este legat durata reinerii. Reinerea determin timpul dintre evenimentul de validare a tranziiei i evenimentul de declanare a tranziiei. Pentru a avea posibilitatea de a vizualiza rezultatele obinute la simularea animat a modelelor de RDM n dependen de parametrii specificai, sunt prevzute forme de construire a 103

2D i 3D grafice. Pentru aceasta, nainte de a ncepe procesul de simulare, cu ajutorul butoanelor Add Graph i Formula e necesar de a selecta proprietile obiectelor i formulele funciilor studiate. Dup terminarea simulrii se alege forma 2D sau 3D. Un exemplu de folosire a acestor forme este prezentat n Fig. A4. 20 i Fig. A4. 21, respectiv.

Figura A1.20. 2D forme pentru construirea graficelor rezultatelor de simulare

Figura A1.21. 3D forme pentru construirea graficelor rezultatelor de simulare

O instruciune mai detaliat de folosire a tuturor formelor de simulare sunt prezentate n meniul Help. Pentru a defini funcii ale parametrilor automodifiabili ai modelului, este realizat un editor de formule care permite uor, corect i rapid s compunem formulele n formatul neles de VHPN. Editorul ajut la scrierea formulelor, controleaz sintaxa i determin rezultatul.

104

n Fig. A1.22, este reprezentat forma acestui editor de formule. El este mprit n cteva panele. Cmpul de introducere a formulelor. Acesta conine textul formulei n cmpul Formula. Apsnd butonul =, calculeaz valoarea formulei. n caz c este introdus o eroare n formul, se afieaz avertismentele corespunztoare. Bifa la Result is Boolean arat c rezultatele formulelor sunt de tip boolean. Funciile de acest tip pot avea numai dou valori: true sau false. La necesitatea convertirii din valoarea numeric n valoarea logic, se utilizeaz urmtoarea regul. Orice valoare nenul se consider true (adevrat), iar valoarea egal cu zero false (fals).

Figura A1.22. Editorul de formule

Funcii i variabile. Panelul dat se utilizeaz pentru a introduce funcii i variabile n textul formulei. n calitate de variabile pot folosi proprietile obiectelor. Pentru locaii Tokens (numrul de jetoane) i Cost (costul de aflare n locaie a jetonului). Pentru tranziiile temporizate Rate (rata de declanare), iar pentru cele imediate weithspeed. Formatul de scriere a numelor variabilelor este urmtorul: NumeleObiectului_TipulVariabilei. Exemplu: p1_Tokens numrul de jetoane n locaia p1. t2_Rate rata declanrii tranziiei t2. Variabilele pot fi introduse i manual. ns, pentru a evita greelile, mai bine s facem aceasta cu ajutorul acestei forme. Mai nti trebuie s alegem din lista Object numele obiectului. n rezultat, n cmpul Available variables va aprea lista variabilelor accesibile pentru obiectul ales. Pentru a introduce numele variabilei n cmpul formulei, trebuie s facem dublu click pe proprietatea aleas n cmpul proprietilor accesibile. Funciile. n VHPN sunt realizate toate funciile necesare pentru crearea formulelor. Ele toate sunt prezentate n lista funciilor accesibile. Menionm, c argumentele funciei trebuie luate n paranteze. n caz dac funcia are mai multe argumente, ele trebuie separate prin virgul. Cifre i operatori. n aceste dou panele, se afl toate simbolurile accesibile pentru scrierea formulei. Apsnd un oarecare buton, adaug simbolul corespunztor n cmpul formulei. n 105

panelul stng, sunt amplasate butoanele cu cifre de la 0 la 9 i dou butoane speciale: nchiderea formei date cu salvarea schimbrilor introduse; Cancel nchiderea formei date fr salvarea schimbrilor introduse; + (Plus operator de adunare); - (Minus operator de scdere); * (nmulire operator de nmulire); / (mprire operator de mprire);! (Nu operator de negaie); < (Mai mic operator de comparare); > (Mai mare operator de comparare); = (Egal operator de comparare); & (i operator logic); | (Sau operator logic); Ref_Value acest buton introduce n cmpul formulelor identificatorul RefV, semnificnd valoarea de baz a VHPNFormula. Pentru a face cunotin cu o descriere mai detaliat a posibilitilor de folosire a acestor produse simulare animat proceselor discret-continue reconfigurabile, se poate consulta lucrrile [84, 93, 101, 115, 120]. Aceste produse sunt liber disponibile. Menionm, c utilizarea VPNP i VHPN n scopul instruirii studenilor s-a dovedit foarte util att la Facultatea de Calculatoare, Informatic i Microelectronic a Universitii Tehnice a Moldovei, ct i la Universitatea de Stat din Moldova. Rularea sub sistemele de operare Windows NT sau Windows XP asigur, totodat, valoarea lor ca instrument didactic pentru aplicaii asistate de calculator n utilizarea reelelor Petri.

106

Verificarea i evaluarea performanelor sistemelor concurente

Autor: Emilian Guuleac

Bun de tipar 10. 05.2011 Hrtie ofset. Tipar ofset. Coli de tipar 6,50

Formatul hrtiei 60x84 1/16 Tirajul 75 ex. Comanda nr. 53

U.T.M. 2011, Chiinu, bd. tefan cel Mare, 168. Secia Redactare i Editare a U.T.M. 2068, Chiinu, str. Studenilor, 11.

107