Teză De Doctorat

Transcrição

Teză De Doctorat
Universitatea Politehnică Bucureşti
Facultatea de Automatică şi Calculatoare
Teză De Doctorat
Advanced techniques for modelling and
simulation of Grid systems
Tehnici avansate de simulare pentru sisteme
Grid
Rezumat
CONDUCĂTOR ŞTIINŢIFIC
Prof. Dr. Ing. Valentin CRISTEA
AUTOR
Ing. Ciprian Mihai DOBRE
- Ianuarie 2008 -
CUPRINS
1.
INTRODUCERE ...........................................................................................................................................3
2.
NECESITĂŢI SPECIFICE SISTEMELOR DISTRIBUITE ....................................................................5
2.1.
Simularea sistemelor distribuite..............................................................................................................5
2.1.1.
Problematica sistemelor distribuite ................................................................................................5
2.1.2.
Caracteristicile sistemelor Grid ......................................................................................................8
2.2.
Necesităţi specifice experimentelor LHC şi a altor aplicaţii ştiinţifice.................................................10
2.2.1.
Experimentele LHC......................................................................................................................10
2.2.2.
Necesitatea optimizării transferurilor de date...............................................................................12
2.3.
Simularea modelelor de calcul complexe..............................................................................................13
3.
INSTRUMENTE DE SIMULARE PENTRU SISTEME GRID .............................................................14
3.1.
3.2.
3.3.
4.
Sinteza lucrărilor anterioare ..................................................................................................................14
Taxonomia modelării sistemelor Grid ..................................................................................................15
O analiză critică a instrumentelor de simulare pentru sisteme Grid......................................................17
SIMULATOR PENTRU SISTEME DISTRIBUITE ...............................................................................18
4.1.
Componentele şi arhitectura simulatorului ...........................................................................................19
4.2.
Motorul de simulare ..............................................................................................................................21
4.3.
Componente de simulare.......................................................................................................................23
4.3.1.
Modelul sarcinilor de lucru ..........................................................................................................23
4.3.2.
Modelul de date ............................................................................................................................25
4.3.3.
Modelul de reţea...........................................................................................................................27
4.4.
Teste de evaluare...................................................................................................................................29
4.4.1.
Validarea folosind teoria cozilor ..................................................................................................29
4.4.2.
Validarea folosind sisteme de test ................................................................................................30
4.4.3.
Performanţa motorului de simulare ..............................................................................................30
4.5.
Experimente de simulare.......................................................................................................................32
4.5.1.
Experimente de modelare a planificării........................................................................................32
4.5.2.
Experimente de modelare a replicării de date ..............................................................................33
4.5.3.
Experimente de modelare a transferurilor de date........................................................................35
5.
EXPERIMENTE DE SIMULARE CE FOLOSESC MONITORIZAREA ...........................................36
5.1.
5.2.
5.3.
MonALISA ...........................................................................................................................................36
LISA......................................................................................................................................................37
US LHCNet – un experiment de simulare ce foloseşte monitorizarea..................................................39
6. STUDIU DE SIMULARE PENTRU ACTIVITĂŢILE DE REPLICARE & PRODUCŢIE A
DATELOR CONFORM EXPERIMENTELOR LHC LA CERN...................................................................40
7.
CONCLUZII ................................................................................................................................................43
7.1.
7.2.
Contribuţii originale ..............................................................................................................................44
Dezvoltări ulterioare .............................................................................................................................45
BIBLIOGRAFIE SELECTIVĂ ..........................................................................................................................45
2
1. INTRODUCERE
Sistemele distribuite de mari dimensiuni ce presupun agregarea şi partajarea resurselor folosind reţele globale
prezintă noi provocări pentru oamenii de ştiinţă. Această lucrare prezintă soluţii la problema studierii ştiinţifice
şi sistematice a tehnologiilor distribuite prin folosirea modelării ca instrument pentru testarea de nivel înalt a
aplicaţiilor, resurselor şi reţelelor specifice acestor sisteme. Contribuţiile majore ale acestei lucrări vizează
controlul inteligent al sistemelor distribuite, simularea fiind folosită în procesul decizional ca o modalitate de
predicţie a performanţelor unor astfel de sisteme aflate sub controlul unor diverse legi ipotetice. Contribuţiile
originale prezentate in cadrul lucrării au culminat cu crearea unui instrument de evaluare prin simulare a
sistemelor distribuite de mari dimensiuni. Valoarea ştiinţifică a cercetării este dată atât de metodele şi tehnicile
revoluţionare folosite în procesul de creare a acestui instrument, cât şi de rezultatele experimentelor de simulare
obţinute prin folosirea acestuia, rezultate de o reală valoare ce au dus la verificarea şi ulterior la înglobarea în
realitate a unor tehnologii de sisteme distribuite. Teza descrie de asemenea combinarea originală a acţiunilor a
două domenii ştiinţifice, simularea şi monitorizarea sistemelor distribuite. Monitorizarea a fost folosită cu succes
la crearea unor scenarii de simulare realistice iar rezultatele experimentelor de simulare au condus, de exemplu,
la observarea necesităţii unui sistem de agenţi pentru optimizarea transferurilor de mari dimensiuni, lucru ce
ulterior, pe baza recomandărilor noastre, a şi fost pus în practică.
Modelul de simulare original dezvoltat în contextul cercetării prezentate în această lucrare este deosebit de
generic, incorporând toate componentele şi mecanismele necesare creării şi execuţiei cu succes a unei game largi
de experimente realistice de simulare a unor diverse arhitecturi de sisteme distribuite de mari dimensini,
cuprinzând multe resurse şi diverse tehnologii ce pot varia de la transferuri de date la planificare şi replicări de
date, în care resursele conlucrează împreună pentru furnizarea unui set comun de caracteristici.
Instrumentul de simulare prezentat în cadrul lucrării, MONARC 2, înglobează o gamă largă de algoritmi şi
tehnologii de ultimă oră, permiţând simularea realistică a unei game largi de tehnologii şi sisteme distribuite, în
conformitate cu componentele şi caracteristicile specifice acestora. Dezvoltarea instrumentului de simulare a fost
realizată în contextul unei colaborări fructuoase între Universitatea Politehnică din Bucureşti, Centrul European
pentru Cercetări Nucleare din Elveţia şi California Institute of Technology din SUA. Designul original al
instrumentului de simulare permite modelarea unei game largi de arhitecturi distribuite, pornind de la testarea
unor protocoale de reţea până la validarea functionalităţii unor sisteme de tip Grid.
Maturitatea simulatorului este demonstrată de numărul mare de scenarii executate cu succes. O serie de
experimente ce au vizat testarea unor tehnologii pentru replicarea de date au fost prezentate in [Legrand, et al,
2003]. Rezultatele unor experimente de planificare au fost prezentate în diverse lucrări precum [Legrand, et al,
2003], [Pop, et al, 2006] sau [Dobre şi Stratan, 2004]. Unul dintre cele mai impresionante experimente a fost
prezentat in [Legrand, et al, 2005]. Experimentul a urmărit testarea cu succes a posibilităţii simulării unui sistem
de mari dimensiuni, conform cu arhitectura de tip tiers propusă spre utilizarea în cadrul experimentelor LHC,
precum şi a posibilităţii sistemului de a susţine multitudinea de activităţii ce vor începe anul viitor in cadrul
experimentelor de fizică. Rezultatele obţinute in cadrul acestui experiment de simulare au condus la observaţii
interesante şi părtinitoare ce au influenţat pozitiv luarea unor decizii privind atât necesitatea îmbunătăţirii
capacităţilor reţelelor folosite, cât şi privind introducerea unui sistem inteligent pentru transferul datelor între
centrele de procesare dispersate în toată lumea.
Prin comparaţie cu alte instrumente de simulare ce se adresează sistemelor distribuite, soluţia prezentată în
cadrul acestei lucrări oferă o serie de avantaje. Una dintre problemele cu care se confruntă astfel de aplicaţii ţine
de scepticismul utilizatorilor în legătură cu validitatea rezultatelor obţinute. MONARC 2 a fost cu succes testat
în diverse experimente ce au urmărit atât verificarea validităţii modelului folosit şi a soluţiilor de implementare,
cât şi a verificării performanţelor superioare oferite de instrumentul de simulare. De asemenea majoritatea
instrumentelor de simulare existente sunt focusate pe anumite aspecte ale sistemelor distribuite de mari
dimensiuni (precum replicarea datelor sau planificarea execuţiei proceselor) şi nu permit modelarea decât a unui
set restrâns de posibile scenarii. MONARC 2 este un instrument generic ce poate fi folosit cu succes pentru
simularea unei game largi de posibile scenarii, de la modelarea de protocoale de reţea până la sisteme distribuite
de mari dimensiuni cuprinzând o varietate mare de resurse sau aplicaţii din cele mai diverse domenii. În cadrul
3
acestei teze prezentăm o analizp originală a instrumentelor de simulare existente, demonstrând superioritatea
designului original de simulare oferit de MONARC 2.
Lucrarea este structurată dupa cum urmează. Capitolul 1 prezintă o introducere în tematica lucrării. Capitolul 2
prezintă caracteristicile modelului de simulare propus. În scopul oferirii unui suport generic pentru simularea
sistemelor distribuite, modelul de simulare înglobează multe dintre caracteristicile sistemelor distribuite.
Capitolul prezintă caracteristicile unor astfel de sisteme şi influenţele acestora asupra modelului de simulare. În
cadrul acestui capitol demonstrăm că modelul de simulare include componentele necesare pentru descrierea
corectă a unei game variate de tehnologii pentru sisteme distribuite şi furnizează mecanismele adecvate pentru
descrirea traficului concurent, pentru evaluarea diverselor strategii pentru replicarea datelor şi pentru analizarea
procedurilor de planificare a sarcinilor de lucru. Ca studiu de caz demonstrăm de asemenea că modelul de
simulare propus conţine toate componentele şi caracteristicile ce permit modelarea corectă a unei game variate
de experimente specifice analizelor de fizicp LHC. În cadrul capitolului prezentăm de asemenea problemele şi
soluţiile adoptate în definirea modelului de simulare pentru a permite simularea unor scenarii realiste,
cuprinzând multe din necesităţile de funcţionare ale sistemelor distribuite de mari dimensiuni, precum cele de tip
Grid.
Capitolul 3 prezintă un studiu comparativ al celor mai importante instrumente de simulare pentru sisteme
distribuite. În cadrul capitolului prezentăm o taxonomie originală ce este focusată îndeosebi pe simulatoarele
specifice pentru sistemele distribuite de mari dimensiuni. Plecând de la categoriile taxonomiei propuse
prezentăm de asemenea un studiu comparativ a şapte dintre cele mai reprezentative instrumente de simulare în
domeniu. Analiza reliefează caracteristicile specifice acestor instrumente, de la tipurile modelelor de simulare
sau structurile interne folosite până la particularităţi de implementare ale acestora.
Capitolul 4 prezintă detaliile de implementare ale simulatorului MONARC 2. Capitolul evidenţiază în principal
aspecte legate de arhitectura acestuia, motorul de simulare folosit, componentele de simulare încorporate şi
caracteristicile acestora ce permit modelarea de diverse tehnologii pentru sisteme distribuite. Capitolul prezintă
de asemenea o serie de experimente de simulare ce au ca scop validarea, testarea performanţelor şi evidenţierea
capabilităţilor de modelare a diverselor tehnologii pentru sisteme distribuite folosind instrumentului prezentat.
Capitolul 5 prezintă rolul vital jucat de instrumentele de monitorizarea în validarea şi designul simulatorului
MONARC 2. MonALISA, o aplicaţie de monitorizare dezvoltate în cadrul unei colaborări cuprinzând şi
Universitatea Politehnica din Bucureşti, a fost în mod excepţional folosită cu succes la validarea instrumentului
de simulare şi la crearea condiţiilor realistice de rulare ale experimentelor prezentate în cadrul acestei lucrări. De
asemenea rezultate obţinute prin execuţia diverselor experimente de simulare au furnizat informaţii de un real
folos în implementarea diverselor funcţii de control ale instrumentului de monitorizare.
În cadrul capitolului 6 prezentăm rezultatele obţinute în cadrul unui experiment de simulare ce are ca scop
descrierea exactă a condiţiilor de rulare ale experimentelor de fizică aşa cum sunt prevăzute de către modelele
computaţionale LHC. Experimentul de simulare prezentat urmăreşte evaluarea posibilităţilor prin care
experimentele conlucrează la rezolvarea diverselor probleme de natură tehnică precum analizarea necesităţilor de
stocare, de accesul şi de calcul. Rezultatele obţinute în aceste experimente s-au dovedit de un real folos
comunităţii LHC, în special experimentului CMS, deoarece au demonstrat necesitatea îmbunătăţirii
infrastructurii de reţea trans-Atlantică, precum şi rolul important al folosirii unei platforme de agenţi capabile de
a lua decizii inteligente pentru transferul de cantităţii impresionante de date generate de către experimentele de
fizică.
Capitolul 7 prezintă concluziile lucrării, sintetizează contribuţiile originale ale lucrării şi indică direcţiile de
dezvoltare ulterioară a cercetărilor începute în prezenta lucrare.
Se cuvine să amintesc că forma actuală a lucrării se datorează în mare parte conducătorului ştiinţific al
doctoratului, Domnul Profesor Doctor Inginer Valentin Cristea, căruia doresc să-i mulţumesc în mod
deosebit pentru sprijinul acordat în elaborarea tezei. Acest sprijin s-a manifestat îndeosebi prin orientarea
autorului către un domeniu atât de generos şi de dinamic al cercetării ştiinţifice. În acelaşi timp, discuţiile
profesionale avute cu domnia sa, precum şi indicarea unei bibliografii cuprinzătoare şi bine direcţionate, au
condus la lărgirea perspectivei autorului asupra problematicii modelării sistemelor distribuite şi în consecinţă au
4
contribuit în bună măsură la obţinerea rezultatelor prezentate. Aştept cu nerăbdare să colaborez cu domnia sa în
viitor.
Doresc de asemenea să exprim mulţumirile mele deosebite Domnului Iosif C. Legrand, conducătorul echipei şi
prieten sincer din partea California Institute of Technology, pentru sfaturile întelepte acordate de domnia sa şi
pentru atmosfera deosebită în care s-a desfăşurat colaborarea noastră de cercetare. Mulţumiri deosebite doresc să
îi adresez Domnului Profesor Inginer Nicolae Ţăpuş care a avut răbdarea să mă asculte şi mi-a oferit
numeroase sugestii interesante. Nu în ultimul rămd se cuvine să amintesc meritele deosebite avute de colectivul
extraordinar de cercetare din cadrul laboratorului RoGRID, alături de care am împărţit multe momente frumoase
în aceşti ani.
Mulţumiri speciale se cuvine să adresez soţiei mele Iulia pentru suportul necondiţionat pe care mi l-a acordat în
toată această perioadă. Iubirea, înţelegerea şi răbdarea primite din partea ei m-au ajutat să suport cu stoicism
perioada de studii doctorale.
2. NECESITĂŢI SPECIFICE SISTEMELOR DISTRIBUITE
Tehnicile avansate de modelare şi simulare a sistemelor distribuite de mari dimensiuni propuse în cadrul acestei
lucrări permit simularea realistă a unei game largi de tehnologii specifice unor astfel de sisteme, în concordanţă
cu componentele şi caracteristicile specifice acestora. Modelul de simulare propus include componentele
necesare pentru a descrie o mare varietate de tehnologii şi furnizează mecanismele adecate pentru modelarea
tehnologiilor de transfer, pentru evaluarea de diverse modele de replicare de date şi pentru analizarea
procedurilor de planificare a sarcinilor de lucru. Obiectivele principale al acestui capitol sunt prezentarea
componentelor şi caracteristicilor modelului şi demonstrarea capabilităţii modelului de a simula corect şi
complet o gamă largă de sisteme distribuite complexe, cuprinzând multe resurse şi diverse tehnologii ce
conlucrează la atingerea unui set comun de caracteristici. De asemenea prezentăm în cadrul acestui capitol o
analiză originală a experimentelor de fizică desfăşurate la CERN şi demonstrăm că modelul de simulare propus
poate fi folosit cu succes în testarea cerinţelelor complexe ale modelelor de calcul propuse de către aceste
experimente. În finalul capitolului prezentăm soluţiile de simplificare şi optimizare adoptate de către modelul de
simulare propus ce permit modelarea realistă a sistemelor distribuite de mari dimensiuni.
2.1.
Simularea sistemelor distribuite
2.1.1. Problematica sistemelor distribuite
O caracteristică importantă a modelului de simulare propus o reprezintă generalitatea acestuia, designul
modelului permiţînd modelarea unei game variate de tehnologii de sisteme distribuite. Proiectarea modelului de
simulare s-a bazat pe studierea în prealabil a diverselor arhitecturi de sisteme distribuite existente, pe analiza
caracteristicilor sistemelor distribuite din perspectiva simulării şi modelării acestora.
Arhitectura originală de sistem distribuit constă într-o colecţie de programe şi procese ce comunică prin
intermediul unei reţele şi care cooperează în rezolvarea anumitor probleme. Sistemele distribuite permit
cooperarea şi coordonarea acţiunilor utilizatorilor în mod practic şi eficient. Caracteristicile cheie ale unor astfel
de sisteme sunt: partajarea resurselor, deschiderea, suportul pentru concurenţă, scalabilitatea, toleranţa la
defecte şi transparenţa ([Coulouris, et al, 1994]). Aceste caracteristici sunt bine mapate pe modelul de simulare
după cum se poate observa şi din Tabelul 2.1.
Grid computing este considerat a fi etapa avansată a calcului distribuit, un domeniu în plin avânt în care
standardele şi tehnologiile sunt încă în stadiul de dezvoltare a viziunii cercetătorilor. Calculul pe Grid a fost
impus de problemele pentru a caror rezolvare era nevoie de o putere de calcul imposibil sau greu de oferit de un
singur sistem. S-a plecat de la ideea găsirii posibilităţilor prin care mai multe calculatoare să lucreze simultan,
conform principiilor calcului paralel pe structuri distribuite. Introdus în anul 1997 ca o metaforă pentru a descrie
5
accesibilitatea la puterea de calcul precum într-o reţea electrică (grid, în engleza), termenul de Grid a devenit
public pe scara largă în anul 1998 odată cu lansarea cărţii "The Grid - Blueprint for a new computing
infrastructure", editată de Ian Foster si Carl Kesselman. Tehnologia Grid oferă servicii prin seturi de programe
utilitare prin care se coordonează resurse distribuite de putere de calcul şi de stocare, prin utilizarea de interfeţe
şi protocoale standardizate.
Caracteristica
Influenţa acesteia asupra modelului de simulare
Partajarea
resurselor
Includerea în model a componentelor de reţea şi a entităţilor ce permit schimbul de date.
Deschidere
Adoptarea infrastructurii de modelare orientată pe obiecte şi folosirea de interfeţe standard ce permit
accesul la componente chiar în timpul execuţiei unui experiment de simulare.
Suportul pentru
concurenţă
Înglobarea mecanismului de întreruperi ce permite modelarea concurenţei proceselor şi a
transferurilor de date pe reţea.
Scalabilitatea
Adoptarea unui model de simulare orientat pe obiecte şi folosirea de structuri interne de ultimă
generaţie ce permit obţinerea de performanţe ridicate.
Toleranţa la
defecte
Planificatorul de sarcini de lucru inclus în model consideră această proprietate pentru asigurarea
succesului execuţiei acestora.
Transparenţa
Adoptarea de algoritmi de rutare avansaţi, de diverşi algoritmi de replicare de date şi de planificare
ce iau în considerare problema asigurării transparenţei la defecte.
Tabelul 2.1. Caracteristicile sistemelor distribuite şi relaţia acestora cu modelul de simulare.
Modelul de simulare încorporează elementele diverselor arhitecturi Grid, păstrând caracteristicile acestora. Acest
aspect, corelat cu flexibilitatea de a încorpora noi componente în modelul de simulare, face ca instrumentul de
simulare să fie capabil de a modela o mare varietate de tehnologii caracteristice sisteme Grid.
Figura 2.1. Arhitectura Grid şi influenţele acesteia asupra modelului de simulare.
Din punct de vedere istoric cea mai importantă arhitectură de sistem Grid este cea descrisa de Ian Foster, Carl
Kesselman şi Steven Tuecke în [Foster, et al, 2001], cunoscută sub denumirea de arhitectura orientată pe
protocoale. Conform acestei accepţiuni sistemele Grid se concentrează pe partajarea resurselor pe scară largă,
intre diverse organizaţii, în scopul livrării unor performanţe ridicate. Această partajare pe scară largă a resurselor
6
poate facilita crearea de organizaţii virtuale, ceea ce conform autorilor este adevărata problemă pe care calculul
pe Grid incearcă să o rezolve. O organizaţie virtuala defineşte resursele disponibile participanţilor şi regulile de
acces şi de folosire ale acestora. Pentru interoperabilitatea între potenţialii participanţi la o organizaţie virtuală
autorii au propus folosirea unor “protocoale ce definesc mecanismele de bază prin care utilizatorii organizaţiilor
virtuale şi resursele disponibile negociază, stabilesc, gestionează şi exploatează relaţiile de partajare“.
Arhitectura orientată pe protocoale se bazează pe nivele, după cum se prezintă şi în Figura 2.1.
În figura prezentată se observă relaţia între nivelele de protocoale şi componentele specifice acestora ce sunt
incluse în modelul de simulare. Arhitectura orientată pe protocoale este structurată pe câteva nivele şi conectează
diverse aplicaţii Grid cu resursele necesare execuţiei acestora. Pe poziţia cea mai de jos a acestei ierarhii întâlnim
nivelul Fabric, constând în resurse (ferme de procesare, calculatoare de birou, medii de stocare, resurse de reţea,
senzori, samd) ce sunt puse la dispoziţia sistemului Grid. Subnivelul superior al acestui nivel este compus din
totalitatea instrumentelor de gestiune a resurselor locale, diferite de aplicaţiile middleware de la nivelul imediat
superior (sisteme de operare, sisteme locale de planificare precum PBS şi biblioteci software). Modelul de
simulare înglobează componente specifice acestui nivel. Echivalentul în simulare al resursei computaţionale îl
reprezintă unitatea de procesare, caracterizată prin putere de procesare şi memorie disponibilă. În plus, pentru
simularea comportamentului unui sistem de operare, modelul de simulare consideră pentru această resursă şi
posibilitatea existenţei unui algoritm de paginare. Elementele de stocare a datelor sunt modelate prin servere de
baze de date ce pot folosi medii precum discuri sau benzi magnetice. Modelul de simulare presupune organizarea
datelor în baze de date ce înglobează conteinere. Conteinerele pot modela comportamentul unei game largi de
tehnologii de organizare a datelor. De exemplu conteinerele pot fi vizualizate ca fişiere iar baza de date poate
modela comportamentul structurii de directoare a sistemului simulat; sau conteinerele pot reprezenta i-nodurile
unui sistem de fişiere de tip Unix iar baza de date poate modela în acest caz un fişier. Multitudinea de scenarii ce
pot fi concepute folosind modelul de baze de date poate ajunge până la simularea realistă de diverse tehnologii
ce ţin de bazele de date, conteinerele în acest caz modelând comportamentul segmentelor de date. Resursele de
calcul şi cele de stocare a datelor sunt interconectate prin componente de reţea. Modelarea completă a unui
sistem de calcul este de asemenea posibilă, de exemplu prin includerea în cadrul aceluiaşi centru regional atât a
componentelelor computaţionale, cât şi a elementelor de stocare a datelor. În acest fel pot fi modelate chiar şi
arhitecturi de nivel înalt. Un alt exemplu îl constituie modelarea comportamentului unui cluster prin includerea
în scenariul de simulare a mai multor resurse computaţionale în acelaşi centru regional. Planificatorul inclus în
modelul de simulare poate fi de asemenea util în simularea unei game largi de tehnologii, de la planificarea
proceselor în cadrul unui sistem de operare până la planificarea execuţiei sarcinilor de lucru specifice Grid în
sistemul local. Toate aceste componente considerate de modelul de simulare pot fi cu uşurinţă extinse de către
utilizator, posibilităţile de modelare fiind practic virtual nelimitate.
Nivelul Connectivity defineşte mecanismele de bază pentru comunicaţie şi protocoalele de autentificare specifice
tranzacţiilor în sisteme Grid. Protocoalele de comunicaţie facilitează schimbul de date între resursele fizice iar
protocoalele de autentificare furnizează mecanismele de control pentru verificarea identităţii utilizatorilor şi a
resurselor. Modelul de simulare presupune existenţa unei stive de protocoale (IP, TCP şi UDP) ce înlesnesc
schimbul de date între diversele componente simulate. Protocoalele de autentificare nu sunt incluse încă în
modelul de simulare. Una dintre extensiile planificate în viitorul apropriate ale modelului de simulare presupune
şi includerea de diverse modele de securitate.
Nivelul Resource include setul de protocoale (incluzând API-uri si SDK-uri) necesare negocierii, iniţializării,
monitorizării, controlului, contabilizării şi plăţii operaţiilor partajate efectuate asupra resurselor individuale.
Aceste protocoale apelează funcţiile nivelului resurselor pentru accesul şi controlul componentelor locale. Acest
nivel consideră numai resursele individuale, nu şi starea globală a întregului sistem distribuit. Procoalele acestui
nivel pot fi de mai multe tipuri: protocoale ce sunt folosite pentru obţinerea de informaţii legate de configurare,
de încărcarea sistemului sau de politici de folosinţă; pot fi protocoale de gestiune folosite pentru negocierea
accesului la resursele partajate conform necesităţilor resurselor sau operaţiilor efectuate. Modelul de simulare
include componente specifice acestui nivel al arhitecturii. Modelul simulat al centrului regional conţine un
catalog de resurse disponibile ce este folosit de către meta-planificatoare. Catalogul datelor globale şi cel al
bazelor de date, de asemenea incluse în modelul de simulare, sunt reponsabile cu gestiunea globală a datelor.
Modelul include de asemenea posibilitatea monitorizării permanente a stării sarcinilor de lucru submise spre
execuţie.
7
Nivelul Collective conţine protocoalele şi serviciile ce sunt asociate cu interacţiunile între colecţii de resurse.
Componentele acestui nivel pot implementa o mare varietate de metodologii de partajare fără a impune cerinţe
suplimentare resurselor partajate. La acest nivel modelul de simulare furnizează funcţionalitatea de metaplanificator ce permite execuţia sarcinilor de lucru într-o manieră distribuită. Această componentă poate suporta
o mare varietate de algoritmi de planificare conform cu cerinţele scenariilor utilizatorilor, modelul incluzând de
altfel un set bogat de proceduri predefinite.
Ultimul nivel, Application, referă aplicaţiile utilizatorilor ce rulează în mediul oferit de sistemul Grid. Aceste
aplicaţii pot defini protocoale, servicii şi/sau API-uri şi în general impun un grad ridicat de complexitate. În
cazul modelului de simulare la acest nivel utilizatorii pot defini diverse activităţi, compuse din sarcini de lucru,
ce modelează diverse comportamente. Posibilele tipuri de activităţi pot fi cele consumatoare de date, de resurse
sau combinaţii ale acestora. Utilizatorii pot cu uşurinţă modela o mare varietate de aplicaţii, cuprinzând diverse
tipuri de operaţii şi de comportamente, modelul de altfel oferind o mare varietate de activităţi predefinite.
Arhitectura bazată pe protocoale a sistemelor Grid a fost ulterior îmbunătăţită de către autori cu o alta bazată pe
servicii. Conform acestei arhitecturi sistemul Grid este considerat a fi "un set extensibil de servicii ce răspund
mesajelor protocoalelor" ([Foster, et al, 2002]). Arhitectura presupune că serviciile Grid pot fi agregate pentru a
întruni necesităţile organizaţiilor virtuale. În modelul de simulare definiţiile sarcinilor de lucru urmează anumite
seturi de reguli bine definite. Descoperirea resurselor este simulată prin folosirea unui catalog de resurse iar
componentele sunt accesate prin intermediul unor puncte de acces bine definite, similar conceptelor prezentate
de arhitectura bazată pe servicii. Generalitatea modelului de simulare permite încorporarea elementelor specifice
acestei architecturi.
Un exemplu de serviciu Grid generic, descris în [Foster, et al, 2004], presupune un client ce accesează un
serviciu de transferuri de fişiere pentru a efectua o serie de acţiuni precum transferul unui fişier de la un serviciu
de stocare la altul. Un scenariu de simulare ce presupune un comportament similar, sub forma unor agenţi ce
modelează servicii de transfer, a fost cu succes executat folosind instrumentul de simulare prezentat în această
lucrare ([Dobre, et al, 2005]). Aceasta demonstrează capacitatea modelului de a permite simularea folosirii unei
mari varietăţi de paradigme specifice serviciilor Grid.
Astăzi mai mult ca oricând se întrevede o creştere a interesului pentru tehnologiile Grid. Ultimele descoperiri în
domeniul tehnologiilor Grid au necesitat mai mult ca niciodată folosirea simulării ca instrument pentru testarea
şi validarea mai rapidă a diverselor probleme, cu costuri mult mai mici. Tehnologiile de planificare, replicare de
date, transferuri de date, sunt astăzi subiecte de mare interes şi este de aşteptat ca în viitor interesul comunităţii
ştiinţifice în folosirea tehnicilor de simulare să crească vertiginos, mai ales în ceea ce priveşte domeniul
modelării sistemelor distribuite.
2.1.2. Caracteristicile sistemelor Grid
Sistemele Grid sunt sisteme complexe ce prezintă o serie de caracteristici particulare. Conform lucrării [BoteLorenzo, et al, 2002], caracteristicile unui sistem Grid pot fi clasificate în 10 categorii principale. Un sumar al
acestor caracteristici şi al influenţei acestora asupra designului modelului de simulare este prezentat în Tabelul
2.2.
Un sistem Grid trebuie să poată gestiona de la câteva până la milioane de resurse. Caracteristica de sistem de
mari dimensiuni a unui sistem Grid este legată de problema evitării degradării performanţei odată cu creşterea în
dimensiuni. Instrumentul de simulare conservă această caracteristică, permiţând modelarea unor scenarii ce
implică un număr considerabil de noduri. Modelul permite de asemenea adăugarea dinamică de noi noduri în
cadrul unui experiment de simulare. Acest aspect este facilitat de orientarea pe obiecte a modelului, ceea ce
permite adăugarea dinamică de noi obiecte ce modelează diverse comportamente de resurse. Practic numărul de
resurse implicate într-un experiment de simulare este limitat doar de caracteristicile fizice ale sistemului local.
Motorul de simulare cuprinde însă o serie de optimizări ce permit modelarea unor scenarii cuprinzănd un număr
impresionant de resurse.
O altă caracteristică a unui sistem Grid este reprezentată de distribuirea geografică a resurselor, acestea fiind
situate în locaţii aflate la mari distanţe una de alta. Arhitectura modelului de simulare presupune organizarea
8
resurselor în diverse centre regionale situate în diverse locaţii. Comunicarea între aceste centre este asigurată de
componentele de reţea ale modelului de simulare.
Eterogenitatea, multitudinea de tehnologii ce alcătuiesc sistemul Grid, atât software cât şi hardware, reprezintă o
altă carateristică a acestor sisteme. Un sistem Grid cuprinde o mare varietate de resurse, de la date, fişiere,
componente software până la senzori, instrumente ştiinţifice, PDA-uri, calculatoare, supercalculatoare şi reţele.
Pentru a permite simularea de diverse arhitecturi hardware modelul de simulare permite gruparea mai multor
componente în ansamble de nivel înalt. Centrul regional reprezintă o astfel de arhitectură hardware de nivel
ridicat ce înglobează resurse de calcul, de date şi de reţea. Eterogenitatea software este modelată prin includerea
în model de diverse distribuţii de probabilitate. Astfel de distribuţii pot fi de exemplu folosite pentru modelarea
transferurilor de date în care calitatea depinde de o multitudine de factori, plecând de la aplicaţiile software
folosite pentru livrarea datelor şi până la probleme de natură fizică apărute pe mediile de transmisie. Fluctuaţiile
aleatoare ce pot apărea în astfel de transferuri sunt modelate prin generarea de întreruperi în simulare conform
unor distribuţii de probabilitate.
Caracteristica Grid
Influenţa acesteia asupra modelului de simulare
Sistem de mari
dimensiuni,
Folosirea de structuri interne optimizate şi algoritmi avansaţi ce permit modelarea
experimentelor cuprinzând un număr mare de resurse.
Distribuit geografic,
Arhitectura de centru regional al modelului de simulare.
Eterogen,
Folosirea diverselor modele de componente hardware; arhitecturi software modelate folosind
diverse distribuţii de probabilitate.
Ce presupune
partajarea resurselor,
Reprezentare în cadrul modelului de reţea.
Existenţa mai multor
domenii de
administrare
Înglobarea unui planificator distribuit.
Implicând coordonarea
resurselor,
Mecanismele de coordonare a resurselor incluse în modelul de simulare.
Acces de încredere,
Implementarea de diverşi algoritmi de planificare de tip DAG.
Acces consistent,
Folosirea mecanismelor standard pentru accesul resurselor.
Acces universal
Mecanismele planificatorului capabile de a detecta erori şi de a întreprinde acţiuni
corespunzătoare.
Tabelul 2.2. Influenţa caracteristicilor sistemelor Grid asupra modelului de simulare.
O altă caracteristică specifică sistemelor Grid o reprezintă partajarea resurselor. Resursele constituente ale unui
sistem Grid aparţin mai multor organizaţii ce permit altor organizaţii (utilizatorilor) accesul. Resursele diferite de
cele locale pot fi folosite de către aplicaţii, aspect ce promovează eficienţa şi reduce costurile. Modelul de
simulare conservă această caracteristică prin adoptarea unui model de reţea matur ce încorporează elemente ce
permit simularea comunicării între diverse resurse ale sistemului Grid.
Partajarea resurselor este strâns legată de caracteristica de existentă a mai multor domenii de administrare.
Fiecare organizaţie poate stabili diverse politici administrative ce definesc modalităţile de acces şi de folosire a
resurselor proprii, aspect ce complică şi mai mult problema asigurării securităţii aplicaţiilor. În modelul de
simulare această caracteristică se traduce prin înglobarea componentei de planificare distribuită. În simulare
fiecare centru regional poate include un planificator local pentru gestiunea resurselor conform unor politici
locale, iar planificatorul distribuit are rolul de negiociere între acestea.
9
O altă caracteristică este aceea de coordonare a resurselor. Resurselor aparţinând unui sistem Grid sunt
coordonate pentru a furniza capabilităţi de calcul agregate. Un sistem Grid colectează multe resurse şi furnizează
o agregare a acestor resurse individuale într-o resursă virtuală de mai mare capacitate. În acelaşi timp capacitaţile
resurselor individuale sunt păstrate. Ca o consecinţă a acestui aspect dintr-o perspectivă globală sistemul Grid
permite rularea aplicaţiilor unor aplicaţii mai mari şi mai rapid (agregarea capacităţilor), pe când dintr-o
perspectivă locală sistemul permite rularea de noi aplicaţii. Coordonarea resurselor este considerată şi de
modelul de simulare. Capacităţile resurselor fiecărui centru regional este păstrată. La nivel global însă o aplicaţie
de dimensiuni mari precum un scenariu de replicare de date, de exemplu, poate fi cu uşurinţă modelat folosind
capacităţile agregate ale mai multor centre regionale, fiecare înglobând diverse servere de date. Mecanismele de
coordonare ale resurselor sunt parte componentă a modelului de simulare.
O caracteristică importantă a oricărui sistem Grid este dată de accesul transparent la resurse, utilizatorul
vizualizând sistemul sub forma unui unic sistem de calcul virtual. Transparenţa este asigurată de modelul de
simulare, aspect prezentat în secţiunea anterioară.
Un sistem Grid trebuie să asigure acces de încredere sau garanţia livrării serviciilor conform unor specificaţii
predefinite de Calitate a Serviciilor. Această caracteristică este conservată de modelul de simulare prin
includerea de diverşi algoritmi de planificare de tip DAG, monitorizarea în permanenţă a resurselor existente şi
înglobarea catalogului de stare a resurselor.
Conform următoarei caracteristici, asigurarea accesului consistent, un sistem Grid trebuie implementat folosind
servicii, protocoale şi interfeţe standard ce ascund eterogenitatea resurselor, permiţând în acelaşi timp
scalabilitatea. Caracteristica aceasta este conservată de modelul de simulare prin definirea unor clase abstracte,
conţinând metode standard definite de acces, ce trebuie extinse de fiecare clasă ce implementează
comportamentul diverselor resurse simulate.
Ultima caracteristică, accesul universal, presupune că sistemul Grid trebuie să furnizeze acces la resursele
disponibile prin adaptarea la un mediu dinamic în care pot apărea diverse erori. În prezenţa erorilor una dintre
sarcinile algoritmului de planificare este de a le detecta şi de a întreprinde măsuri corespunzătoare. Exemple de
astfel de comportamente au fost cu succes executate folosind instrumentul de simulare (de exemplu în [Pop, et al,
2006]).
Toate caracteristicile caracteristice sistemelor Grid sunt conservate de modelul de simulare. Prin urmare putem
spune că modelul de simulare conţine elementele necesare modelării corecte a unei game variate de tehnologii
Grid în conformitate cu componentele şi caracteristicile specifice acestora.
2.2.
Necesităţi specifice experimentelor LHC şi a altor aplicaţii ştiinţifice
Ca un studiu de caz prezentăm în cele ce urmează o analiză a experimentelor LHC (Large Hadron Collider) ce se
desfăşoară la CERN din perspectiva instrumentului de simulare, demonstrând că modelul de simulare propus
conţine componentele şi caracteristicile necesare ce permit dezvoltarea corectă şi completă de experimente de
simulare de mare complexitate de tipul celor prezentate.
2.2.1. Experimentele LHC
Marea popularitate de care se bucură astăzi sistemele Grid se datorează în bună parte experimentelor LHC ce se
desfăşoară la CERN, în Elveţia, şi care vor începe producţia de date în 2008. Volumul de date ce se aşteaptă a fi
generat de aceste experimente este de ordinul petaocteţilor, date ce trebuie distribuite fizicienilor din toată lumea.
Deoarece sistemele Grid au fost mandatate ca infrastructura IT ce va fi folosită pentru manipularea cantităţilor
impresionante de date toate naţiunile participante pun la punct diverse infrastructuri Grid.
Complexitatea fără precedent a experimentelor LHC au impus necesitatea găsirii de soluţii alternative precum
combinarea resurselor tuturor organizaţiilor participante. Problema gestionării într-o manieră inteligentă a
folosirii resurselor dispersate în toată lumea a fost adresată de proiectul MONARC încă de la sfârşitul anilor 90.
Astăzi toate experimentele LHC folosesc ceea ce a fost atunci denumit modelulul distribuirii ierarhice, prezentat
10
în Figura 2.2, conform căruia centrele dispersate în toată lumea contribuie la însumarea capacităţii de procesare
şi a spaţiului de stocare necesare rulării acestor activităţi. Conform acestui model sistemul este compus dintr-un
ansamblu de resurse de calcul distribuite, concentrate într-o ierarhie de centre numite Tiers şi în care Tier0 este
considerat a fi CERN, nodurile Tier1 sunt centrele principale de procesare ce furnizează şi medii sigure de
stocare iar nodurile Tier2 sunt centrele regionale de dimensiune mai mică. MONARC a prevăzut de asemenea si
existenţa unor centre Tier3, reprezentând centrele de calcul ale departamentelor diverselor universităţi implicate,
şi chiar centre Tier4 reprezentând staţiile utilizatorilor. Distincţia între aceste centre de nivel mai scăzut nu
reprezintă un aspect relevant într-un model Grid, ce reprezintă până la urmă ceea ce descria această viziune,
chiar dacă modelul MONARC a fost dezvoltat înaintea apariţiei domeniului sistemelor Grid.
Figura 2.2. Modelul MONARC.
Arhitectura distribuirii ierarhive se mapează corect pe modelul de simulare. În cadrul modelului colecţii de
noduri de procesare, servere de date şi entităţi de reţea sunt logic organizate în centre regionale. Modelul de reţea
permite conectarea acestor centre în diverse arhitecturi, inclusiv în forma modelului ierarhic folosit de
experimentele de fizică. Sarcini de lucru specializate incluse de asemenea în modelul de simulare permit
simularea comportamentului specific activităţilor LHC. Aceste elemente permit contruirea de scenarii conforme
cu condiţiile de rulare presupuse de experimentele de la CERN, aşa cum sunt acestea descrise de modelele de
calcul. Un astfel de experiment de altfel a fost cu succes executat folosind modelul de simulare propus ([Legrand,
et al, 2005]).
Un model alternativ a fost ulterior propus de către experimentul ALICE, modelul „Cloud”. Conform acestui
model distribuţia sarcinilor de lucru către diversele centre implicate se face dinamic, pe baza disponibilitaţii
resurselor şi a serviciilor pe care le publică, indiferent de nivelul de Tier din care face parte centrul ce le
generează. Acest model este de asemenea bine mapat pe modelul de simulare. În acest caz planificatorul
distribuit asignează sarcinile de lucru simulate într-o manieră dinamică diverselor centre existente pe baza
disponibilităţii resurselor şi a serviciilor publicate.
MONARC 2 include de altfel o serie de componente ce sunt specifice experimentelor LHC: un catalog de
metadate, diverse activităţi de analiză şi un planificator distribuit. Catalogul de metadate reprezintă o
componentă internă modelului ce are rolul de a stoca datele pe baza evenimentelor apărute în simulare. Acesta
conţine metode pentru stocarea evenimentelor cu sau fără crearea de replici, pentru găsirea celui mai apropiat
server de date ce conţine datele corespunzătoare unui anumit eveniment sau pentru aflarea celui mai optim (în
termeni de costuri de transfer şi de acces) server de date ce conţine un anumit set de date. Acest catalog este
folosit în asociere cu sarcinile de lucru ce modelează comportamentul procesării de date într-o manieră similară
modului în care datele sunt procesate în cadrul experimentelor de fizică. Planificatorul distribuit foloseşte un
algoritm bazat pe încărcarea medie minimă a unităţilor de procesare pentru aflarea celui mai optim centru unde
sarcinile pot fi executate. Sarcinile de lucru pentru analiza de date folosesc catalogul de metadate pentru
obţinerea datelor necesare ce sunt ulterior procesate, conform modelelor de calcul specifice experimentelor LHC.
11
Modelul de simulare mai include şi unităţi de stocare a datelor pe benzi magnetice pentru folosinţă îndelungată,
similar celor existente la CERN, şi algoritmi de automatizare a stocării datelor pentru o perioadă mai lungă de
timp. Dificultatea în simularea condiţiilor de lucru ale experimentelor LHC provine şi din volumul impresionant
de resurse implicate în acestea. Simulatorul MONARC 2, prin folosirea unor structuri şi tehnologii avansate,
poate fi cu succes folosit pentru testarea unor experimente de asemenea anvergură. Toate aceste elemente au fost
încorporate în modelul de simulare pe baza necesităţilor specifice experimentelor de fizică de la CERN.
2.2.2. Necesitatea optimizării transferurilor de date
Cele patru experimente LHC se presupune că vor colecta cantităţi impresionante de date ce trebuie procesate,
calibrate şi analiză de mai multe ori. 5000 de cercetători din 500 ce instituţii din toată lumea se bazează pe
furnizarea unui acces necondiţionat la datele specifice experimentelor de fizică. Colaborarea la un asemenea
nivel nu ar fi putut fi planificată fără existenţa unei infrastructuri excepţionale de reţea ce să interconecteze
grupurile de fizicieni pe toată durata experimentelor şi care să suporte transferul cantităţilor impresionante de
date generate. La ora actuală CERN conduce dezvoltarea a două mari proiecte Grid, WLCG (World-wide LHC
Computing Grid Collaboration) şi EGEE (Enabling Grid for E-sciencE). Nivelul reţea, parte a nivelului Fabric,
joacă un rol important în cazul ambelor proiecte Grid. Una dintre cele mai mari probleme pe care aceste sisteme
încearcă să le rezolve este găsirea modalităţii de distribuire a cantităţii impresionante de date produse către
diversele destinaţii din toată lumea. Găsirea soluţiilor în acest caz presupune rezolvarea a două probleme. Prima
constă în furnizarea infrastructurilor de reţea capabile să susţină traficul preconizat. Cea de-a doua problema
constă în dezvoltarea de instrumente pentru transferul datelor peste legăturile dedicate într-o manieră eficientă.
Capacităţile de bandă ale reţelelor de nouă generaţie au fost demonstrate cu diverse ocazii. Transferuri de până la
7,2 Gbps peste distanţe de până la 20,700 km au fost cu succes prezentate în timpul unei demonstraţii ce a avut
loc în 2004 (recordul de transfer al Internet2). În timpul întrecerii SuperComputing Bandwidth Challenge, în
anul 2005, o echipă de oameni de ştiinţă şi ingineri condusă de California Institute of Technology au reuşit
stabilirea unui record de 151 Gbps pentru un transfer susţinut. Acest record a reprezentat o demonstraţie a
posibilităţii obţinerii unor viteze de transfer ce sunt conforme cu necesităţile experimentelor LHC.
Anul
Valori în producţie
Valori experimentale
Tehnologii folosite
2001
0,155
0,622 – 2,5
SONET/SDH
2002
0,622
2,5
SONET/SDH, DWDM, GigE Integ.
2003
2,5
10
DWDM, 1+10 GigE Integration
2005
10
2-4 x 10
2007
2-4 x 10
~ 10 x 10; 40 Gbps
2009
~ 10 x 10 or 1-2 x 40
~ 5 x 40 or ~ 20-50 x 10
λ Switch; λ Provisioning
1st Gen. λ Grids
40 Gbps λ Switching
Tabelul 2.3. Evoluţia tehnologică a marilor legături de date implicate în experimentele LHC (valori în Gbps).
Tehnologiile reţelelor de comunicaţie au dus în ultimii ani la o dezvoltare şi mai remarcabilă a capacităţilor de
transfer. Sistemele Grid actuale încep din ce în ce mai mult să se intereseze de folosirea reţelelor „hibride”, în
care aplicaţiile mari consumatoare de date sunt ajutate în mod dinamic prin construirea de căi optice dedicate să
obţină capacităţi de transfer cu adevărat impresionante. În Tabelul 2.3 prezentăm un istoric al evoluţiei
capacităţilor de transfer ale legăturilor majore ce vor fi folosite pentru transferul datelor generate de
experimentele LHC. Cea de-a doua coloană prezintă valorile de bandwidth ce sunt furnizate aplicaţiilor de
producţie. Cea de-a treia coloană prezintă valorile obţinute în diverse experimente (demonstraţii sau
experimente). După cum se poate observa, tehnologia a evoluat de la SONET/SDH către Optical Provisioning,
tendinţa actuală fiind de a folosi pentru transferuri direct protocoalele nivelului 2 (switching) sau chiar mai
departe, de a folosi direct legăturile optice de nivel 1 (optical paths provisioning). Ultimul rând din cadrul
tabelului prezintă o estimare în termeni de performanţă a echipamentelor de reţea ce vor exista cel mai probabil
în 2009, conform tendinţelor actuale, atunci când mai multe legături de date de 10 Gbps şi 40 Gbps vor fi
folosite în producţie.
12
Chiar dacă legăturile de 10 Gbps devin din ce în ce mai comune, atingerea unor rate de transfer cât mai apropiate
de 10 Gbps sau chiar de 1 Gbps rămâne încă o problemă nerezolvată pentru cei mai mulţi utilizatori. În timpul
demonstraţiei SuperComputing 2006 Bandwidth Challenge echipa noastră a reuşit stabilirea unui record de
transfer de 17,177 Gbps între clustere de servere aflate la conferinţă şi la Caltech, folosind o singură legătură de
10 Gbps. Pentru controlul şi coordonarea transferurilor în timpul acestei demonstraţii s-a folosit LISA, un
instrument de monitorizare dezvoltat pe baza experienţei acumulate la dezvoltarea instrumentului de simulare şi
pe baza rezultatelor experimentelor de simulare ce au analizat activităţile de fizică. De asemenea echipa a folosit
o aplicaţie pentru transferuri rapide, FDT, ce asemenea proiectului LISA, a fost dezvoltat în cadrul unei
colaborări între Caltech şi Universitatea Politehnică Bucureşti, autorul fiind parte a echipei de dezvoltatori în
cazul ambelor proiecte.
Aplicaţiile ce asigură transferul de mare viteză al datelor provenite din experimentele LHC către destinaţii aflate
în toată lumea sunt în permanenţă dezvoltate. Simularea se dovedeşte de cele mai multe ori un instrument
important în dezvoltarea unor astfel de aplicaţii de ultimă oră. Modelul de simulare propus întruneşte de altfel
toate elementele necesare dezvoltării şi testării unor astfel de tehnologii avansate. Modelul suportă extinderea
prin încorporarea de noi protocoale, de noi tehnologii, de metodologii de transfer. Rezultatele prezentate în
această lucrare demonstrează de altfel cu succes acest lucru.
2.3.
Simularea modelelor de calcul complexe
Simularea unor scenarii complexe ce implică caracterizarea realistă a unor sisteme Grid sau experimente LHC de
tipul celor prezentate ridică o serie de dificultăţi. Modelul de simulare propus prezintă o serie de caracteristici ce
permit rularea cu succes a unor astfel de experimente.
Complexitatea modelării unui experiment este dată de o multitudine de factori, cel mai important fiind
neclaritatea obiectivelor simulării. De multe ori acelaşi obiectiv poate fi atins mai eficient folosind un model
simplificat de simulare. În cazul unor sisteme complexe de mari dimensiuni este important ca sistemul de
simulare pe de o parte să ascundă detaliile irelevante în scopul obţinerii unor costuri reduse de execuţie şi în
acelaşi timp să conţină elementele necesare asigurării validităţii rezultatelor obţinute în raport cu obiectivele
simulării.
F. K. Frantz, în [Frantz, 1995], clasifică tehnicile de simplificare a modelelor de simulare, pe baza
componentelor modificate, în trei categorii: modificarea graniţelor, modificarea comportamentului şi
modificarea formei. Modificarea graniţelor presupune reducerea spaţiului variabilelor de intrare, fie prin
delimitarea plajei de valori a unui anumit parametru de intrare, fie prin minimizarea numărului de parametrii de
intrare. Modelul de simulare adoptă această tehnică prin minimizarea numărului de parametrii de intrare, acesta
considerând strict acei parametrii ce influenţează în mod direct rezultatul simulării. De exemplu unitatea de
procesare este caracterizată de valoarea puterii de procesare, variabilă ce se consideră a nu fi influenţată de
încărcarea indusă de alte procese existente. Această simplificare este permisă deoarece unitatea de măsură a
puterii de procesare în modelul de simulare se consideră a fi SI95, o valoare medie a performanţei măsurată
conform unor diverse experimente de benchmark a sistemelor reale. Modelul de simulare permite totuşi
simularea influenţei proceselor asupra performanţei prin includerea explicită în scenariul de simulare de diverse
sarcini de lucru adecvate acestui scop. Variaţiile în încărcarea sistemului pot fi de asemenea modelate prin
utilizarea diverselor distribuţii de probabilitate include în modelul de simulare. Modelul de reţea nu ia în
considerare în mod implicit efectul zgomotelor de fundal, dar modelul de simulare permite totuşi şi simularea
acestui efect dacă experimentul de simulare necesită acest lucru.
În cazul modificării comportamentului stările modelului de simulare sunt agregate, fie în domeniul spaţial, fie în
cel temporal. În diverse momente ale simulării starea sistemului poate fi descompusă într-un vector de variabile
de stare. Aceste variable corelate pot fi agregate şi înlocuite printr-una singură în modelul simplificat. Modelul
de simulare foloseşte această tehnică de simplificare în cadrul modelului de reţea. În cazul în care dinamica
transferului pachetelor nu este de interes pentru scenariul de simulare modelul de reţea consideră trimiterea unui
pachet ca variabilă de stare agregată în starea execuţiei întregului transfer din care face parte. Cazul pierderii
unui pachet este tratat prin inserţia în simulare de întârzieri, similar funcţionării protocoalelor TCP.
13
Tehnica modificarea formei consideră modelul de simulare sub forma unei „cutii negre”, acesta generând
rezultate pe baza intrărilor furnizate. Această tehnică duce la înlocuirea modelului sau a unui submodel de
simulare original printr-un surogat al acestuia ce îmbracă o formă mult simplificată ce duce la o aceeaşi sau
aproximativ aceeaşi transformare între intrare şi ieşire. Modelul de simulare încorporează diverse distribuţii de
probabilitate ce sunt folosite pentru implementarea acestei forme de simplificare. De exemplu funcţionarea
activităţii de procesare poate fi influenţată de diverse interferenţe. În locul includerii unor activităţi suplimentare
ce ar modela acest comportament modelul de simulare foloseşte diverse distribuţii pentru obţinerea aceluiaşi
efect. Distribuţiile matematice sunt frecvent folosite în modelul de simulare pentru obţinerea de diverse
simplificări necesare pentru execuţia cu succes a unor scenarii de simulare implicând sisteme distribuite de mari
dimensiuni.
Chiar dacă tehnicile de simplificare oferă posibilitatea reducerii costurilor de rulare în cazul simulării unor
sisteme complexe, acestea pot duce la pierderea unor detalii şi, implicit, la incertudini asupra validităţii
rezultatelor obţinute. Tocmai de aceea simulatorul MONARC 2, dezvoltat pornind de la modelul de simulare
propus, prezintă o serie de rezultate ce demonstrează validitatea acestuia. Experimentele de validare ale
instrumentului de simulare includ rularea de scenarii conforme cu sisteme reale şi compararea rezultatelor
obţinute cu cele obţinute prin monitorizarea cazurilor reale şi validarea conform unor observaţii matematice de
tipul queuing theory. Eforturile de validare, prezentate de altfel în această lucrare, demonstrează corectitudinea
modelului de simulare în prezenţa diverselor tehnici de simplificare adoptate.
3. INSTRUMENTE DE SIMULARE PENTRU SISTEME GRID
Acest capitol prezintă o sinteză originală asupra lucrărilor existente în domeniul modelării şi simulării sistemelor
Grid. Un obiectiv al acestui capitol îl reprezintă prezentarea categoriilor unei taxonomii originale ce are ca scop
analizarea mai corectă a celor mai reprezentative instrumente pentru modelarea sistemelor Grid. Această
taxonomie este cu atât mai necesară cu cât, la ora actuală, se constată lipsa unor astfel de instrumente ce ar putea
caracteriza corect şi complet sistemele de modelare ale sistemelor complexe ce impun caracteristici proprii.
Taxonomiile anterior definite în literatura de specialitate se dovedesc a fi fie prea generice, ele urmărind
caracterizarea globală a tuturor instrumentelor de simulare fără a ţine seama de particulărităţile specifice fiecărui
domeniu de simulare, fie se dovedesc a fi prea subiective şi fără fundamente reale, ele fiind special construite
pentru elogierea caracteristicilor unor anumite instrumente de simulare, fiind în general propuse chiar de către
dezvoltatorii implicaţi în respectivele proiecte de simulare. Categoriile taxonomiei propuse sunt ulterior folosite
pentru analiza celor mai reprezentative instrumente de simulare a sistemelor Grid existente la ora actuală.
3.1.
Sinteza lucrărilor anterioare
Una dintre cele mai citate lucrări în ceea ce priveşte analiza instrumentelor de simulare a sistemelor Grid este
[Sulistio, et al, 2004]. În cadrul lucrării autorii propun o taxonomie pe care o folosesc pentru analiza
instrumentelor de simulare paralele şi distribuite prezentate. Principala problemă a acestei taxonomii constă în
generalitatea acesteia, autorii urmărind caracterizarea generală a instrumentelor de simulare prin categoriile
acesteia. Generalitatea taxonomiei o face necorespunzătoare pentru analiza instrumentelor specifice modelării
sistemelor Grid, instrumente ce impun o serie de consideraţii suplimentate. Spre a exemplifica, una dintre
categoriile taxonomiei o reprezintă considerarea timpului fizic de către modelul de simulare. Această categorie
nu îşi dovedeşte utilitatea în cazul sistemelor Grid, timpul reprezintând o proprietate inerentă acestora. Procese
precum trimiterea pachetelor pe reţea sau planificarea sarcinilor de lucru se derulează în astfel de sisteme ca
influenţă a curgerii timpului. De altfel toate modelele de simulare studiate în această lucrare includ timpul ca
proprietate inerentă modelelor de simulare folosite.
O altă lucrare de referinţă în domeniu este [Quetier, B., F. Cappello, 2005]. Autorii lucrării prezintă o trecere în
revistă a principalelor instrumente de simulare pentru sisteme Grid fără a introduce prea multe elemente de
comparaţie între proiectele prezentate. În cadrul lucrării autorii prezintă probleme specifice simulatoarelor pentru
14
sisteme Grid precum validarea sau scopul modelului. Din păcate lucrarea nu adresează decât o parte dintre
problemele specifice simulatoarelor pentru sisteme Grid şi nu realizează o categorisire a elementelor prezentate.
Astfel de probleme sunt corectate de către taxonomia propusă în cadrul tezei noastre.
Există şi alte lucrări, însă majoritatea se dovedesc a fi părtinitoare, fiind special construite pentru elogierea
caracteristicilor unor anumite instrumente de simulare. În continuare prezentăm categoriile unei taxonomii
originale ce corectează deficienţele lucrărilor anterioare ce au avut ca scop analizarea proprietăţilor
simulatoarelor pentru sisteme Grid.
3.2.
Taxonomia modelării sistemelor Grid
Obiectivul principal al taxonomiei propuse este acela de a descrie corect diversele instrumente de simulare a
sistemelor Grid existente. Taxonomia propusă conţine o serie de categorii (precum motivaţia sau componentele
Grid simulate) ce sunt special concepute pentru caracterizarea completă şi corectă a unor astfel de instrumente de
simulare, luând în considerare caracteristicile atât ale sistemelor Grid ce pot fi modelate cât şi pe cele ce ţin de
implementarea respectivelor instrumente de simulare.
Figura 3.1. Categoriile taxonomiei propuse.
Figura 3.1 prezintă categorii taxonomiei propuse. Proprietăţile unui simulator ce modelează sisteme Grid se
împart în două categorii principale: proprietăţile simulării şi cele ale proiectării. Taxonomia simulării analizează
instrumentele de simulare pe baza modelelor de simulare adoptate de acestea, în timp ce taxonomia proiectării
clasifică simulatoarele pe baza proprietăţilor de proiectare şi de implementare ale acestora.
Taxonomia simulării include cinci categorii. Motivaţia indică scopul principal al unui instrument de simulare.
Spre exemplu un instrument de simulare poate fi folosit explicit pentru studierea unor algoritmi de planificare
sau de replicare de date sau chiar a unui model particular de sistem Grid. Implementarea unui instrument pentru
studierea problemelor generale ale sistemelor Grid se dovedeşte în practică de cele mai multe ori dificilă, fapt ce
impune includerea acestei categorii. Această categorie a fost de altfel identificată şi de autorii lucrării
15
[Venugopal, et al, 2006], conform cărora principalele posibile valori ale acestei categorii ar fi transferul datelor,
replicarea sau probleme legate de planificare. Taxonomia Componentelor Grid simulate clasifică instrumentele
de modelare pe baza capacităţii acestora de a simula diversele nivele specifice unei arhitecturi Grid. Această
taxonomie analizează componentele sistemelor Grid şi caracteristicile acestora ce sunt include în diversele
modele de simulare. Taxonomia include patru categorii de posibile componente ce pot apărea în modelul de
simulare: resurse, reţea, middleware şi aplicaţiile utilizatorilor.
Taxonomia Comportamentului clasifică instrumentele de modelare pe baza procesului de desfăşurare a simulării.
O simulare deterministă nu este afectată de producerea unor evenimente neaşteptate, ceea ce înseamnă că rularea
consecutivă a aceluiaşi scenariu de simulare va duce la producerea de rezultate identice. O simulare
probabilistică consideră şi apariţia de evenimente aleatoare, rularea unui acelaşi scenariu ducând de fiecare dată
la producerea de rezultate diferite. Taxonomia bazelor valorilor specifică plaja de erori pe care entităţile
simulate le pot considera. O simulare discretă conţine entităţi ce conţin valori dintr-o mulţime finită de
posibilităţi, pe când o simulare continuă conţine entităţi ce pot lua valori dintr-o plajă infinită de posibilităţi.
Categoria validare clasifică instrumentele pe baza eforturilor de asigurare a validităţii modelului conceptual
folosit şi a procesului de implemente depuse de proiectanţii respectivelor aplicaţii. Aceasta reprezintă o măsură a
siguranţei oferite utilizatorilor ce rulează diverse scenarii de simulare.
Taxonomia proiectării clasifică instrumentele de simulare pe baza componentelor şi a caracteristicilor de
simulare puse la dispoziţia utilizatorilor. Fiecare astfel de instrument foloseşte un motor de simulare pentru
implementarea şi execuţia modelului de simulare. Execuţia se referă la capabilitatea simulatorului de a folosi
arhitectura sistemului pe care rulează. Conform acestei categorii instrumentele de simulare se clasifică în
centralizate şi distribuite. Idea de a folosi termenul de simulare distribuită pentru modelarea paralelă a apărut
prima dată în lucrarea 1986 ([Misra, 1986]). Sistemele de simulare ce folosesc o singură unitate de procesare,
indiferent dacă sistemul include mai multe procesoare, se numesc simulatoare centralizate. Cea de-a doua
categorie se referă la aplicaţiile de simulare ce folosesc mai multe unităţi de procesare, posibil dispersate în
diverse locaţii. Conform mecanicii adoptate, sistemele de simulare se clasifică şi în funcţie de tipul de simulare
bazată pe evenimente discrete. O simulare discretă bazată pe evenimente se bazează pe folosirea unor cozi
pentru gestiunea evenimentelor. Un simulator de tip trace-driven execută evenimente ce sunt introduse în cozi de
către medii externe. O aplicaţia de simulare de tip time-driven avansează simularea prin incrementarea ceasului
logic cu valori constante fixe. Un instrument de tip event-driven avansează ceasul logic al simulării pe baza
timpilor de producere ai evenimentelor. Categoria aspectelor de proiectare clasifică aplicaţiile de simulare pe
baza structurilor de cozi adoptate sau a modalităţii de mapare a sarcinilor de lucru pe procesele sau firele de
execuţie fizice. Astfel de aspecte sunt importante deoarece afectează într-o măsură importantă timpii de rulare şi
capacitatea modelelor de simulare de a include un număr variabil nelimitat de resurse.
Taxonomia mediului de programare clasifică instrumentele de programare pe baza competenţele cerute
utilizatorilor pentru folosirea corectă a acestora. Un mediu de programare structural necesită proiectarea
simulării într-o manieră top-down. Un mediu de programare orientat pe obiecte solicită proiectarea simulării
folosind obiecte ce comunică între ele pentru realizarea diverselor activităţi. Taxonomia mediului de proiectare
clasifică aplicaţiile de simulare pe baza instrumentelor furnizate utilizatorilor pentru proiectarea experimentelor
de simulare. Un bun mediu de proiectare facilitează învăţarea şi utilizarea respectivului instrument. Un limbaj
furnizează un set de construcţii definite utilizatorilor pentru proiectarea modelelor de simulare. Pe de altă parte, o
bibliotecă furnizează un set de rutine ce pot fi folosite în corelare cu un limbaj de programare. În general un
instrument de simulare bazat pe biblioteci oferă utilizatorilor mai multă flexibilitate în crearea şi controlul
simulărilor. Taxonomia interfeţei cu utilizatorii clasifică instrumentele în funcţie de modul în care utilizatorii
interacţionează cu acestea. O aplicaţie de simulare poate furniza sau nu o interfaţă de legătură cu utilizatorii. O
interfaţă grafică este de preferat deoarece oferă o mai bună interacţiune. O interfaţă grafică pentru proiectare
permite utilizatorilor crearea modelelor de simulare într-o manieră mai uşoară şi mai rapidă, dar în acelaşi timp
instrumentele ce folosesc o astfel de construţie sunt în general limitate la folosirea strictă a componentelor
incluse, nepermiţând extensibilitate. O interfaţă grafică pentru vizualizarea execuţiei şi/sau a rezultatelor
furnizează o înţelegere a procesului de simulare. Utilizatori pot mai uşor astfel observa şi analiza experimentul
de simulare. Taxonomia suportului sistemului clasifică instrumentele în funcţie de caracteristicile acestora ce
permit utilizatorului construirea mai exactă şi mai corectă a scenariilor de simulare. Generarea de cod de
exemplu oferă automatizarea generării codului necesar construirii de diverse scenarii de simulare. Un astfel de
16
instrument nu necesită cunoştinţe avansate de programare din parte utilizatorilor. Depanarea permite
utilizatorilor identificarea anormalităţilor şi a problemelor apărute în scenariul de simulare într-o manieră mai
uşoară. Statisticile se referă la instrumentele ce permit analizarea şi justificarea modelului de simulare. Validarea
este şi ea necesară deoarce ajută utilizatorii să identifice posibile erori sau inconsistenţe în modelul de simulare,
facilitând încrederea în folosirea unui astfel de instrument de simulare.
3.3.
O analiză critică a instrumentelor de simulare pentru sisteme Grid
Această secţiune prezintă o analiză a proprietăţilor celor mai reprezentative instrument pentru modelarea
sistemelor Grid. Analiza, bazată pe categoriile identificate ale taxonomiei propuse în acestă lucrare, are rolul de
a prezenta cele mai reprezentative aplicaţii de simulare a sistemelor Grid existente. Un obiectiv al acestui studiu
îl reprezintă acela de a evalua capacitatea taxonomiei de a investiga corect în practică proprietăţile diverselor
instrumente de modelare a sistemelor Grid.
Instrumentele de simulare alese sunt cele mai reprezentative în domeniul modelării sistemelor Grid. Acestea au
fost alese pe baza popularităţii de care se bucură acestea şi a gradului în care acestea influenţează acest domeniu.
Instrumentele analizate în cadrul acestui studiu au fost: GridSim, OptorSim, SimGrid, MONARC 2, ChicagoSim,
Bricks şi EDGSim. Proiectele de simulare au fost analizate pe baza proprietăţilor acestora conform cu categoriile
taxonomiei prezentate.
Un sumar al proprietăţilor identificate în cazul acestor instrumente de simulare, conform taxonomiei propuse,
este prezentat în Tabelul 3.1.
Nr.
Instrumentul
de simulare
Motivaţia
Bazele
valorilor
Componentele Grid simulate
Componente client-server organizate centralizat,
servere şi elemente de reţea, unitate de planificare
reprezentând componenta principală a modelului.
Centre Grid compuse compuse din Elemente de
Calcul şi din Elemente de Stocare, model complex
de reţea, GS-uri incluzând componente precum
Resource Broker, Replica Manager şi Replica
Optimiser.
Activităţi de planificare, resurse de sisteme şi de
reţea. Modelul de sistem Grid poate fi generat de
alte aplicaţii (suportă ENV şi NWS).
Sistemele modelate sunt compuse din utilizatori,
agenţi şi resurse. Modelul include sisteme Grid
Computaţionale şi de Date.
1
Bricks
Planificarea
resurselor
Valori
discrete
2
OptorSim
Planificarea
Valori
resurselor; Strategii discrete
de replicare de date
3
SimGrid
Planificarea
resurselor
Valori
discrete
4
GridSim
Planificarea
resurselor;
Algoritmi simpli
de replicare
Valori
discrete
5
EDGSIM
Planificarea
resurselor
Valori
continue
6
ChicagoSim
Planificarea
Valori
resurselor; Strategii discrete
de replicare de date
7
MONARC 2
Simulator Grid
generic
Sarcini de lucru, componentă Resource Broker
rulând diverşi algoritmi de planificare, Catalog de
Replici, model de elemente de procesare, model
simplu de reţea.
Componente de procesare, de reţea şi activităţi.
Gestiunea replicilor este executată la nivel local.
Unităţi de procesare, de stocare, ferme, elemente
de reţea, componente HEP. Include suport pentru
modelarea de diverse arhitecturi Grid.
Valori
discrete
17
Nr.
Validare
Execuţie
Interfaţa cu
utilizatorii
Mediul de
programare
Mediul de
proiectare
Suportul
sistemului
1
Efectuată folosind NWS
Centralizată Non-vizuală
Orientat
obiect
Limbaj
Generare de
statistici
2
Teste degenerate, valori
fixe, validare internă
Centralizată Animaţii
Orientat
obiect
Bibliotecă
-
3
Valori fixe
Centralizată
Structural
Limbaj şi
bibliotecă
-
4
-
Centralizată Formulare
şi
distribuită
Orientat
obiect
Bibliotecă
Generare de cod,
generare de
statistic
5
-
Centralizată Drag&drop,
formulare,
grafuri
Objectoriented
Limbaj şi
bibliotecă
Generare de cod,
depanare,
generare de
statistici
6
-
Centralizată Non-vizuală
Orientat
obiect
Limbaj
-
7
Validarea modelului,
comparaţii între sisteme
reale de test şi
rezultatele simulărilor,
teste de teoria cozilor
Centralizată Animaţii,
analiza grafică
a rezultatelor
Orientat
obiect
Bibliotecă
Depanare
Analiză
grafică a
rezultatelor
Tabelul 3.1 Comparaţia proiectelor de simulare a sistemelor Grid.
Analiza proprietăţilor instrumentelor evaluate a relevat printre altele motivaţiile, principiile, implementarea şi
aplicaţiile practice ale fiecăreia dintre aceste aplicaţii. Analiza prezentată subliniază diferenţele între aceste
instrumente pe baza caracteristicilor acestora de modelare, implementare şi proiectare. Fiecare dintre aceste
instrumente prezintă avantaje şi dezavantaje. Folosirea unui instrument de simulare depinde într-o mare măsură
de scopul final al scenariul de simulare ce se vrea executat şi de cunoştinţele utilizatorilor. Fiecare instrument
oferă suport pentru modelarea unor aspecte ce ţin de sistemele distribuite. Dintre aceste proiecte de simulare
MONARC 2 se dovedeşte a fi cel mai generic, fiind capabil să modeleze un număr mai mare de posibile scenarii
de simulare. Simulatorul MONARC 2 prezintă un număr de avantaje, printre acestea fiind capacitatea de a
include mai mulţi parametrii, proprietăţi şi componente decât oricare altă aplicaţie de simulare a sistemelor
distribuite existentă.
4. SIMULATOR PENTRU SISTEME DISTRIBUITE
Tehnicile de modelare şi simulare a sistemelor distribuite de mari dimensiuni propuse prin modelul de simulare
au fost validate prin proiectarea şi implementarea unui simulator, MONARC 2. Acesta furnizează un mediu de
simulare realist pentru modelarea sistemelor de calcul distribuite de mare întindere, oferind flexibilitate şi
dinamism în evaluarea performanţelor unei game largi de arhitecturi de procesare. Simulatorul conţine
mecanismele necesare modelării traficului concurent şi evaluării de diverse strategii de replicare a datelor sau de
planificare a execuţiei sarcinilor de lucru. Proiectul este dezvoltat în cadrul unei colaborări implicând
18
Universitatea Politehnică din Bucureşti, Centrul European pentru Cercetări Nucleare – CERN, din Geneva şi
California Institute of Technology, din SUA. Caracteristicile aplicaţiei precum arhitectura robustă,
implementarea modulară şi extensibilă, setul bogat de componente disponibile, au făcut din MONARC 2 un
instrument de modular deosebit de popular în rândul utilizatorilor din diverse domenii ştiinţifice. Folosirea
tehnologiilor de monitorizare în procesele de validare şi proiectare au consolidat şi mai mult succesul de care se
bucură acest proiect.
Punctul de pornire al dezvoltării aplicaţiei l-a constituit instrumentul de simulare MONARC ([Legrand, 2000]),
dezvoltat la CERN. Proiectul original de simulare a fost primul care a propus folosirea arhitecturii bazate pe
nivele pentru agregarea puterii de calcul a tuturor organizaţiilor distribuite în toate lumea implicate în
experimentele LHC. MONARC 2 îmbunătăţeşte considerabil proprietăţile oferite de proiectul anterior. Motorul
de simulare original a fost rescris pentru a permite rularea de scenarii implicând sisteme de mai mari dimensiuni,
cuprinzând mult mai multe componente şi activităţi executate. În acelaşi timp MONARC 2 a îmbunătăţit
considerabil performanţele de rulare prin integrarea unor structuri şi algoritmi de ultimă generaţie.
Componentele de simulare au fost reproiectate şi altele noi au fost adăugate pentru a permite modelarea unui set
mai bogat de parametri. De exemplu, posibilitatea simulării de diverşi algoritmi de replicare de date sau
planificare au fost făcută posibile de către noul proiect de simulare. Modelele de simulare au fost de asemenea
regândite în scopul integrării ultimelor tendinţe din domeniul sistemelor distribuite cum ar fi arhitecturile Grid
prezentate într-un capitol anterior. Reprezentările rezultatelor de simulare au fost reproiectate de asemenea
pentru a oferi utilizatorilor posibilitatea folosirii unor functionalităţi de nivel mai înalt. Utilizatorii au la
dispoziţie în MONARC 2 o interfaţă grafică avansată ce uşurează munca de înţelegere a caracteristicilor
experimentelor rulate. MONARC 2 a introdus de asemenea posibilitatea vizualizării rezultatelor obţinute fără reexecutarea scenariului de simulare, înlesnind partajarea datelor obţinute între membrii interesaţi. Rezultatele
provenind din mai multe execuţii ale scenariilor de simulare, folosind diverşi parametrii de intrare, pot fi de
altfel şi ele agregate. MONARC 2 a îmbunătăţit considerabil flexibilitatea şi performanţele proiectului original
de simulare, a reproiectat modelul de simulare şi aspectele de implementare şi a adăgat noi capabilităţi, rezultând
într-un proiect de simulare a sistemelor Grid mult mai generic. MONARC 2 este capabil să suporte modelarea de
diverse arhitecturi de sisteme Grid de procesare sau de date, modelarea de diverşi algoritmi de planificare şi
replicare, protocoale de reţea, tehnologii de transfer, baze de date şi a multor alte tehnologii specifice sistemelor
distribuite.
4.1.
Componentele şi arhitectura simulatorului
Arhitectura aplicaţiei de simulare este special proiectată pentru modelarea unor sisteme distribuite de mari
dimensiuni, cuprinzând interacţii complexe şi schimbul şi procesarea unor cantităţi impresionante de date. Cea
mai potrivită soluţie pentru modelarea unor astfel de sisteme a reprezentat-o adoptarea unei proiectări bazate pe
obiecte. O astfel de abordare permite, printre altele, modelarea sistemelor a căror stari suportă modificări
dinamice în timp, maparea directă şi facilă a componentelor logice peste programul de simulare şi furnizarea
mecanismelor de interacţiune necesare modelării unor sisteme distribuite de mare întindere.
Simulatorul MONARC 2 foloseşte o abordare orientată spre procese pentru implementarea simulării bazate pe
evenimente discrete, aspect ce facilitează simularea aplicaţiilor concurente şi a modelelor stocastice. Obiectele
ce folosesc fire de execuţie, numite şi „Obiecte Active” (ce folosesc fire de execuţie pentru implementarea
secvenţei de rulare şi care încorporează un contor de program, o stivă, samd.), permit o mapare naturală a
comportamentului specific procesării distribuite de date în simulator. Modelarea procesării concurente se
realizează pe baza mecanismului de „întreruperi” ce este implementat la nivelul motorului de simulare.
Simulatorul MONARC 2 este implementat folosind tehnologia Java, beneficind de suportul adecvat oferit de
aceasta pentru dezvoltarea unor simulărilor dinamice şi distribuite orientate spre procese. Java include suport
nativ pentru proiectarea multi-thread a procesării concurente, aspect ce la nivelul simulării a fost folosit în
combinaţie cu implementarea unui mecanism de planificare dedicat. Motorul de simulare beneficiază astfel de
proprietăţi ce îi permit instalarea uşuoară şi rularea unor scenarii complexe chiar şi pe sisteme multi-procesor. O
contribuţie importantă la dezvoltarea proiectului a fost adusă de numeroşii paşi de evaluare şi de optimizare
executaţi ce au dus la creşterea performanţei deosebite a motorului de simulare.
19
Simulatorul include componentele prezentate în Figura 4.1 ce permit modelarea corectă a unei game variate de
sisteme distribuite. Un prim set de componente a fost creat pentru descrierea resurselor fizice ale sistemelor
distribuite simulate. Cea mai mare componentă este reprezentată de centrul regional, ce înglobează o fermă de
noduri de procesare (unităţi CPU), servere de baze de date cu suport pe diverse medii de stocare, precum şi una
sau mai multe reţele (LAN-uri sau WAN-uri). Un alt set de componente este folosit pentru descriea
comportamentului aplicaţiilor şi a interacţiunii acestora cu utilizatorii. Aceste componente sunt reprezentate de
„Utilizatori” şi „Activităţi”, obiecte ce sunt folosite pentru generarea de activităţi de procesare pe baza diverselor
scenarii. Sarcina de lucru reprezintă o altă componentă de bază ce este simulată cu ajutorul unui obiect activ şi
planificată spre executţie pe o unitate de procesare de către un obiect de tip „Planificator”.
Figura 4.1. Componentele modelului de simulare.
Unul dintre avantajele simulatorului MONARC 2 este reprezentat de uşurinţa în extindere şi acest lucru este
facilitat de abordarea unei structuri stratificate. Nivelele arhitecturii şi modul în care acestea sunt proiectate
pentru a interacţiona, atât între ele cât şi cu un instrument de monitorizare, sunt prezentate în Figura 4.2.
Figura 4.2. Arhitectura aplicaţiei de simulare MONARC 2.
La primul nivel al arhitecturii regăsim „motorul de simulare” ce furnizează proprietăţile de simulare bazată pe
evenimente. Nivelul înglobează componentele necesare gestionării evenimentelor de simulare, planificării
execuţiei task-urilor de simulare, gestionăroo ceasului logic de simulare. Cu alte cuvinte, nivelul furnizează toate
elementele ce constituie „motorul” din spatele experimentelor de simulare.
Următorul nivel conţine toate componentele de bază ale oricărui sistem distribuit (unităţi de procesare, sarcini de
lucru, baze de date, reţele, planificatpare, samd.). În vârful acestui nivel stau componentele create special pentru
anumite modele de sisteme distribuite. Acest nivel este necesar pentru experimente ce încorporează componente
specializate, precum modelarea activităţilor LHC. Toate aceste componente de simulare pot fi cu uşurinţă extinse
20
de către utilizator în funcţie de cerinţele diverselor experimente de simulare. Utilizatorii pot de asemenea să
extindă arhitectura prin introducerea unor noi componente.
Un alt nivel important este reprezentat de interacţiunea cu un instrument de monitorizare. Aplicaţiile de
monitorizare sunt folosite pentru generarea datelor de intrare ale diverse experimente sau pentru validarea
modelelor de simulare, iar rezultatele obţinute în simulare pot fi folosite în procesul decizional de control al
aplicaţiilor de monitorizare.
4.2.
Motorul de simulare
Nivelul de jos al arhitecturii aplicaţiei de simulare este reprezentat de motorul de simulare. Acesta este
responsabil cu gestionarea firelor de execuţie, a evenimentelor de simulare, a cozilor de evenimente şi cu
gestionarea mecanismului prin care task-urile interacţionează şi implementeată algoritmul de simulare bazată pe
evenimente discrete (DES).
Motorul de simulare furnizează un mecanism dedicat bazat pe semafoare pentru gestiunea obiectelor active (sau
task-uri). Acest mecanism foloseşte suportul nativ, superior în termeni de performanţă, al tehnologiei Java pentru
procesarea concurentă. Tehnologia Java furnizează câteva avantaje: suport nativ pentru multithreading,
paradigma programării orientate pe obiecte şi portabilitate. De altfel portabilitatea permite folosirea aplicaţiei de
simulare pe o mare varietate de platforme (sisteme mono sau multi-procesor rulând Linux, Solaris sau Windows).
Task-urile de simulare pot gestiona execuţia activităţilor de simulare sau pot reprezenta componente ale
sistemelor simulate. Un task de simulare reprezintă o entitate ale cărei proprietăţi se modifică dinamic în timp,
comportamentul acestuia fiind influenţat direct de evenimentele de simulare. În cadrul simulatorului task-urile
interacţionează prin schimburi de evenimente. Execuţia acestora este gestionată de către un planificator
centralizat dedicat. Acest planificatorul are rolul de a gestiona atât execuţia task-urilor, cât şi a evenimentelor de
simulare produse.
Pentru a elimina overhead-ul cauzat de crearea sau distrugerea firelor de execuţie motorul de simulare foloseşte
un pool de fire de execuţie. Atunci când un nou task este creat planificatorul preia din pool un fir de execuţie ce
este folosit pentru rularea execuţiei respectivului obiect activ. De asemenea, deoarece numărul de sarcini de
lucru simulate în cadrul unui scenariu poate fi relativ mare, am implementat şi o structură dedicată ce permite
reciclarea obiectelor active în scopul îmbunătăţirii eficienţei simulării (un pool de obiecte active). Resursele
partajate, precum unităţile de procesare sau legăturile de reţea, sunt modelate ca obiecte normale, însă accesul la
metodele acestora este sincronizat.
Figura 4.3. Gestiunea evenimentelor în motorul de simulare.
21
Pentru a permite comunicarea şi sincronizarea între obiectele active motorul de simulare foloseşte evenimente de
simulare. Task-urile de simulare şi evenimentele sunt coordonate de către planificatorul de simulare. Pentru
coordonare planificatorul foloseşte câteva structuri de date precum o coadă de task-uri curente, un pool de fire de
execuţie, o coadă de evenimente viitoare şi o alta conţinând evenimentele întârziate. Coada de evenimente
întârziate este folosită pentru gestiunea evenimentelor produse în trecut şi care nu au fost încă folosite, datorită
task-urilor destinatare ce nu le-au putut prelua de exemplu. Coada de evenimente viitoare este reumplută de către
task-urile ce produc evenimente. Din această coadă planificatorul preia evenimente în funcţie de ştampilele de
timp corespunzătoare acestora. La fiecare pas al simulării planificatorul extrage evenimente din coada de
evenimente având cea mai mică valoare a ştampilei de timp şi le livrează task-urilor destinatare corespunzătoare.
Un alt rol al planificatorului este de a gestiona ceasul logic al simulării ce întotdeauna avansează la valoarea
ştampilei de timp a evenimentelor curent procesate. lgoritmul executat de către planificator este reprezentat
schematic în Figura 4.3. Acest algoritm este deosebit de optimizat, minimizând la maxim timpul de execuţie al
planificatorului. De altfel motorul de simulare include diverse structuri de cozi de evenimente, aspect ce conduce
la minimizarea timpului necesar pentru efectuarea operaţiilor de gestiune a evenimentelor.
Mecanismul de întreruperi implementat în MONARC 2 este util pentru descrierea mecanismelor de partajare a
resurselor precum unităţi de procesare, memorii şi operaţii de intrare/ieşire între task-urile concurente.
Mecanismul de întreruperi este implementat folosind de asemenea evenimente de simulare. Figura 4.4 prezintă
modalitatea de funcţionare a acestui mecanism.
Figura 4.4. Mecanismul de întreruperi.
Atunci când o sarcină de lucru (Task1 în figură) porneşte se realizează o primă evaluare a timpului necesar
procesării acesteia (prima valoare TF1) şi obiectul activ răspunzător cu execuţia acesteia intră într-o stare de
aşteptare până la momentul respectiv sau până la apariţia unei întreruperi. Dacă pe aceeaşi resursă este pornită
execuţia unei noi sarcini de lucru (Task2) aceasta va cauza generarea unei întreruperi. Cum ambele sarcini
partajează aceeaşi resursă de procesare, timpii de terminare a execuţiei ambelor sarcini sunt reevaluaţi,
presupunând fie că partajează egal resursa, fie pe baza unei politici de priorităţi de execuţie (noua valoare TF1 şi
primul TF2). Acelaşi algoritm se aplică la terminarea execuţiei primei sarcini de lucru (Task1), caz în care se
generează o nouă întrerupere ce va cauza reevaluarea timpului necesar execuţiei celei de-a doua sarcini de lucru.
Motorul de simulare funizează de asemenea câteva distribuţii de probabilitate ce pot fi folosite pentru modelarea
comportamentului stocastic al sistemului simulat. Utilizatorul are de asemenea posibilitatea folosirii de noi
distribuţii de probabilitate conform necesităţilor scenariilor de simulare. Componentele simulate pot folosi
diverse astfel de distribuţii în diferite situaţii: utilizatorul poate de exemplu specifica folosirea unei distribuţii
pentru modelarea pierderii de pachete şi o altă distribuţie pentru oscilaţiile provocate în timpul de procesare de
diverse procese rulând în fundal.
O optimizare importantă a motorului de simulare este reprezentată de includerea de diverse structuri pentru
implementarea cozilor de evenimente. Minimizarea timpului de gestiune a evenimentelor de către planificator
este crucială în obţinerea unor performanţe adecvate modelării sistemelor de dimensiuni mari. Pentru aceasta
MONARC 2 adoptă folosirea mai multor structuri de ultimă generaţie pentru cozile de evenimente. Utilizatorul
poate alege între folosirea uneia dintre cele trei structuri predefinite, un vector sortat şi două structuri de tip
calendar queue (SNOOPy şi FELT), structuri ce sunt printre cele mai optime în termeni de performanţă existente
la ora actuală. De remarcat ar fi faptul că nici un alt instrument de simulare a sistemelor distribuite nu foloseşte
22
astfel de structuri avansate, cele mai avansate dintre acestea folosind cel mai mult structuri pe bază de arbori (de
exemplu SimGrid) pentru implementarea cozilor de evenimente.
4.3.
Componente de simulare
Componentele furnizate de MONARC 2 sunt folosite pentru modelarea atât a resurselor sisteme distribuite cât şi
a comportamentelor aplicaţiilor ce rulează pe astfel de sisteme. Pentru a furniza un cadrul generic, modelul de
simulare conţine componente ce modelează comportamentul diverselor resurse de procesare, de date, de reţea şi
pe cele ale diverselor activităţi corespunzătoare aplicaţiilor distribuite.
Arhitectura aplicaţiei de simulare este bazată pe modelul Centrului Regional. Centrul regional reprezintă un
obiect complex compozit ce conţine servere de date şi noduri de procesare, toate conectate prin intermediul unei
reţele locale. Un centru regional poate fi conectat cu alte centre prin intermediul ruterelor şi al reţelelor de mare
întindere. De asemenea un centru regional poate instanţia dinamic un număr de obiecte ce modelează utilizatori
şi activităţile acestora. Într-un centru regional maparea sarcinilor de lucru pe nodurile de procesare se realizează
conform unor scenarii de planificare.
Activitatea reprezintă utilizatorii sistemului modelat. Aceştia pot genera sarcini de lucru de procesare de date pe
baza unor scenarii. Fiecare centru regional poate avea una sau mai multe astfel de activităţi ce submit sarcini de
lucru. Entitatea farm gestionează nodurile de procesare ale centrului regional. Rolul acesteia este de a aştepta
submiterea de sarcini de lucru generate de activităţi si de a apela planificatorul adecvat pentru execuţia acestora.
Obiectul CPUUnit descrie comportamentul unei staţii de lucru aparţinând sistemului modelat. Acesta este
caracterizat printr-o cantitate de putere de procesare şi o cantitate de memorie. Modelarea ocupării memoriei
poate include un mecanism de paginare, aspect ce asigură modelarea corectă a comportamentului specific
diverselor sisteme de operare. Cantitatea de putere de procesare este alocată sarcinilor de procesare în funcţie de
un mecanism de priorităţi. Utilizatorul poate astfel specifica sarnici având priorităţi mai ridicate decât altele
pentru execuţie.
O extensie a unităţii de procesare este reprezentată de CPUCluster. Acest obiect modelează un cluster de unităţi
de procesare. În afară de puterea de procesare şi cantitatea de memorie disponibilă, el este caracterizat şi printr-o
cantitate de spaţiu de stocare. Această clasă include mecanismele modelării inclusiv a defectării diverselor
unităţi de procesare incluse. CPUCluster este adecvat pentru modelarea mediilor Grid de mare complexitate, în
timp ce CPUUnit este mai adecvat modelării sistemelor distribuite constând într-un număr redus de noduri.
4.3.1. Modelul sarcinilor de lucru
Modelul sarcinilor de lucru are rolul de a descrie diverse activităţi sau aplicaţii executate în sistemele distribuite
simulate. La baza modelului stă clasa Job ce descrie comportamentul generic al unui task distribuit. Conform
modelului, o sarcină de simulare poate fi procesată de către o unitate de procesare sau chiar de către însuşi
centrul regional. Cea de-a doua opţiune este folosită pentru modelarea unor acţiuni particulare ce fie nu necesită
executarea pe unităţi de procesare, fie sunt considerate a fi instanee şi nu ar trebui să afecteze comportamentul
altor sarcini rulând în acelaşi sistem. Exemple de astfel de acţiuni sunt crearea dinamică şi instanee a unei baze
de date, creare unui fişier sau instanţierea de trafic de fundal.
În cazul sarcinilor de lucru executate pe unităţi de procesare, planificatorul are rolul de gestiona a mapării
corecte între task şi resursă. Planificatorul foloseşte pentru aceasta două structuri: un pool de task-uri disponibile
şi o colecţie de sarcini aflate în aşteptarea planificării. Planificarea efectivă presupune extragerea unei sarcini de
lucru din pool şi executarea unui algoritm de planificare adecvat. Dacă decizia planificatorului este de execuţie
locală a sarcinii atunci acesta va extrage şi un task şi îi va asigna acestuia sarcina pentru execuţie. Task-ul va fi
mai departe responsabil cu execuţia respectivei sarcini, planificatorul doar monitorizând starea de execuţie.
Modelul sarcinii de lucru conţine un număr de parametrii ce sunt folosiţi pentru estimarea timpului necesar
execuţiei acesteia. Timpul necesar execuţiei unei operaţii de procesare este estimat pe baza unui număr de
atribute precum puterea de procesare cerută sau memoria necesară. În timpul execuţiei mecanismul de
întreruperi este folosit pentru asigurarea modelării dependeţei de procesare între task-urile concurente.
23
MONARC 2 include un număr de activităţi specifice sarcinilor de lucru predefinite. O astfel de activitate
presupune modelarea comportamentului de procesare de date. Aceasta modelează activitatea de procesare de
date pe baza unui număr de parametrii de intrare precum puterea de procesare necesară sau natura operaţiei de
procesare. O altă activitate este cea de transfer de mesaje. Aceasta foloseşte modelul de reţea al aplicaţiei de
simulare pentru simularea transmiterii de mesaje prin componente de reţea, folosind diverse protocoale de
comunicaţii. Activitatea de transfer poate fi folosită pentru modelarea atât a recepţiei mesajelor, cât şi a
transmiterii de mesaje pe reţea. Încă o activitate modelează comunicarea cu o bază de date. Această activitate
extinde comportamentul activităţii de transfer de mesaje pentru gestiunea transferului mesajelor între unitatea de
procesare şi o bază de date. Această activitate are rolul de a gestiuna limbajul de dialog cu baza de date,
conţinând metode pentru trimiterea de comenzi către baza de date şi a recepţiei răspunsurilor corespunzătoare.
Toate operaţiile furnizate de aceste sarcini de lucru sunt extensibile. Utilizatorul poate defini noi activităţi
pornind de la cele deja existente sau le poate combina în activităţi superioare compozite. Astfel de aspecte permit
modelarea unor activităţi precum transferul de date, urmate de procesarea acestora şi în final transferul înapoi al
rezultatelor obţinute.
Modelul de sarcină de lucru oferă posibilitatea modelării paradigmei de programare fork-join prin decompoziţia
sarcinilor. Sarcina de lucru simulată poate instanţia dinamic noi sarcini de lucru. Astfel, utilizatorul poate
specifica o situaţia în care o sarcină transferă o cantitate de date şi apoi crează un număr de task-uri paralele,
fiecare procesând un subset al datelor obţinute, iar în final rezultatele procesării sunt trimite înapoi de un alt task.
Sarcina de lucru poate specifica ce alte sarcini trebuie instanţiate şi executate după terminarea execuţiei sale.
Dependinţele sarcinilor de lucru pot fi specificate sub formă de arbori sau sub formă de grafuri aciclice (structuri
DAG). Formele de dependinţe sunt reprezentate în Figura 4.5.
Figura 4.5. Dependinţele sarcinilor de lucru.
În ceea ce priveşte performanţa de execuţie, modelul sarcinilor de lucru presupune că în oricare moment
procesarea sarcinilor rulând concurent pe o aceeaşi unitate de procesare sunt executate de un unic fir fizic de
execuţie. Această metodă de optimizare, unică aplicaţiei MONARC 2, are marele avantaj de a minimiza numărul
comutărilor de context, permiţând execuţia unor scenarii de mare complexitate. Această optimizare permite
atingerea unor performanţe superioare altor aplicaţii de simulare.
Figura 4.6. Performanţele superioare obţinute prin optimizările aplicate modelului de sarcini de lucru.
24
Testarea performanţelor modelului de sarcini de lucru a fost efectuată folosind câteva experimente adecvate
acestui scop. Rezultatele obţinute, prezentate în Figura 4.6, demonstrează superioaritatea performanţelor
modelului în termeni de întreruperi generate, timp de execuţie sau memorie folosită.
4.3.2. Modelul de date
MONARC 2 foloseşte un model de date specializat pentru simularea unei game variate de tehnologii de date, de
la baze de date până la sisteme de fişiere. În acelaşi timp modelul de date permite simularea unor sisteme de baze
de date de foarte mari dimensiuni. Modelul furnizează diverse mecanisme pentru accesul transparent la datele
simulate, un sistem de gestiune automată a datelor stocate şi o modalitate eficientă de gestiune a cantităţilor mari
de date.
Modelul de date include două elemente principale de stocare: serverul de baze de date şi centrul de stocare pe
benzi magnetice. Serverele de baze de date folosesc în acest model stocarea internă pe disc a datelor, în timp ce
centrele de stocare pe benzi magnetice reprezintă o componentă ce modelează stocarea de lungă durată pe benzi.
Utilizatorul are la dispoziţie posibilitatea de a modela interacţiunea cu astdel de entităţi. Modelul presupune şi un
mecanism de backup sub forma unui algoritm ce, în mod dinamic, poate fi folosit pentru mutarea datelor de pe
serverele de baze de date pe alte servere de stocare pe benzi magnetice pentru păstrarea îndelungată şi pentru
crearea de spaţiu pe disc. Pe lângă aceste două elemente modelul include de asemenea şi un catalog de date
folosit în diverse scopuri (replicare, optimizări de transfer de date, samd.). Toate componentele cuprinse în
model comunică între ele folosind modelul de reţea al aplicaţiei MONARC 2. Figura 4.7 prezintă componentele
modelului de date.
Figura 4.7 Componentele modelului de date.
Conform modelului datele sunt organizate în baze de date, formate din mai multe containere. Containerul pot fi
folosit pentru simularea unei game variate de tehnologii de organizare a datelor. De exemplu, containerele pot fi
vizualitate ca fişiere iar bazele de date ar putea reprezenta o structură de directoare; sau containerele pot
reprezenta i-nodurile unui sistem de fişiere Unix iar bazele de date pot modela numele de fişiere logice. Plaja de
scenarii ce pot fi simulate include până la modelarea unor tehnologii reale complexe de sisteme de baze de date,
pentru care containerele ar reprezenta segmentele bazelor de date.
Modelul de date include un mecanism adecvat pentru accesarea datelor bazat pe comunicaţie de tip client-server.
Timpul de răspuns al servelor este modelat conform unor funcţii bazate atât pe diverşi parametrii ai datelor
(paginaţie, dimensiunea obiectelor, accesul la containere, samd) cât şi pe caracteristici hardware (numărul de
cereri concurente şi limitări de lungime de bandă). Modelul include şi diferite politici pentru gestiunea stocării.
Serverele de date se înregistrează în catalogul de date ce poate fi folosit în diverse scopuri de către programul
modelat de utilizator.
MONARC 2 include de asemenea un model de sarcină de lucru ce implementează diversele operaţii de acces la
baze de date, JobDatabase. Acestă activitatea extinde funcţionalitatea sarcinii de transfer de date prin adăugarea
de noi metode pentru comunicaţia cu elementele de scocare. Operaţiile de acces la baza de date sunt realizate
folosind un protocol de tip client-server. Aceste operaţii pot fi de următoarele tipuri: scriere (write), citire (read)
şi o altă operaţie ce citeşte containere şi simultan realizează şi ştergerea acestora de pe spaţiul de stocare (get).
25
Modelul de date descrie corect diverse arhitecturi de sisteme DBMS şi modalităţi de proiectare a bazelor de date.
Acesta suportă modelarea arhitecturilor de baze de date de tip ierarhic, de reţea, relaţional, relaţional-obiectual şi
obiectual. În cazul modelului de date ierarhic datele sunt organizate sub formă de arbori. MONARC 2 oferă
suport pentru simularea acestui model prin folosirea construcţiile oferite de bazele de date şi containere. Fiecare
bază de date conţine o listă de containere şi fiecare container pot referi alte baze de date, ceea ce conferă suport
pentru modelarea suportului de organizare al datelor ierarhic. De exemplu, putem simula o bază de date care
stochează informaţii despre angajaţi precum nume, numărul de angajare, departament sau salariu. Putem de
asemenea include în simulare o altă bază de date ce stochează informaţii legate de copii angajaţilor, precum
nume şi data naşterii. În acest caz un câmp container al bazei angajaţilor ar putea adresa cea de-a doua bază de
date, formând o ierarhie arbore specifică modelului ierarhic. Relaţia părinte-copil one-to-many poate fi modelată
prin folosirea mai multor containere, fiecare indicând către alte baze de date copil. Modelul de simulare
furnizează de asemenea o structură de tip arbore R&B adecvată acestui model de organizare a datelor.
Modelul reţea reprezintă un model de baze de date conceput ca o modalitate flexibilă de reprezentare a
obiectelor şi a relaţiilor existente între acestea. Acest model permite fiecărei înregistrări să conţină mai multe
înregistrări de tip părinte sau copil, structura finală formând o latice. Modelul de date inclus în MONARC 2
suportă modelul reţea prin elementele de proiectare ale componentei container. În acest caz o mulţime poate fi
modelată ca o bază de date. Un container al bazei de date poate adresa o înregistrare părinte ce poate fi o altă
bază de date. Tipul de înregistrare membru este de asemenea modelat folosind containerul, legat de baza de date
ce defineşte rolul de membru. Un container al modelului de date poate aparţine de fapt mai multor bate de date şi
aceasta asigură rolul multiplu al unei înregistrări, conform cu modelul reţea de organizare.
Modelul relaţional al bazelor de date permite definirea de structuri de date, a operaţiilor de stocare şi regăsire a
informaţiei şi a constrângerilor de integritate. În cadrul acestui model datele şi relaţiile între acestea sunt
organizate sub formă de tabele. Modelul relaţional este bine mapat peste modelul de baze de date adoptat de
MONARC 2. Conform modelului adoptat o bază de date conţine un număr de containere, echivalente în simulare
ale unor înregistrări relaţionale. Containerele sunt grupate în baze de date ce sunt referite prin nume. Gruparea
containerelor în astfel de mulţimi modelează idea de coloane ale unei tabele. Fiecare astfel de mulţime este
definită printr-un nume cheie, corespunzător modului în care o coloană aparţinând unei tabele relaţionale este
definită printr-un nume. În interiorul fiecărei baze de date containerele sunt păstrate într-o structură vector ce
modelează modul în care înregistrările sunt ţinute în fiecare rând al tabelei. Această organizare a datelor permite
de asemenea modelarea proprietăţilor relaţiilor matematice corespunzătoare modelului relaţional. Cheie din
modelul relaţional sunt simulate prin folosirea unor containere ce adresează înregistrări din alte baze de date.
Limbajul de manipulare a datelor din modelul de date este la rândul său asemănător limbajului SQL, limbajul
standard al bazelor de date relaţionale.
Un sistem de gestiune a bazelor de date obiectual-relaţionale (ORDBMS) adaugă sistemelor relaţionale noi
capabilităţi de stocare a obiectelor. Modelul de date adoptat de MONARC 2 permite simularea corectă a acestor
tipuri de sisteme deoarece containerele sunt definite pentru a stoca informaţii sub formă de obiecte. Această
caracteristică asigură modelarea corectă a modelelor de baze de date relaţional-obiectuale.
O bază de date orientată obiect presupune stocarea informaţiei sub formă de obiecte. Atunci când proprietăţile
bazelor de date sunt combinate cu cele ale limbajelor de programare obiectuală rezultatul este reprezentat de
obţinerea unui sistem de gestiune a bazelor de date obiectual (ODBMS). Modelul de date adoptat în MONARC 2
este potrivit simulării unor astfel de sisteme. Containerele simulate permit maparea unu-la-unu a obiectelor Java
pe obiectele ce modelează componentele bazelor de date.
Modelul de baze de date adoptat în MONARC 2 permite descrierea diverselor modele de baze de date. Pentru a
exemplifica, în cazul experimentelor de simulare ce au modelat activităţile de fizică LHC, modelul a fost cu
succes folosit pentru simularea corectă a modelului Objectivity/DB adoptat la CERN. O bază de date ce
foloseşte acest model furnizează o vedere logică unică asupra întregului ansamblu de baze de date constituente
prin folosirea unui model de calcul distribuit ce are rolul de a uni o bibliotecă software de aplicaţia clientului.
Modelul de date adoptat în MONARC 2 simulează corect această arhitectură, furnizând o modalitate eficientă de
a descrie sisteme de baze de date de foarte mare întindere, conţinând un număr mare de obiecte stocate. Modelul
emulează factori de grupare pentru diverse modele de acces. Bazele de date simulate pot fi grupate în federaţii,
fiecare posibil situată în alte centre regionale. Procedura de blocare a containerelor, caracteristică modelului
26
Objectivity, este adoptată şi de modelul de simulare. Un container înglobează un mecanism de blocare,
permiţând simularea de diverse proceduri de consistenţă a acceselor concurente la date.
MONARC 2 permite modelarea unei game largi de sisteme de gestiune a datelor, de la procesarea datelor
conform modelelor adoptate de experimentele LHC până la sisteme de fişiere şi verificarea unor tehnologii de
replicare de date.
4.3.3. Modelul de reţea
MONARC 2 permite modelarea traficului de date folosind o mare varietate de protocoale de reţea şi componente
specifice atât reţelelor LAN, cât şi celor de tip WAN. Modelarea traficului acoperă mai multe aspecte. În cazul
unor cantităţi mari de date şi fără o cunoaştere precisă a infrastructurii de reţea, cum este cazul sistemelor Grid,
simularea traficului la nivel de pachete ar fi practic imposibilă (aspect demonstrat în [Riley, et al, 2002]).
MONARC 2 oferă posibilitatea ascunderii traficului de pachete în cazul unor experimente de mare anvergură
prin folosirea de funcţii pentru evaluarea lungimii de bandă ocupate. Simulatorul include de altfel un set bogat de
astfel de funcţii şi oferă şi utilizatorului posibilitatea definirii propriilor sale proceduri. În acelaşi timp, în cazul
unor reţele de mai mică întindere, MONARC 2 este capabil să modeleze traficul de date la nivel de pachete.
Acest aspect este deosebit de util în testarea unor protocoale de reţea. Aceste abordări permit folosirea aplicaţiei
de simulare pentru modelarea unui număr considerabil de scenarii, de la testarea sistemelor de mare întindere
până la validarea unor protocoale.
Figura 4.8. Mecanismul de întreruperi folosit de modelul de reţea.
Modelul de reţea furnizează un mecanism adecvat pentru descrierea transferurilor concurente. Pentru simularea
traficului de date modelul foloseşte o schemă bazată pe întreruperi, similar celei folosite de către motorul de
simulare. Cu fiecare întrerupere sistemul reevaluează timpul de terminare al transferului ca funcţie de lungimea
de bandă şi de protocolul folosit. Lungimea de bandă folosită de un transfer depinde de existenţa altor transferuri
concurente. În cazul concurenţei lungimea de bandă ocupată efectiv de un transfer este evaluată prin folosirea
uneia dintre cele două proceduri furnizate de MONARC 2. Utilizatorul are de asemenea posibilitatea definirii
propriei proceduri de calcul a lungimii de bandă.
Pentru descrierea variaţiilor de viteză a transferurilor la nivel de eveniment (modelarea mecanismelor de
fereastră de exemplu) modelul presupune folosirea de diverse distribuţii de probabilitate. Acestea pot fi folosite
la generarea artificială de întreruperi, mecanism util pentru implementarea unor reevaluări continue a vitezelor
de transfer adecvate pentru simulări la nivel de protocol sau pentru generarea de trafic de fundal.
Componentele ce fac parte din modelul de reţea sunt prezentate în Figura 4.9. Aceste componente sunt proiectate
pentru a modela o mare varietate de posibile arhitecturi de reţele şi de protocoale, dar sunt în mod special
adecvate modelării comportării protocoalelor corespunzătoare stivei TCP/IP.
27
Figura 4.9. The components of the network model.
Arhitectura corespunzătoare modelului de reţea se bazează pe câteva nivele. Primul nivel este reprezentat de
componentele ce modelează diverse arhitecturi de reţele fizice: interfeţe de reţea, reţele de tip WAN, reţele de tip
LAN şi rutere. Cel de-al doilea nivel modelează comportamentul datelor schimbate prin reţea. Modelul
presupune încapsularea datelor sub formă de mesaje, similar împachetării PDU-urilor. Transferul unui mesaj este
modelat prin folosirea evenimentelor de simulare: task-ul sursă produce un eveniment conţinând datele
transferate, eveniment ce este livrat de planificator task-ului destinaţie al mesajului de la celălalt capăt al
transmisiei. Cel de-al treilea nivel cuprinde componente specifice protocoalelor de transfer. Aceste componente
implementează procedurile folosite pentru controlul transferurilor de date prin reţeaua simulată. Clasa Protocol
de bază are rolul la acest nivel de a implementa comportamentul stivei de reţea. Modelul include două extensii
ale acestei clase ce modelează comportarea specifică protocoalelor TCP, respectiv UDP. Toate aceste
componente sunt uşor de extins chiar de către utilizator. Cel de-al patrulea nivel este reprezentat de aplicaţiile ce
folosesc mecanismul de comunicaţie prin schimb de mesaje. La acest nivel modelul de reţea consideră existenţa
unor sarcini de lucru ce modelează activităţi de trimitere/primire de mesaje. Pentru a folosi suportul de reţea
sarcinile de lucru comunică direct cu componenta de intrare a modelului de reţea, şi anume interfaţele de reţea
ale unităţilor de procesare. În acest caz mesajul este schimbat numai între două astfel de interfeţele de reţea.
Majoritatea resurselor simulate (servere, unităţi de procesare, samd) includ o astfel de componentă în modelul de
simulare. O interfaţă de reţea este unic identificată pe baza unei scheme de adresare similară formatului folosit
pentru adresele Ipv4 (pe 32 de biţi). Adresele de reţea sunt folosite de către sarcinile de lucru pentru specificarea
destinaţiei de livrare a mesajelor. Pentru a furniza suport pentru multiplexare un mesaj poate de asemenea să
specifice şi un port destinaţie. O sarcină de lucru ce ascultă pentru primirea de mesaje poate sau nu să asculte pe
un astfel de port. Procedura aceasta de transfer este similară celor din reţele reale.
Figura 4.10. Performanţele superioare obţinute prin optimizările aplicate modelului de reţea.
Ca o optimizare, modelul de reţea consideră că trimiterea tuturor mesajelor generate de către o aceeaşi unitate de
procesare este gestionată de către un singur fir fizic de execuţie. Această optimizare minimizează numărul firelor
de execuţie necesare conducerii unor experimente de mare amploare ce implică multe aplicaţii rulând pe aceeaşi
staţie, fiecare accesând reţeaua, la unul singur. Aceeaşi optimizare se aplică şi activităţilor de recepţie de mesaje.
Aceste două optimizări au condus la opţinerea unor performanţe superioare altor aplicaţii de simulare. Pentru a
28
ilustra mai bine câştigul de performanţă am executat un număr de experimente de simulare. Rezultate obţinute,
prezentate în Figura 4.10, demonstrează superioaritatea performanţelor modelului în termeni de întreruperi
generate, timp de execuţie sau memorie folosită.
4.4.
Teste de evaluare
Evaluarea simulatorului MONARC 2 a urmărit două direcţii principale: validarea corectitudinii modelului şi
implementării aplicaţiei de simulare şi testarea performanţelor acesteia. Pentru aceasta au fost construite o serie
de experimente de simulare ale căror rezultate au fost folosite constant în procesul de proiectare şi implementare
a aplicaţiei.
4.4.1. Validarea folosind teoria cozilor
Formalismul furnizat de modelele matematice caracteristice teoriei cozilor reprezintă un instrument important în
definirea şi validarea modelelor de simulare stocastice. Acesta furnizează un model analitic util pentru testarea
gradului de hazard introdus de diverse distribuţii matematice. Modelele teoriei cozilor descriu comportarea
acelor sisteme în care clienţii intră, aşteaptă o perioadă de timp şi apoi pleacă. Experimentele elaborate pentru
testarea validităţii aplicaţiei de simulare pe baza acestui formalism au presupus existenţa unei singure unităţi
computaţionale pe care rulau un număr de sarcini de procesare. Pe baza distribuţiilor folosite în construcţia
acestor experimente au fost simulate următoarele modele de cozi:
•
Modelul M/D/1: În acest experiment timpii de pornire ai sarcinilor de procesare sunt distribuiţi conform
unei distribuţii Poisson. Sarcinile de lucru sunt procesate într-un interval de timp având o valoare constantă.
•
Modelul M/M/1: În acest experiment timpii de pornire ai sarcinilor de lucru sunt din nou distribuiţi
exponenţial. În plus timpii de servire sunt de această dată distribuiţi conform unei distribuţii Poisson.
Pentru a valida modelul de simulare adoptat în MONARC 2 am comparat valorile teoretice şi cele experimentale
obţinute pentru numărul mediu de clienţi (sau sarcini procesate în aceste experimente) şi timpul mediu de
staţionare. În cadrul experimentelor am testat două combinaţii de valori (λ, μ), atât în cazul experimentelor
M/M/1 (Tabelul 4.1), cât şi în cel al experimentelor M/D/1 (Tabelul 4.2).
E(L),
rezultate
teoretice
E(L), rezultate
experimentale
(10.000 de
activităţi)
E(L), rezultate
experimentale
(20.000 de
activităţi)
E(S),
rezultate
teoretice
E(S), rezultate
experimentale
(10.000 de
activităţi)
E(S), rezultate
experimentale
(20.000 de
activităţi)
0,5 1
0,75
0,7402
0,7538
1,5
1,4944
1,5023
1,5 2
1,875
1,8402
1,8978
1,25
1,231
1,2604
λ Μ
Tabelul 4.1. Rezultatele teoretice vs. cele obţinute în simulare pentru modelul de cozi M/D/1.
E(L),
rezultate
teoretice
E(L), rezultate
experimentale
(10.000 de
activităţi)
E(L), rezultate
experimentale
(20.000 de
activităţi)
E(S),
rezultate
teoretice
E(S), rezultate
experimentale
(10.000 de
activităţi)
E(S), rezultate
experimentale
(20.000 de
activităţi)
0,5 1
1,0
1,0165
1,0025
2,0
2,0330
2,0050
1,5 2
3,0
3,1012
3,0726
2,0
2,0686
2,0456
λ Μ
Tabelul 4.2 Rezultatele teoretice vs. cele obţinute în simulare pentru modelul de cozi M/M/1.
29
După cum se observă, valorile obţinute pentru numărul mediu de clienţo şo pentru timpul mediu de staţionare
sunt apropiate de valorile teoretice calculate. Rezultatele acestor experimente demonstrează validitatea
modelului de simulare prin comparaţie cu un model analitic. Similaritatea între rezultatele obţinute creşte
proporţional cu numărul de sarcini de lucru. Prin urmare putem concluziona că modelul este adecvat îndeosebi
modelării sistemelor de mari dimensiuni formate din multe resurse şi activităţi.
4.4.2. Validarea folosind sisteme de test
Validarea aplicaţiei de simulare a fost efectuată şi prin folosirea unor sisteme de test. În cazul acestor
experimente s-a urmărit îndeosebi studierea validităţii, eficienţei şi a comportamentului modelelor de simulare
folosite prin construirea unor sisteme de test ale căror caracteristici puteau fi uşor modelate. Aceste experimente
au urmărit validarea aplicaţiei de simulare prin execuţia unor scenarii ce modelează caracteristicile sistemelor de
test reale şi prin compararea rezultatelor obţinute cu valorile monitorizate ale comportării sistemelor reale.
Un prim astfel de experiment a urmărit testarea modelului de date folosit în MONARC 2, în special a serverelor
de baze de date şi a interacţiunilor acestora cu potenţiali clienţi. Rezultatele obţinute în acest experiment de
simulare (Figura 4.11) reproduc corect măsurările reale efectuate asupra sistemului de test folosit. Aceste
rezultate s-au dovedit utile şi pentru calibrarea parametrilor aplicaţiei de simulare în scopul furnizării unui model
cât mai corect. Un rezultat important obţinut în acest experiment îl reprezintă validarea modelului sarcinilor de
lucru. În experiment simulatorul MONARC 2 s-a dovedit capabil de a reproduce corect caracteristice reale ale
sarcinilor de lucru folosite pentru accesarea bazei de date în sistemele de test, aspect ce dovedeşte capacitatea
aplicaţiei de a modela accesul concurent la unităţi de procesare şi la fişierele bazelor de date. Timpii de execuţie
în simulare ai sarcinilor de lucru s-au dovedit de asemenea similari celor obţinuţi în sistemul real de test folosit.
Figura 4.11. Timpii de execuţie ai sarcinilor de lucru în simulare (stânga) şi în sistemul real folosit (dreapta).
O serie de alte experimente au fost de asemenea efectuate şi pentru validarea modelului de reţea folosit în
MONARC 2. Rezultatele obţinute s-au dovedit de asemenea apropiate valorilor măsurate în sistemele reale de
test folosite, aspect ce demonstrează corectitudinea modelului adoptat în cadrul simulatorului. Experimentele au
reliefat printre altele necesitatea introducerii în modelul de simulare a câtorva aspecte ce afectează corectitudinea
simulării transferurilor de date: încărcarea caracteristică protocoalelor de comunicaţie folosite, fluctuaţiile de
trafic ce afectează parametrii controlului fluxului de date, caracteristicile protocoalelor aplicaţiilor modelate,
viteza reţelei şi capacitatea sistemelor de a o folosi, întârzierile pe reţea. Rezultatele obţinute au demonstrat
necesitatea încorporării tuturor acestor aspecte în modelul de simulare, ele fiind ulterior incluse în simulator.
4.4.3. Performanţa motorului de simulare
Performanţa motorului de simulare a fost evaluată printr-o serie de experimente ce au avut ca scop testarea
capacităţii aplicaţiei de simulare de a modela experimente de mari dimensiuni, incluzând un mare număr de
activităţi rulând într-un mediu concurent format din multe resurse. Pentru validarea rezultatelor obţinute în urma
acestor experimente, acestea au fost conduse pe mai multe platforme de operare.
30
Primele experimente din acestă serie, testarea întreruperilor, au urmărit evaluarea intervalului de timp necesar
procesării în simulare a unui mare număr de întreruperi. Scenariul de simulare propus foloseşte un număr de
N sarcini de lucru ce sunt submise spre execuţie într-un sistem constând dintr-o singură unitate de procesare. În
acest caz numărul de întreruperi create este de N * ( N − 1) . Pe baza acestui scenariu au fost rulate patru
experimente de simulare, fiecare implicând diferite valori pentru numărul sarcinilor de lucru procesate concurent
(şi implicit valori diferite de întreruperi generate în experimente).
Timpul de simulare obţinuţi în cele patru experimente sunt prezentaţi în Figura 4.12. Rezultatele obţinute
demonstrează capacitatea aplicaţiei de simulare de a gestiona modelarea unor scenarii de mare complexitate,
implicând un număr impresionant de resurse şi activităţi rulând concurent.
Figura 4.12. Rezultatele obţinute în experimentele de testare a întreruperilor.
Un alt experiment ce a urmărit testarea performanţelor motorului de simulare a fost testul firelor de execuţie
concurente. Acest experiment a urmărit evaluarea numărului maxim de sarcini de procesare concurente ce pot fi
simulate şi estimarea creşterii timpilor de execuţie ai experimentelor în raport de numărul de sarcini concurente
folosite. Scenariul de simulare a presupus folosirea unui număr de sarcini de lucru rulând pe unităţi de procesare
distincte. Pentru a evalua limita firelor de execuţie ce pot fi gestionate corect de aplicaţia de simulare seria de
experimente realizate a presupus creşterea graduală a sarcinilor folosite de la 1 la 10.000. Rezultatele obţinute,
prezentate în Figura 4.13, demonstrează capacitatea aplicaţiei de simulare de a gestiona corect un număr mare de
fire de execuţie executate în paralel, similar situaţiei modelării unor scenarii de mare complexitate.
Time [s]
4000.00
3500.00
Sun Enterprise 420R, Solaris 7
2X2.4GHz, Linux 2.4
3000.00
2X2.6GHz, Linux 2.6
2GHz, Linux 2.4
2500.00
2GHz, linux 2.6
2000.00
2X3GHz, Windows XP
1500.00
1000.00
500.00
0.00
1
10
100
1000
2000
4000
8000
10000
No. of simultaneous threads
Figura 4.13 Results for the simultaneous threads test.
Aceste experimente au demonstrat capacitatea aplicaţiei de simulare de a modela corect chiar şi situaţii extreme
precum simularea unor scenarii implicând un număr foarte mare de întreruperi generate şi fire de execuţie rulând
31
în paralel. Numărul firelor de execuţie are cel mai mare impact asupra performanţelor aplicaţiei, atât asupra
timpului de execuţie cât şi asupra consumului de memorie. Limitările sunt impuse doar de resursele fizice ale
sistemelor pe care rulează diversele experimente de simulare. Simulatorul MONARC 2 este capabil de a simula
sisteme de mare întindere, împlicând un număr mare de resurse şi de aplicaţii, similar unor sisteme Grid reale.
4.5.
Experimente de simulare
Evaluarea capacităţii aplicaţiei de simulare de a modela corect diverse tehnologii Grid a fost realizată într-o serie
de experimente prezentate în această secţiune. Aceste experimente sunt importante deoarece ele au demonstrat
posibilitatea modelării unui mare număr de situaţii şi tehnologii, de la diverse arhitecturi de sisteme distribuite şi
până la testarea unor algoritmi de planificare sau de replicare de date sau chiar tehnologii de transfer de date.
4.5.1. Experimente de modelare a planificării
Experimentul prezentat în această secţiune a urmărit testarea modelării unui algoritm distribuit de planificare de
sarcini. Scopul experimentului a fost acela de a demonstra capacitatea aplicaţiei de simulare de a modela diverse
tehnologii de planificare în sisteme distribuite.
Scenariul de simulare folosit a presupus folosirea unui număr de centre regionale, fiind încorporând o
componentă locală de planificare ce asignează sarcini de lucru spre execuţie pe resursele de procesare existente
local. Acest experiment a folosit un planificator rulând un algoritm propriu de test. Conform acestui algoritm,
atunci când toate resursele de procesare din centrul local sunt ocupate peste o anumită valoare de încărcare
planificatorul încearcă trimiterea noilor sarcini de lucru create pentru execuţie în alte centre regionale. Alegerea
centrului regional unde o sarcină este trimisă într-o astfel de situaţie se realizează pe baza valorii medii de
încărcare publicată de fiecare centru. Experimentul a presupus existenţa unui număr n de centre regionale (în
practică valorile alese au fost n =1, 2, 4 şi 6) având configuraţii similare, fiecare procesând un anumit număr de
sarcini pe zi. Rata de creare a sarcinilor de lucru depinde de perioada din zi. Acest aspect, corelat cu alegerea
poziţiilor centrelor în diverse zone de timp, duce la apariţia exportului de sarcini către alte centre regionale ce
rulează mai puţine activităţi. Seria de experimente a presupus varierea atât a numărului de unităţi de procesare
existente în fiecare centru cât şi a capacităţilor reţelelor locale fiecărui nod de procesare.
Figura 4.14. Rezultatele obţinute prin varierea numărului de unităţi de procesare.
32
Figura 4.14 prezintă rezultatele obţinute prin varierea numărului de unităţi de procesare implicate. După cum se
poate observa timpul de procesare şi utilizarea unităţilor de procesare tind să crească odată cu decreşterea
numărulu de unităţi implicate de la 100 la 40. Atunci când sunt folosite mai puţine unităţi de procesare, acestea
sunt folosite mai intens, dar în acelaşi timp rata de utilizare nu atinge niciodată 100% din cauza timpului ocupat
de transferurile de date.
Figura 4.15 prezintă rezultatele obţinute într-o serie de experimente ce au implicat folosirea unor diverse
capacităţi de transfer pentru componentele de reţea. Figura compară timpul mediu de procesare cu valorile
lungimilor de bandă asumate de scenariile folosite. După cum se poate observa, limitarea lungimii de bandă
disponibilă duce la creşterea timpului necesar procesării datelor. Această condiţie duce în cele din urmă la
degradarea drastică a performanţelor sistemului, aspect reliefat şi de rezultatele obţinute.
Figura 4.15. Rezultatele obţinute prin varierea lungimii de bandă folosite.
Aceste experimente de simulare au demonstrat capacitatea aplicaţiei de simulare MONARC 2 de a include noi
proceduri de planificare. Simulatorul MONARC 2 se dovedeşte un instrument deosebit de util în analizarea
eficienţei unor algoritmi de planificare, astfel de experimente ducând la diagnosticarea facilă a unei game largi
de probleme şi chiar la aspecte de proiectare precum aflarea capacităţii optime a sistemelor ce folosesc algoritmii
de planificare testaţi pentru obţinerea celor mai bune rezultate în materie de performanţă.
4.5.2. Experimente de modelare a replicării de date
Optimizarea folosirii resurselor Grid reprezintă un aspect în care simularea joacă un rol important. Simulatorul
MONARC 2 oferă capacitatea de simulare realistică de diverse strategii de optimizare a replicării de date iar
rezultatele obţinute în experimentele prezentate în această secţiune vin să demonstreze această afirmaţie.
Capacitatea de testare a efectelor unor strategii de optimizare a replicării de date este de altfel demonstrată şi de
comunitatea de utilizatori ai instrumentului de simulare. De exemplu, în [Lin, 2005] şi [Lin, et al, 2006],
simulatorul a fost cu succes folosită pentru ilustrarea posibilităţii de a încorpora în modelul de simulare o nouă
abordare în replicare prin folosirea unui model de economie de piaţă.
Experimentul prezentat în această secţiune a urmărit testarea influenţei politicii de acces a datelor asupra
performanţelor de execuţie ale unui sistem distribuit ce implică şi replicare de date. Scenariul a presupus
existenţa a două centre regionale, fiecare conţinând o cantitate de date replicate, şi a unui număr de opt centre
regionale satelit. Centrele regionale satelit rulează câteva activităţi de procesare ce presupun transferul
cantităţilor de date (evenimente) ce sunt procesate de la serverele replicate. În aceste experimente au fost
modelate două situaţii: sarcina de lucru poate folosi un algoritm inteligent pentru găsirea celei mai optime locaţii
de unde se transferă datele sau poate folosi o decizie arbitrară pentru aceasta. Rezultatele obţinute au presupus
comparea rezultatelor obţinute în cele două situaţii.
33
Figura 4.16. Rezultatele obţinute pentru timpii de
răspuns ai sarcinilor de lucru.
Figura 4.17. Rezultatele obţinute în cazul numărului de
evenimente procesate pe secundă.
Primele experimente bazate pe acest scenariu au presupus că cele două servere sunt conectate prin legături de
date având aceleaşi lungimi de bandă. Figura 4.16 prezintă o comparaţie a rezultatelor obţinute în cele două
experimente în cazul timpilor de răspuns ai execuţiei sarcinilor de lucru. Rezultatele prezentate demonstrează
utilitatea folosirii deciziilor de balansare a încărcării transferurilor. Figura 4.17 prezintă o comparaţie a
rezultatelor obţinute în cazul numărului de evenimente procesate pe secundă în fiecare caz.
Într-o altă serie de experimente condiţiile de rulare au fost modificate astfel încât un server de date să fie servit la
o capacitate dublă faţă de celălalt. Figura 4.18 prezintă o comparaţie a rezultatelor obţinute în aceste experimente
pentru timpii de răspuns ai execuţiei sarcinilor de lucru. Chiar dacă decizia de balansare a încărcării traficului s-a
dovedit mai utilă şi în aceste experimente, rezultatele obţinute în urma folosirii deciziei arbitrare se dovedesc
mai bune decât în primele experimente. Aceasta se explică prin aceea că algoritmul de balansare se bazează pe
condiţiile sistemului la momentul începerii transferului, ceea ce poate duce la timpi de răspuns defavorabili dacă
în timpul transferului condiţiile suferă modificări. O aceeaşi concluzie se poate obţine din analiza rezultatelor
obţinute în cazul numărului de evenimente procesate pe secundă în cele două experimente (Figura 4.19).
Figura 4.18. Rezultatele obţinute pentru timpii de
răspuns ai sarcinilor de lucru.
Figura 4.19. Rezultatele obţinute în cazul numărului de
evenimente procesate pe secundă.
Rezultatele obţinute demonstrează importanţa algoritmilor de acces la datele replicate ce pot influenţa dramatic
performanţele tehnologiilor de replicare a datelor. Scenariile folosite seamănă cu multe situaţii întâlnite în viaţa
reală. Rezultatele demonstrează că folosirea unor decizii bazate pe localizarea datelor nu reprezintă întotdeauna
soluţii corecte, fiind nevoie de folosirea proximităţii datelor în combinaţie cu soluţii de balansare a încărcării.
34
4.5.3. Experimente de modelare a transferurilor de date
În această secţiune prezentăm un experiment ce ilustrează capacitatea aplicaţiei de simulare de a modela diverse
tehnologii şi protocoale de transfer. Scenariul folosit presupune existenţa unui server central ce stochează un
număr de evenimente şi existenţa unui număr de sarcini de procesare. Fiecare sarcină de procesare presupune
transferul datelor necesare de la serverul central prin intermediul unui protocol de transfer similar FTP-ului.
Conform acestui scenariu, serverul trimite câte un fişier conţinând evenimente de procesare fiecărei sarcini în
vederea prelucrării acestora. Folosind acest scenariu am simulat un număr de situaţii implicând diverse valori de
sarcini de procesare existente. Experimentele au urmărit testarea comportării sistemului atunci când sunt
adăugate noi staţii de procesare şi reacţia sistemului în faţa limitărilor conectivităţii.
Figura 4.20 prezintă rezultatele obţinute pentru numărul de evenimente procesate pe secundă în cazul acestor
experimente. Rezultatele au fost obţinute pentru experimente implicând una, şi apoi două, sarcini de lucru
prelucrate pe fiecare unitate de procesare (cele două linii). Figura 4.21 prezintă rezultatele obţinute în aceste
experimente pentru utilitarea unităţilor de procesare. După cum se poate observa, utilizarea scade prin adăugarea
de noi unităţi de procesare, aspect ce vine de altfel în sprijinul rezultatelor teoretice şi care demonstrează
validitatea modelului de reţea folosit.
Figura 4.20. Rezultatele obţinute pentru numărul de
evenimente procesate pe secundă.
Figura 4.21. Rezultatele obţinute pentru utilizarea
unităţilor de procesare.
O serie de experimente ulterioare a presupus limitarea numărului de conexiuni simultane acceptate de server.
Limitarea impusă reflectă o serie de cazuri reale (în general administratorii de sisteme impun astfel de limitări
pentru evitarea unor probleme precum sugrumarea resurselor). Figura 4.22 prezintă rezultatele obţinute în aceste
experimente pentru cazul numărului de evenimente procesate pe secundă. După cum se poate observa există o
limită în care valorile obţinute ating un maxim. Aceasta înseamnă că prin adăugarea de noi unităţi de procesare
în scenariul de simulare obţinem valori mai scăzute ale performanţei din cauza gâtuirii resurselor.
Figura 4.22. Rezultatele obţinute pentru numărul de
evenimente procesate pe secundă.
Figura 4.23. Rezultatele obţinute pentru utilizarea
unităţilor de procesare.
Aceste experimente demonstrează capacitatea aplicaţiei de simulare de a modela diverse tehnici de transfer a
datelor, precum cazul modelării unui protocol de transfer similar protocolului FTP. Rezultatele obţinute au
35
demonstratat existenţa unei valori optimale a numărului de unităţi de procesare folosite, valoare ce depinde de
capacitatea serverului de a gestiona cererile de transfer, precum şi de numărul sarcinilor de lucru ce rulează
concurent pe nodurile de procesare existente.
5. EXPERIMENTE DE SIMULARE CE FOLOSESC MONITORIZAREA
Domeniul monitorizării a fost intens folosit în validarea şi în proiectarea aplicaţiei de simulare. Tehnologiile de
monitorizare au fost folosite în special pentru obţinerea informaţiilor de stare în cazul sistemelor de test folosite
şi în comparaţiile implicând sisteme reale. Experimentele prezentate în această lucrare au modelat cazuri de
sisteme reale iar caracteristicile scenariilor folosite s-au bazat pe informaţiile culese folosind monitorizarea.
Rezultatele obţinute în experimentele de simulare au fost intens folosite ca o modalitate de prezicere a
comportării viitoare a diverselor sisteme şi tehnologii testate.
5.1.
MonALISA
Aplicaţia de monitorizare MonALISA, Monitoring Agents using a Large Integrated Services Architecture,
reprezintă unul dintre instrumentele importante în domeniu ce a fost dezvoltat în cadrul unei colaborări
implicând şi Universitatea Politehnică din Bucureşti. MonALISA ca instrument de monitorizare a fost intens
folosit în relaţie cu MONARC 2, autorul fiind membru şi în echipa de dezvoltare a aplicaţiei de monitorizare.
Astfel multe dintre experimentele de simulare prezentate în această lucrare au la bază condiţii de lucru ale
sistemelor reale ce au fost obţinute prin folosirea aplicaţiei de monitorizare. Rezultatele obţinute în urma
diverselor experimente de simulare au furnizat informaţii valoroase ce au fost folosite în implementarea
diverselor funcţionalităţi de control furnizate de MonALISA. Caracteristicile componentelor de simulare au fost
influenţe în bună măsură de caracteristicile observate prin monitorizarea sistemelor reale echivalente.
Figura 5.1. MonALISA ca aplicaţie de monitorizare a sistemelor Grid.
Aplicaţia de monitorizare MonALISA este curent folosită pentru monitorizarea multor sisteme Grid din S.U.A,
Europa şi Asia. MonALISA furnizează informaţii complete, aproape în timp real, legate de starea resurselor şi de
execuţia diverselor activităţi în astfel de sisteme. Instrumentul de monitorizare furnizează informaţii de trafic în
cele mai importante reţele din lume şi informaţii legate de conectivitate între multe noduri Grid. La ora actuală
peste 250 de organizaţii folosesc MonALISA. Sistemul colectează informaţii în timp real pentru aproximativ
250.000 de parametrii cu o rată de peste 25.000 de valori actualizate în fiecare secundă, monitorizând
aproximativ 12.000 de staţii de lucru, 100 reţele de mare întindere şi sute de activităţi rulând concurent în diverse
sisteme Grid. Comunităţile majore ce se bazează pe MonALISA pentru suportul de monitorizare oferit cuprind
36
printre alte OSG, CMS, ALICE, D0, STAR, VRVS, LCG Russia, SE Europe GRID, APAC Grid, UNAM Grid,
ABILENE, ULTRALIGHT, GLORIAD, LHC Net şi RoEduNet.
MonALISA reprezintă un instrument important de monitorizare ce a fost folosit intens în procesele de proiectare
şi validare ale simulatorului MONARC 2. Pentru furnizarea unui model de simulare robust fiecare componentă a
aplicaţiei de simulare a fost proiectată pornind de la seturi de observaţii obţinute în sisteme reale. De la tipurile
de componente caracteristice diverselor sisteme Grid şi până la caracteristicile funcţionale şi parametrii de
intrare consideraţi pentru diversele componente încorporate în modelul de simulare, toate aceste informaţii au
fost obţinute prin folosirea aplicaţiei MonALISA. De altfel MonALISA a fost folosită şi în construcţia unor
condiţii reale de simulare în cazul experimentelor prezentate în această lucrare. Rezultatele furnizate de
MONARC 2 s-au dovedit deosebit de importante în deciziile de implementare ale unor functionalităţi specifice
aplicaţiei MonALISA. Aceste aspecte evidenţiază o combinaţie unică şi originală între două proiecte aparţinând
unor domenii aparent distincte, simularea şi monitorizarea, în scopul obţinerii unor soluţii de implementare net
superioare oricăror alte aplicaţii existente din ambele domenii ştiinţifice.
5.2.
LISA
LISA, Localhost Information Service Agent, reprezintă un proiect de dimensiuni mai reduse ce furnizează soluţii
complete de monitorizare a sistemelor şi aplicaţiilor ce poate ajuta la optimizarea diverselor aplicaţii distribuite.
Ca parte din sistemul MonALISA, LISA este proiectată sub forma unui set de agenţi capabili de a colecta diverse
informaţii legate de sistemele locale, de a le distribui şi de a lua diverse decizii. LISA foloseşte diverse
tehnologii preluate din MONARC 2 pentru a oferi o platformă de agenţi ce oferă performanţe ridicate. Sistemul
a fost folosit cu succes în timpul demonstraţiei Bandwidth Challenge desfăşurate în cadrul conferinţei
Supercomputing 2006 pentru a coordona transferuri de mare întindere între sute de servere distribuite în noduri
Grid situate în toată lumea.
Arhitectura aplicaţiei se bazează pe folosirea unui număr de servicii agent ce monitorizează independent
diversele sisteme unde rulează. Componentele arhitecturii sunt prezentate în Figura 5.2.
Figura 5.2. Componentele aplicaţiei LISA.
Agentul LISA este compus dintr-un sistem principal şi un număr de module dinamice. Sistemul principal este
responsabil cu gestiunea modulelor de monitorizare în cadrul aplicaţiei. Acesta are rolul de a descoperi dinamic
module curent disponibile, de a le încarca dinamic în aplicaţie şi oferă un minim suport pentru automonitorizarea condiţiilor de rulare, agentul fiind capabil de a reporni dinamic odată cu detecţia unor probleme
legate de funcţionare. Agentul încorporează un număr de module ce pot fi folosite pentru monitorizarea completă
şi controlul sistemului local, oferind şi posibilitatea introducerii de noi module de către utilizatori. LISA
furnizează două modalităţi prin care o aplicaţie poate folosi serviciile oferite de LISA. Orice aplicaţie poate
folosi funcţiile API exportate de diversele module de monitorizare. În acelaşi timp o aplicaţie ce foloseşte
37
serviciile LISA se poate conecta la serviciul daemon. Această modalitate de folosire este de altfel cea prin care
LISA comunică cu serviciile de nivel înalt ale MonALISA sau cu clientul grafic.
În timpul demonstraţiei „High Speed Data Gathering, Distribution and Analysis for Physics Discoveries at the
Large Hadron Collider” ce a avut loc în cadrul conferinţei SuperComputing 2006 (SC06) o echipă condusă de
California Institute of Technology au reuşit stabilirea unui nou record mondial pentru transferuri de date
susţinute între sisteme de stocare (Figura 5.3 prezintă rezultatele oficiale obţinute). Folosind aplicaţia Fast Data
Transfer pentru suportul de transfer şi LISA pentru partea de control echipa a reuşit stabilirea unui record de
transfer de 17.77 Gbps folosind o singură legătură de reţea de 10 Gbps întinsă între locaţia conferinţei şi Caltech.
Aplicaţia FDT are ca scop înţelegerea peformanţelor reţelelor şi furnizează o soluţie viabilă pentru pregătirea şi
utilizarea mai bună a capacităţii reţelelor, în special a celor de mare întindere. Aplicaţia a fost dezvoltată în
cadrul unei colaborări între Universitatea Politehnică din Bucureşti, CERN şi Caltech. În timpul acestui
eveniment LISA a jucat un rol important în stabilirea recordului. Prin suportul oferit pentru continua
monitorizare şi supraveghere LISA a furnizat planul de control al demonstraţiei. Acesta reprezintă un exemplu
perfect de capacitate a aplicaţiei LISA de a putea ajuta la optimizarea altor aplicaţii.
Figura 5.3. Rezultatele oficiale ale echipei Caltech la demonstraţia Bandwidth Challenge.
Modulul de monitorizare a reţelei furnizat de LISA a fost folosit în acest caz pentru supravegherea continuă şi
diagnosticarea stărilor parametrilor de reţea ai serverelor folosite. Problemele caracteristice stivei TCP/IP au fost
mai repede rezolvate datorită modalităţii prin care LISA poate raporta schimbări de stare ale parametrilor
monitorizaţi. Modulul a permis de asemenea ajustarea dinamică a unor parametrii de configurare importanţi de la
distanţă dintr-un sigur punct de control.
Figura 5.4. LISA poate ajuta clientul EVO de a detecta dinamic cel mai optim reflector la care să se conectecteze.
38
În cadrul evenimentului LISA a furnizat în timp real informaţii valoroase legate de starea sistemului: stările
interne nodurilor între care au avut loc transferurile, a ajutat la executarea unor comenzi într-o manieră simplă şi
ingenioasă, a ajutat la monitorizarea stării aplicaţiei FDT şi la obţinerea de informaţii legate de transferurile
aflate în desfăşurare, a ajutat la ajustarea dinamică a parametrilor de rulare ale aplicaţiei FDT, a restartat
transferurile sau a schimbat fişierele curent transferate, a ajutat la depistarea unor problemele legate de kernel
sau probleme de MTU asimetric.
Un alt exemplu de modalitate prin care LISA poate ajuta alte aplicaţii în termeni de optimizare îl reprezintă şi
relaţia dintre aceasta şi sistemul de videoconferinţă EVO. LISA este folosită curent ca parte a sistemului EVO
([Dobre, et al., 2004]), ajutând la detectarea dinamică a celor mai buni reflectori la care se conectează clienţii de
videoconferinţă. Lista de reflectori este obţinută prin interogarea serviciilor MonALISA, fiind actualizată dinamic
pentru depistarea continuă a stării sistemelor pe care aceştia rulează. Cel mai bun reflector este ales pe baza
locaţiei acestuia (apartenenţa la o reţea, domeniul AS, ţară, continent) şi pe baza valorii de încărcare, numărului
de clienţi curent conectaţi, pe baza traficului observat. Algoritmul este construit pentru asigurarea unei balansări
corecte a alegerii celor mai optimi reflectori în termeni de conectivitate.
Sistemul de agenţi distribuiţi bazat pe LISA furnizează funcţionalitatea necesară monitorizării şi controlului
dinamic în cazul unor sisteme distribuite de mare întindere. LISA a fost cu succes folosită pentru a coordona şi
optimiza transferuri de date de mari dimensiuni. Reprezintă un instrument folosit curent în sistemul de
videoconferinţă EVO în scopul optimizării contectivităţii şi performanţelor sistemului. MONARC 2 a jucat un
rol important în proiectarea sistemului de agenţi prin furnizarea unor rezultate de un real folos în procesul de
proiectare a aplicaţiei şi prin împrumutarea unei număr considerabil de tehnologii testate cu succes în simulator.
5.3.
US LHCNet – un experiment de simulare ce foloseşte monitorizarea
Prezentăm în această secţiune un experiment de simulare ce demonstrează interoperabilitatea dintre aplicaţia de
simulare şi un instrument de monitorizate. Experimentul urmăreşte testarea capacităţii reţelei de cercetare reale
US LHCNet de a susţine traficul de date ce va fi generat de analizele de fizică LHC ce vor începe la CERN.
Experimentul a avut ca punct de pornire datele reale monitorizate de MonALISA, împreună cu capacităţile de
trafic ce vor fi generate de analizele de fizică ce sunt descrise în modelele computaţionale ale experimentelor
ATLAS şi CMS. Un obiectiv al scenariului de simulare a fost de a testa capacitatea reţelei US LHCNet de a
susţine traficul generat de experimentele LHC sub valorile de trafic ce sunt curent observate în legăturile reale
existente. Un alt obiectiv urmărit a fost demonstrarea folosirii datelor de monitorizare ca intrare într-un scenariu
de simulare precum cel prezentat prin acest experiment.
Figura 5.5. Topologia curentă a reţelei US LHCNet.
39
Reţeaua de cercetare US LHCNet este parte componentă a unui ansamblu de reţele folosite de comunitatea HEP
şi reprezintă o resursă importantă a participării S.U.A. la experimentele LHC. Reţeaua a fost proiectată pentru a
asigura o folosire eficientă şi corectă a legăturilor de 10 Gbps disponibile şi pentru a susţine o mare varietate de
aplicaţii de reţea, incluzând: transferuri de fişiere, aplicaţii Grid, sesiuni de analize de date, trafic de reţea şi de
Grid ale aplicaţiilor de cercetare, aplicaţii de videoconferinţă şi conectivitate Internet în general. Topologia
curentă a reţelei este prezentată în Figura 5.5. Reţeaua de cercetare se bazează pe folosirea MonALISA pentru
monitorizarea şi gestionarea tuturor legăturilor de reţea. MonALISA furnizează informaţii de monitorizare
precum throughput sau cantitatea de date curent transferate, dar şi informaţii legate de topologie sau starea
legăturilor existente. Experimentul de simulare s-a bazat pe informaţiile furnizate de MonALISA pentru testarea
capacităţii reţelei de a susţine un trafic suplimentar precum cel ce va fi generat de experimentele LHC. Datele de
monitorizare folosite sunt reprezentate de valorile pe ultimele 6 luni de funcţionare a reţelei reale (Figura 5.6).
Figura 5.6. Datele de monitorizare ce au fost folosite în experimentul de simulare.
Rezultatele obţinute în acest experiment sunt prezentate în Figurile 5.7 şi 5.8. Analizând lungimea de bandă
consumată de către traficul simulat în legăturile de WAN (Figura 5.7) şi în legăturile majore (Figura 5.8) putem
concluziona că valorile capacităţilor curente ale legăturilor existente în reţeaua US LHCNet sunt sufiente pentru
a gestiona corect cantităţile de date ce vor fi generate în viitorul apropiat prin rularea experimentelor LHC. Acest
experiment a demonstrat şi maturitatea aplicaţiei de simulare ce poate suporta modelarea unor scenarii bazate pe
date monitorizate în sisteme reale.
Figura 5.7. Lungimea de bandă în WAN.
Figura 5.8. Lungimea de bandă folosită în cazul
legăturilor de date majore.
6. STUDIU DE SIMULARE PENTRU ACTIVITĂŢILE DE REPLICARE &
PRODUCŢIE A DATELOR CONFORM EXPERIMENTELOR LHC LA CERN
În acest capitol prezentăm un experiment având ca obiectiv testarea proceselor de analiză de fizică şi a
modalităţilor prin care experimentele conlucrează pentru atingerea obiectivelor tehnice impuse de stocarea,
40
accesarea şi procesarea cantităţilor impresionante de date generate de experimentele LHC. Experimentul
ilustrează capacitatea aplicaţiei de simulare de a modela sisteme de mari dimensiuni, implicând o cantitate
impresionantă de resurse şi aplicaţii rulând distribuit în mediul creat de acestea. Scenariul de simulare respectă
modelul ierarhiei de centre ierarhice propus de cele două experimente principale, CMS şi ATLAS, pentru
modelarea activităţilor importante de transfer între centrele T0 (CERN) şi un număr de centre regionale T1.
Topologia folosită pentru modelarea activităţilor de fizică este prezentată în Figura 6.1. În acest experiment am
presupus existenţa a trei centre regionale T1 în Europa ce sunt conectate independent. Modelul simplifică cazul
real şi foloseşte un singur „mega-router” la care fiecare centru T1 este conectat printr-o singură legătură de date.
În scenariu am considerat de asemenea existenţa unei legături de date transatlantice ce conectează centrul T0 de
cele două centre T1 din S.U.A. şi a unei legături de date ce asigură conectivitatea cu un centru T1 din Japonia.
Figura 6.1 Topologia folosită în experimentul de simulare.
Pentru a eficientiza procesele de transfer de fişiere am presupus existenţa unui Agent de transfer ce rulează în
toate centrele regionale. Pentru transferul fisierelor Agentul are rolul de a alege deciziile optime de transfer şi
chiar să asigure un mecanism de replicare a datelor. Astfel, transmiterea unui acelasi set de date catre toate
centrele din S.U.A. şi Japonia se realizează o singură dată, iar agentul are rolul de a replica dinamic datele
primite şi de a le transfera ulterior către fiecare centru regional destinatar.
Figura 6.2. Timpii de transfer ai fişierelor DST (stânga) şi RAW (dreapta) în diverse centre regionale T1 în funcţie
de lungimea de bandă disponibilă a legăturii de date ce conectează T0 (CERN) de T1-US1.
Seria de experimente au presupus următoarele scenarii de producţie a datelor:
1. Replicarea datelor RAW. Acest experiment presupune o rată medie de înregistrare a datelor RAW de 200
MB/s. Informaţia obţinută este stocată în fişiere de 2 GB. Fişierele sunt apoi replicate conform unui algoritm
round robin către cele 6 centre T1.
2. Producţia şi distribuţia datelor DST. În centrul T0 toate datele RAW sunt procesate, rezultând un număr
de fişiere conţinând date de tip DST. Fişierele DST sunt de 10 ori mai mici decât cele de tip RAW. Fişierele
DST sunt trimise tuturor centrelor T1.
41
3. Re-producţia şi noua distribuţie a datelor DST. După un timp datele RAW din fiecare centru T1 sunt reprocesate în noi fişiere de date DST. Fiecare centru T1 va procesa 1/6 din totalul datelor RAW. Datele DST
generate la nivelul fiecărui centru regional sunt apoi trimise către toate celelalte centre existente.
4. Analiza detectorilor. Această activitatea porneşte în anumite centre T1 la anumite momente de timp şi au
rolul de a colecta toate datele RAW produse pe ultimele ore. În simulare am presupus ora 9 locală centrului ora
de începere a aceastei activităţi şi am ales intervalul de 12 ore pentru culegerea datelor RAW. Datele RAW sunt
adunate în mod dinamic prin alegerea celui mai optim centru în termeni de performanţă de unde datele sunt
transferate.
Seria de experimente rulate folosind scenariul prezentat a presupus execuţia activităţilor într-o primă etapă
separate şi apoi combinarea acestora. Experimentele au urmărit modelarea aproximativ a unei zile de execuţie a
activităţilor. Figura 6.2 prezintă rezultatele timpilor necesari transferării fişierelor DST şi RAW în diverse centre
T1 în cazul folosirii unor valori a lungimii de bandă a legăturii de date ce contectează T0 (CERN) de T1-US1
cuprinse între 3 Gbps şi 10 Gbps. După cum se poate observa, timpul de transfer a fişierelor DST tinde să scadă
proporţional cu lungimea de bandă disponibilă pe respectiva legătură de date. În realitate seria de experimente a
început cu folosirea valorii de 2.5 Gbps pentru lungimea de bandă a legăturii disponibile între T0 (CERN) şi T1US1. După cum se poate observa şi din Figura 6.3, în acest caz sistemul întâlneşte ă gâtuire, timpii de transfer ai
datelor RAW tinzând să crească la infinit. Acest lucru se explică prin faptul că datele tind să se acumuleze în
sistem, numărul de noi transferuri solicitate fiind mai mare decât rata de transferuri finalizate.
Figura 6.3. Timpii de transfer ai fisierelor RAW atunci când lungimea de bandă disponibilă a legăturii de date ce
conectează T0 (CERN) de T1-US1 este de 2,5 Gbps (stânga) şi 5 Gbps (dreapta).
Rezultate interesante au fost obţinute şi în urma comparaţiei efectuate pentru activitatea de distribuţie a datelor
DST realizate prin folosirea şi prin nefolosirea Agentului de transfer. În acest caz agentul de transfer este folosit
în centrul regional T1-US1 şi are rolul de a replica datele DST primite de la centrul T0 (CERN) şi de a transfera
replicile către centrele T1-US2 şi T1-JP. Aceasta înseamnă că în scenariul ce presupune folosirea agentului un
singur fişier va fi transfer pe legătura de date dintre T0 (CERN) şi T1-US1, pe când în scenariul ce nu presupune
folosirea agentului vor fi transferate de fiecare dată trei fişiere, câte unul separat pentru fiecare centru destinatar.
Rezultatele obţinute pentru lungimea de bandă medie folosită pe legăturile de date majore sunt prezentate în
Figura 6.4. Rezultatele prezentate demonstrează optimizarea obţinută prin folosirea agentului de transfer.
Figura 6.4. Lungimea de bandă folosită în cazul experimentelor realizate cu (stânga) şi fără (dreapta) Agentul de
Transfer de Date.
42
În aceste experimente am demonstrat validitatea folosirii unui Agent de transfer pentru optimizarea transferurilor
datelor generate de experimentele LHC. Am demonstrat de asemenea că valoarea lungimii de bandă de 2,5 Gbps
pentru legătura de date ce conectează T0 (CERN) de S.U.A. nu este suficientă pentru a suporta traficul generat
de activităţile de producţie. Pe baza recomandărilor noastre şi a rezultatelor obţinute în aceste experimente
ulterior această capacitate a fost crescută la valoarea curent folosită de 10 Gbps. Cel mai important, aceste
experimente au demonstrat capacitatea aplicaţiei de simulare de a modela sisteme distribuite de mari dimensiuni
precum cele ce vor suporta procesarea datelor generate de experimentele LHC şi în care rulează un număr
impresionant de aplicaţii, generând atât o cantitate impresionantă de trafic concurent cât şi multe procese rulând
concurent pe aceleaşi resurse de calcul. În acelaşi timp aceste experimente au demonstrat capacitatea aplicaţiei
de simulare de a modela corect o varietate de noi tehnologii precum modelarea unor activităţi şi tehnologiilor
aferente specifice activităţilor de fizică. Simulatorul MONARC 2 este capabil să suporte modelarea cu succes a
unor astfel de experimente, aspect ce demonstrează maturitatea acestuia.
7. CONCLUZII
În această lucrare am prezentat problemele şi soluţiile originale propuse referitoare la furnizarea unei aplicaţii de
simulare a sistemelor distribuite de mari dimensiuni, ce oferă soluţii de suport pentru studierea ştiinţifică şi
sistematică a unei game variate de aplicaţii şi medii grid. În cadru lucrării am descris noi alternative la modelarea,
planificarea şi implementarea aplicaţiilor de simulare ce se adresează tehnologiilor specifice sistemelor
distribuite. Am demonstrat că modelul de simulare original propus integrează componentele şi mecanismele
necesare pentru crearea de experimente realiste ce simulează comportări de sisteme distribuite de mari
dimensiuni. Astfel de sisteme includ multe resurse şi diverse tehnologii, variind de la cele pentru transferuri de
date şi până la cele pentru planificarea şi replicarea de date, încorporând resurse ce conlucrează pentru furnizarea
unui set comun de caracteristici.
Validitatea soluţiilor de cercetare propuse s-a materializat prin construcţia unei aplicaţii de simulare de ultimă
generaţie, MONARC 2. Simulatorul este proiectat pentru modelarea generică a unei game variate de arhitecturi
de sisteme distribuite. Modelul robust de simulare încorporat, arhitectura generică, modelele mature de date,
reţea şi aplicaţii, furnizează mecanismele necesare descrierii multor tehnologii actuale de sisteme distribuite.
Modelul de simulare adoptat în MONARC 2 urmăreşte îndeaproape caracteristicile multor tehnologii actuale din
domeniul sistemelor distribuite. Modelul încorporează componentele necesare pentru conducerea unei game
variate de studii de simulare, de la modelarea algoritmilor de planificare sau replicare de date şi până la cele
simularea comportării unor tehnologii de transferuri de date. În această lucrare am demonstrat că modelul de
simulare este perfect adaptat pentru modelarea unor scenarii realiste de simulare, a unei game bogate de
tehnologii ale sistemelor distribuite, în special cele ce ţin de sistemele Grid, conţinând elementele necesare
modelării tuturor componentelor şi caracteristicilor specifice acestora.
În cadrul tezei am propus categoriile unei taxonomii inedite proiectate să reflecte atât caracteristicile de
proiectare ale sistemelor Grid simulate cât şi proprietăţile diverselor instrumente de simulare. Taxonomia
prezentată a fost ulterior folosită pentru un studiu comparativ al celor mai importante proiecte de simulare şi a
condus la reliefarea caracteristicilor acestora, a avantajelor şi dezavantajelor acestora. În cadrul lucrării am
demonstrat că deşi folosirea unui anumit instrument de simulare depinde în mare măsură de scopul simulării şi
de aptitudinile utilizatorului, aplicaţiile analizate acoperă aspecte importante variate ale sistemelor distribuite,
permiţând explorarea unor spaţii de parametrii diferiţi. Între aceste proiecte, am demonstrat că MONARC 2 este
cel mai generic, fiind capabil să modeleze un număr mai mare de scenarii comparativ cu oricare altă aplicaţie de
simulare. MONARC 2 oferă de asemenea cele mai multe capabilităţi, considerând mult mai mulţi parametrii,
proprietăţi şi componente decât oricare alt instrument de simulare a sistemelor distribuite existent.
În lucrare am prezentat apoi caracteristicile de proiectare ale simulatorului MONARC 2. Am prezentat detaliile
componentelor de simulare furnizate de MONARC 2, cu un accent deosebit pus pe cele ale motorului de
simulare şi ale modelelor de sarcini de lucru, de date şi de reţea. De o mare importanţă sunt rezultatele de
evaluare a aplicaţiei de simulare prezentate în lucrare. Am prezentat astfel o serie de experimente ce au avut ca
43
scop evaluarea performanţelor, validităţii şi care au urmărit testarea limitelor şi capabilităţilor aplicaţiei de
simulare. Maturitatea simulatorului a fost demonstrată şi prin numărul experimentelor de simulare ce au fost cu
succes executate şi ale căror rezultate au fost de asemenea prezentate în lucrare. Simulatorul permite modelarea
de diverse sisteme Grid, presupunând multe activităţi concurând pentru resurse şi implicând diverse tehnologii,
de la cele de planificare şi replicare de date la cele de transfer de date şi procesare distribuită.
În lucrare am subliniat contribuţia importantă a tehnologiilor de monitorizare în validarea şi proiectarea aplicaţiei
de simulare, precum şi rolul instrumentelor de monitorizare în proiectarea unor experimente de simulare realiste.
Rezultatele cercetării prezentate în această lucrare au de asemenea folosite în dezvoltarea unuia dintre cele mai
importante proiecte de monitorizare a sistemelor Grid, MonALISA. Aplicaţia de monitorizare MonALISA a fost
folosit îndeosebi în procesul de validare al aplicaţiei de simulare, precum şi în procesul de proiectare a diverselor
experimente de simulare prezentate. În lucrare am prezentat două proiecte de monitorizare, MonALISA şi LISA,
deoarece ambele au beneficiat de rezultatele cercetării prezentate în această lucrare. LISA reprezintă un sistem
de agenţi de monitorizare ce poate fi folosit pentru îmbunătăţirea rezultatelor unor aplicaţii prin rezultatele de
monitorizare furnizate. Ca un exemplu de capabilităţi oferite, în lucrare am prezentat modalitatea prin care în
timpul demonstraţiei SuperComputing Bandwidth Challenge din 2006 LISA a ajutat la stabilirea unui nou record
mondial în materie de transfer de date. Funcţionalitatea de control face din LISA un instrument ideal pentru
gestionarea unor transferuri de date de mari dimensiuni. Într-un alt exemplu prezentat în lucrare aminteam cum
sistemul LISA este folosit curent ca parte integrantă din aplicaţia de videoconferinţă EVO, ajutând la
optimizarea performanţelor de reţea ale clienţilor aplicaţiei.
O demonstraţie a capabilităţii aplicaţiei de simulare de a gestiona simularea realistă a unor sisteme distribuite
prin combinarea cu rezultatele obţinute în urma unui instrument de monitoritare a fost de asemenea prezentată în
cadrul lucrării. În experimentul prezentat am demonstrat că simulatorul MONARC 2 este capabil de a folosi date
reale de monitorizare ca intrare pentru diverse scenarii de simulare. Această capabilitate este îndeosebi utilă în
scenarii ce urmăresc testarea unor probleme ipotetice de genul ce s-ar întampla dacă în cadrul unui sistem real sar folosi o nouă tehnologie sau s-ar introduce noi componente sau aplicaţii.
În final am demonstrat capabilitatea simulatorului MONARC 2 de a gestiona un scenariu de simulare de foarte
mare amploare, încorporând multe resurse şi activităţi. Am demonstrat de asemenea că aplicaţia de simulare este
capabilă să gestioneze corect simularea realistă a condiţiilor de procesare a datelor generate de experimentele
LHC descrise în modelele computaţionale ale celor patru experimente de fizică. Rezultatele prezentate au
demonstrat importanţa folosirii unui agent de transfer pentru optimizarea transferurilor datelor generate de
activităţile LHC, precum şi necesitatea îmbunătăţirii legăturilor de reţea existente. Aceste rezultate au fost de
altfel folosite în decizii reale, acestea conducând la dezvoltarea sistemului de agenţi LISA şi la îmbunătăţirea
legăturilor transatlantice folosite de activităţile experimentelor de fizică.
Deşi aplicaţia de simulare şi-a dovedit maturitatea, aspect demonstrat prin numărul mare de experimente de
modelare ce au fost cu succes executate, activitatea de cercetare prezentată în lucrare nu se va opri, fiind nevoie
în continuare de adoptarea unor noi posibile metode pentru îmbunătăţirea utilizării resurselor şi de studierea unor
noi tehnologii de sisteme distribuite pe baza capabilităţilor oferite de aplicaţia de simulare.
7.1.
Contribuţii originale
Prezentăm în continuare un sumar al contribuţiilor originale ale tezei, pe care le considerăm relevante în
evaluarea contribuţiilor acestei lucrări:
•
Dezvoltarea unor tehnici de modelare şi simulare a sistemelor distribuite de mari dimensiuni, în conformitate
cu caracteristicile şi componentele sistemelor Grid;
•
Dezvoltarea modelului de simulare inovator ce include toate componentele necesare pentru descrierea unei
game bogate de tehnologii de sisteme distribuite, furnizând mecanismele pentru descrierea traficului
concurent de reţea, pentru evaluarea diverselor strategii de replicare a datelor şi pentru analizarea
procedurilor de planificare a sarcinilor de lucru;
44
•
Prezentarea unei analize originale a celor mai importante instrumente de simulare pentru sisteme distribuite
existente la ora actuală, împreună cu demonstraţia superiorităţii conceptelor inovatoare de simulare ce
reprezintă rezultatul cercetării prezentate în lucrarea de faţă;
•
Validarea propunerilor prin proiectarea şi implementarea unui simulator, precum şi prin optimizarea
acestuia;
•
Implementarea unor soluţii de optimizare software inedite ce au fost implementate în aplicaţia de simulare şi
care au dus la posibilitatea modelării viabile a unor sisteme de foarte mari dimensiuni, compuse dintr-un
număr impresionant de resurse şi aplicaţii distribuite rulând concurent în mediile oferite de acestea, printre
care menţionăm adoptarea unor algoritmi şi structuri de ultimă generaţie în procesele de proiectare şi
implementare a aplicaţiei;
•
Proiectarea şi implementarea componentelor şi a modelelor de simulare;
•
Dezvoltarea soluţiilor de vizualizare şi interpretare ştiinţifică a rezultatelor experimentelor de simulare;
•
Evaluarea şi validarea aplicaţiei de simulare;
•
Modelarea şi testarea algoritmilor de planificare;
•
Modelarea şi testarea procedurilor de replicare a datelor;
•
Evaluarea calităţii diverselor tehnologii de transfer de date prin modelare;
•
Folosirea monitorizării ca suport pentru modelarea sistemelor distribuite de mari dimensiuni;
•
Contribuţiile importante în procesul de creare a unuia dintre cele mai importante instrumente de
monitorizare a sistemelor Grid, MonALISA.
•
Dezvoltarea unui sistem de agenţi, LISA, ce urmăreşte optimizarea aplicaţiilor prin metode de monitoritare,
instrument dezvoltat pe baza rezultatelor de simulare obţinute şi care încorporează o serie de algoritmi,
structuri de date şi tehnologii specifice implementării aplicaţiei de modelare;
•
Prezentarea rezultatelor obţinute în cadrul unui experiment de simulare complex ce urmăreşte validarea
procedurilor de fizică şi a sistemelor distribuite de mari dimensiuni ce suportă schimbul de date în cazul
experimentelor LHC.
7.2.
Dezvoltări ulterioare
Cercetările prezentate în această lucrare reprezintă puncte de plecare pentru continuarea studierii problematicii
abordate. Principalele direcţii pe care intenţionez să le abordez se referă la includerea unor metode mai avansate
de evaluare a strategiilor de utilizare a resurselor în sisteme de şi mai mari dimensiuni. O altă dezvoltare
planificată se referă la folosirea noilor tehnologii Java pentru optimizarea performanţelor motorului de simulare
şi la îmbunătăţirea interfeţei grafice a utilizatorului în scopul oferirii unui dialog mai prietenos şi util în
realizarea şi rularea experimentelor de simulare. Alte dezvoltări mai includ şi adoptarea unor modele de
securitate, de asigurare a toleranţei la defecte, precum şi a unor modele de reţele wireless.
BIBLIOGRAFIE SELECTIVĂ
1.
2.
Bagchi, S., “Simulation Of Grid Computing Infrastructures: Challenges and Solutions”, Proceedings of
the 2005 Winter Simulation Conference, 2005.
Bote-Lorenzo, M., Y. Dimitriadis, and E. Gomez-Sanchez, "Grid characteristics and uses: a grid
definition", Tehnical Report CICYT, Univ. of Valladolid, Spain, 2002.
45
3.
Boxma, O., G. Koole, and Z. Liu, “Queueing-Theoretic Solution Methods for Models of Parallel and
Distributed Systems”, Performance Evaluation of Parallel and Distributed Systems – Solution Methods,
CWI, Amsterdam, 1994.
4.
Brunengo, A., “LAN and WAN tests with Objectivity 5.1”, 1999.
5.
Buyya, R., M. Murshed, D. Abramson, “A Deadline and Budget Constrained Cost-Time Optimisation
Algorithm for Scheduling Task Farming Applications on Global Grids”, Proc. of the 2002 International
Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA’02), Las Vegas,
USA, 2002.
6.
Cameron, D. G., “Replica Management and Optimisation for Data Grids”, PhD Thesis, University of
Glasgow, January 2005.
7.
Dobre, C. M, R. Voicu, A. Muraru, I. C. Legrand, “A Distributed Agent Based System to Control and
Coordinate Large Scale Data Transfers”, the 16th International Conference on Control Systems and
Computer Science, Bucharest, Romania, 2007.
8.
Dobre, C. M., “Advanced data structures for discrete event simulation events”, Master degree diploma
thesis, Bucharest, Romania, 2004.
9.
Dobre, C. M., C. Stratan, “MONARC 2 - distributed systems simulation”, the 14th International
Conference on Control Systems and Computer Science, Bucharest, Romania, 2003, Bucharest.
10.
Dobre, C. M., C. Stratan, “MONARC Simulation Framework”, RoEduNet International Conference,
Timisoara, Romania, 2004.
11.
Dobre, C. M., R. Voicu, A. Muraru, I. C. Legrand, “An Agent Based Framework to Monitor and Control
High Performance Data Transfers”, In Proc. of IEEE EUROCON 2007, Warsaw, Poland, September 2007.
12.
Dobre, C. M., R. Voicu, C. Stratan, C. Cirstoiu, L. Musat, I. C. Legrand, “A Simulation Study for T0/T1
Data Replication and Production Activities”, the 15th International Conference on Control Systems and
Computer Science, Bucharest, Romania, 2005.
13.
Dobre, C. M., V. Cristea, “A Simulation Model for Large Scale Distributed Systems”, In Proc. of the 4th
International Conference on Innovations in Information Technology, Dubai, November 2007.
14.
Dobre, C.M., R. Voicu, C.Stratan, “LISA (Localhost Information Service Agent)”, CSCS15, 2004.
15.
Foster, I., “Globus Toolkit Version 4: Software for Service-Oriented Systems”, J. Comput. Sci. & Technol.,
July 2006.
16.
Foster, I., “What is the grid? a three point checklist”, Grid Today, July 2002.
17.
Foster, I., C. Kesselman and S. Tuecker, “The Grid 2: Blueprint for a new Computing Infrastructure”,
Morgan Kaufmann, 2004.
18.
Foster, I., C. Kesselman, and S. Tuecke, “The Anatomy of the Grid: Enabling Scalable Virtual
Organizations”, Int. J. Supercomp. App., 2001.
19.
Foster, I., C. Kesselmen, J. Nick, and S. Tuecke, “The Physiology of the Grid - An Open Grid Services
Architecture for Distributed Systems Integration”, IEEE Computer 35, Open Grid Service Infrastructure
WG, Global Grid Forum. 2002.
20.
Frantz, F. K., “A taxonomy of model abstraction techniques:”, Proceedings of the 1995 Winter simulation
Conference, USA, 1995.
21.
Fujimoto, R. M. , “Parallel discrete event simulation: Will the field survive?”, ORSA Journal on
Computing, 1993.
22.
Gibson, W., “FLASH vs (Simulated) FLASH: Closing the Simulation Loop”, ACM Transactions on
Modeling and Computer Simulation, 2000.
23.
Grimshaw, A., “What is a grid?”, Grid Today, December 2002.
46
24.
Guanhua, Yan, “Improving Large-Scale Network Traffic Simulation with Multi-Resolution Models”,
Dartmouth Computer Science Technical Report, September 2005.
25.
Iosup, A., “Monitoring Methods and Performance Analysis Criteria in Grids for Physical Process
Control”, Master of Science thesis, Bucharest, July 2004.
26.
Legrand, I. C., C. Cirstoiu, S. McKee, H. Newman, R. Voicu, C. M. Dobre, “VINCI : Virtual Intelligent
Networks for Computing Infrastructures”, In Proc. of Computing for High Energy Physics, Mumbai, India,
February 13-17, 2006.
27.
Legrand, I. C., C. M. Dobre, C. Stratan, “MONARC 2 – Distributed Systems Simulation”, Technical Report,
Switzerland, 2003.
28.
Legrand, I. C., C. M. Dobre, R. Voicu, C. Cirstoiu, “LISA (Local Host Information Service Agent)”, the
15th International Conference on Control Systems and Computer Science, Bucharest, Romania, 2005.
29.
Legrand, I. C., H. Newman, C. M. Dobre, C. Stratan, “Monarc Simulation Framework”, International
Workshop on Advanced Computing and Analysis Techniques in Physics Research, Tsukuba, Japan,
December 2003.
30.
Legrand, I. C., H. Newman, F. van Lingen, C. M. Dobre, C. Stratan, K. Paschen, “A Processes Oriented,
Discrete Event Simulation Framework for Modelling and Design of Large Scale Distributed Systems”, In
Proc. of the IX International Workshop on Advanced Computing and Analysis Techniques in Physics
Research, Tsukuba, Japan, December 1-5, 2003.
31.
Legrand, I. C., H. Newman, R. Voicu, C. Cirstoiu, C. M. Dobre, “MonALISA: An Agent based, Dynamic
Service System to Monitor, Control and Optimize Grid based Applications”, In Proc. of Computing in
High Energy and Nuclear Physics CHEP’04 , Switzerland, 2004.
32.
Lin, H., “Economy-Based Data Replication Broker Policies in Data Grids”, Bachelor of Computer
Science paper, 2005.
33.
Lin, H., J. H. Abawajy, R. Buyya, “Economy-Based Data Replication Broker”, eScience, 2006.
34.
Newman, H. B., “Networking for High Energy and Nuclear Physics”, ICFA SCIC Report, February 2005.
35.
Paxson, V., and S. Floyd, “Why We Don’t Know How To Simulate The Internet”, Proceedings of the 1997
Winter Simulation Conference, December 1997.
36.
Pop, F. C. M. Dobre, G. Godza, V. Cristea, “A Simulation Model for Grid Scheduling Analysis and
Optimization”, Parelec, 2006.
37.
Pop, F., C. Grigoras, A. Costan, C. M. Dobre, V. Cristea, “Current technologies in Grid systems”, In Proc.
of the medioGrid Conference, Cluj Napoca, Romania, 2006.
38.
Quetier B., and F. Capello, “A survey of Grid research tools: simulators, emulators and real life
platforms”, IMACS Survey, 2005.
39.
Riley, G. F., and M. H. Ammar, “Simulating large networks – how big is big enough?”, Proceedings of
First International Conference on Grand Challenges for Modelling and Simulation, January 2002.
40.
Sargent, R.G., “Verification and Validation of Simulation Models”, Proceedings of the 2005 Winter
Simulation Conference, 2005.
41.
Sulistio, A., C. S. Yeo, R. Buyya, “A taxonomy of computer-based simulations and its mapping to parallel
and distributed systems simulation tools”, Software – Practice and Experience, 2004.
42.
Takefusa, A., O. Tatebe, S. Matsuoka, Y. Morita, ”Performance Analysis of Scheduling and Replication
Algorithms on Grid Datafarm Architecture for High-Energy Physics Applications”, HPDC, 2003.
43.
Venugopal, S., R. Buyya, K. Ramamohanaro, “A Taxonomy of Data Grids for Distributed Data Sharing,
Management and Processing”, 2006.
47

Documentos relacionados

Vezi rezumatu - Carol Davila

Vezi rezumatu - Carol Davila de fuziune intervertebrală pe un nivel. Apariţia durerii radiculare, face necesară intervenţia decompresivă la unul sau mai multe nivele. Odata cu evoluţia spre restabilizare, durerea rahialgică de...

Leia mais

„Speculator“-ul [i prada lui Erorile lui Russell Kirk Cultura `n

„Speculator“-ul [i prada lui Erorile lui Russell Kirk Cultura `n „celuilalt“ etc. Perspectiva de a asculta `n urm\toarele trei zile discursuri emancipate de campania electoral\ ni s-a p\rut fantastic\, cum ni s-a p\rut la fel de extraordinar\ ideea de a uita, m\...

Leia mais

Aspecte de practică privind percheziţia şi arestarea preventivă

Aspecte de practică privind percheziţia şi arestarea preventivă modificărilor Constituţiei României, adoptate prin referendum în octombrie 2003. Aceste modificări au transferat responsabilitatea de a emite mandate de percheziţie şi de arestare din sarcina procu...

Leia mais

Rezultatele selecției cadrelor didactice la programul de formare

Rezultatele selecției cadrelor didactice la programul de formare Dambovita nr. 555/10.05.2013 pentru selectia cadreJor didactice in vederea participdrii program nalional de mentorat Ia programul de formare,,DE LA DEBUT LA SUCCES de inserlie profesionald a cadrel...

Leia mais

sesiunea

sesiunea 4. In sistemul cartezian de coordonate xOy se considera dreptele de ecuatii: d1 : 3x − 2 y = 0, d 2 : x + 3 y − 11 = 0, d 3 : 2 x − 3 y + 5 = 0 . a) (3 p.) Sa se determine punctul de intersectie al...

Leia mais