Sisteme distribuite Dzitac

146
IOAN DZIłAC GRIGOR MOLDOVAN SISTEME DISTRIBUITE MODELE INFORMATICE Editura UniversităŃii Agora, Oradea 2006

description

Sisteme distribuite Dzitac

Transcript of Sisteme distribuite Dzitac

  • IOAN DZIAC GRIGOR MOLDOVAN

    SISTEME DISTRIBUITE

    MODELE INFORMATICE

    Editura Universitii Agora, Oradea

    2006

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 2

    Referent: Prof. univ. dr. Rzvan Andonie, Central Washington University, SUA Editor: Prof. univ. dr. ing. Miu-Jan Manolescu, Universitatea Agora Coperta i asistent editorial: Emma M. Vleanu, Universitatea Agora, student doctorand la Academia Romn

    Descrierea CIP a Bibliotecii Naionale a Romniei

    DZIAC, IOAN Sisteme distribuite - Modele informatice / Ioan Dziac, Grigor Moldovan. - Oradea : Editura Universitii Agora, 2006 Bibliogr. ISBN (10) 973-87960-9-1 ; ISBN (13) 978-973-87960-9-6 I. Moldovan, Grigor 004

    Copyright 2006 by CCC Publications, Agora University Publishing House.

    Title: DISTRIBUTED SYSTEMS: INFORMATION SYSTEM MODELS Abstract: This work presents various definitions and models for the distributed informatics systems starting from the parallel and distributed computation general models, usual models from Internet and Intranet (client/server, cluster, grid etc.), and also the communication models in these kind of systems. The book is addressed especially by the students and by the professorate that wants to study/teach the applied informatics (economical informatics, medical informatics) but can also be used by all the other that are interested in using the distributed informatics systems.

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    3

    CONTENTS CHAPTER 1 DISTRIBUTED INFORMATICS SYSTEMS 1.1. A short description of the distributed informatics systems

    1.1.1. Distributed informatics system. Homogeneous/heterogeneous systems. Tightly /loosely coupled systems 1.1.2. Specific characteristics and advantages of the distributed systems 1.1.3. Middleware

    1.2. The requirements of a distributed informatics system

    1.2.1. Heterogeneously

    1.2.2. Scalability

    1.2.3. Security

    1.2.4. Errors treatment

    1.2.5. Openess

    1.2.6. Concurrency 1.2.7. Transparency

    1.3. Remarkable examples of distributed informatics systems 1.3.1. Internet networks: SIPRNET, FidoNet, Internet 1.3.2. Intranet and extranet 1.3.3. Nomadic computing and ubiquitous computing 1.3.4. Internet2 1.3.5. PlanetLab 1.3.6. Cluster 1.3.7. Grid

    CHAPTER 2 PARALLEL AND DISTRIBUTED COMPUTATION SYSTEMS: TAXONOMY AND MODELS 2.1. Binary classification of the parallel and distributed computing systems (SCPD) architectures

    2.1.1. SCPD classification after the number of the central units connected to the memory 2.1.2. SCPD classification after the control mechanism type 2.1.3. SCPD classification after the number of the processing instruction sets 2.1.4. SCPD classification after the processing management strategy type 2.1.5. SCPD classification after the number of the processing data stream 2.1.6. SC class partition after the number of the processing data stream

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 4

    2.1.7. SIMD class partition after the processing data type 2.1.8. SF class partition after the processing data type 2.1.9. MIMD class partition after the organization way of the address- space of memory (Bell) 2.1.10. Multiprocessors partition after the used memory type (Bell) 2.1.11. Multicomputer partition after the used memory type (Bell)

    2.2.The parallelism in various computing systems 2.2.1. The parallelism in the SISD modern scalar computers 2.2.2. The parallelism in the MISD multiscalar computers 2.2.3 The parallelism in the MIMD systems

    2.3. Flynns classification 2.3.1. SISD class (Single Instruction stream - Single Data stream) 2.3.2. SIMD class (Single Instruction stream - Multiple Data stream) 2.3.3. MISD class(Multiple Instruction stream - Single Data stream) 2.3.4. MIMD class(Multiple Instruction stream - Multiple Data stream)

    2.4. A synthesis of various taxonomy of SCPD 2.4.1. The inclusion of Flynns classes 2.4.2. The inclusion of Bells classes (SASA multiprocessors, MPA multicomputer) 2.4.3. The inclusion of Hwangs classes (UMA, NUMA, ccNUMA, COMA models) 2.4.4. The models Cluster and Grid 2.4.5. A synthesis taxonomical schema

    2.5. The software needed for the configuration and the management of the distributed informatics systems

    2.5.1. Multiuser operating systems 2.5.2. Parallel Virtual Machine (PVM) 2.5.3. Message Passing Interface (MPI) 2.5.4. Globus Toolkit

    CHAPTER 3 THE INTERCONNECTION IN THE PARALLEL AND DISTRIBUTED COMPUTATION SYSTEMS 3.1. PRAM, an idealist parallel computer 3.2. Interconnection methods in the parallel and distributed computation systems architecture. Computer networks

    3.2.1. Crossbar networks 3.2.2. Switchboard interconnection 3.2.3. Network interconnection with limited direct links

    3.2.3.1. Bus network 3.2.3.2. Linear and cyclic network 3.2.3.3. Perfect mixing network

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    5

    3.2.3.4. Tree network 3.2.3.5. Lattice network 3.2.3.6. Hypercube network

    CHAPTER 4 THE INTERNET: A SCALABLE OPEN DISTRIBUTED SYSTEM 4.1. The architectural schema of the Internet 4.2. The functional schema of the Internet (router, gateway, host) 4.3. The client/server model. The TCP/IP protocol

    4.3.1. IP (Internet Protocol). 4.3.2. TCP (Transmission Control Protocol) 4.3.3. UDP (User Datagram Protocol) 4.3.4. DNS (Domain Name System) 4.3.5. POP3 or the Post Office protocol Version 3 4.3.6. IMAP (Internet Message Access Protocol) 4.3.7. SMTP (Simple Mail Transfer Protocol) 4.3.8. HTTP (HyperText Transfer Protocol) 4.3.9. HTTPS 4.3.10. SSL (Secure Sockets Layer) 4.3.11. FTP (File Transfer Protocol) 4.3.12. LDAP

    4.4. World Wide Web: a distributed application over the Internet 4.4.1. Generalities about the Web. Hypertext and hypermedia 4.4.2. The hypertext marking (SGML, XML, HTML, WML, XHTML) 4.4.3. URI (Uniform Resource Identifier): URL and URN 4.4.4. HTTP (HyperText Transfer Protocol)

    APPENDIX A minidictionary for parallel and distributed computing REFERENCES WEB REFERENCES

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 6

    Conf. univ. dr. Ioan Dziac

    Domenii de interes:

    Calcul paralel i distribuit, Matematic i informatic economic

    Ioan DZIAC (n. 14.02.1953, Poieni de sub Munte - Repedea, Maramure), este doctor n informatic, confereniar universitar i eful catedrei de informatic economic la Universitatea AGORA din Oradea. A obinut doctoratul n informatic n 2002 sub conducerea tiinific a prof. Grigor MOLDOVAN. A fost directorul Departamentului de Matematic i Informatic al Universitii din Oradea, iar n prezent este directorul centrului de cercetare Tehnologii informatice avansate n management i inginerie la Universitatea AGORA. A publicat 11 cri i a editat 4 volume ale unor conferine internaionale i peste 40 de articole. Este fondator i editor executiv la International Journal of Computers, Communications and

    Control.

    Prof. univ. dr. Grigor Moldovan

    Domenii de interes:

    Sisteme distribuite, Limbaje formale

    Grigor MOLDOVAN (n. 29.12.1939, Vadu Izei, Maramure), este doctor n matematic, profesor universitar i conductor de doctorate n informatic la Universitatea Babe-Bolyai din Cluj - Napoca, Facultatea de Matematic i Informatic. A obinut doctoratul n matematic n 1972 sub conducerea tiinific a acad. Tiberiu POPOVICIU i prof. Dimitrie STANCU. Este unul din pionieri n informatica romneasc, prednd cursuri de informatic ncepnd nc din anul 1971, scriind articole i cri de informatic i fiind directorul Centrului de Calcul al Universitii, de la nfiinarea sa n 1975, pn n anul 1990. A fost muli ani i directorul Departamentului de Informatic. A publicat 18 cri i peste 65 de articole tiinifice.

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    7

    CUPRINS CAPITOLUL 1 SISTEME INFORMATICE DISTRIBUITE 11 1.1. Scurt descriere a sistemelor informatice distribuite 12 1.1.1. Sistem informatic distribuit. Sisteme

    omogene/eterogene. Sisteme puternic/slab cuplate 12

    1.1.2. Caracteristici i avantaje specifice ale sistemelor distribuite

    14

    1.1.3. Midlleware 16 1.2. Cerinele unui sistem informatic distribuit 17 1.2.1. Eterogenitatea 17 1.2.2. Scalabilitatea 18 1.2.3. Securitatea 20 1.2.4. Tratarea erorilor 23 1.2.5. Deschiderea 24 1.2.6. Concurena 24 1.2.7. Transparena 24 1.3. Exemple remarcabile de sisteme informatice distribuite 26 1.3.1. Reele de tip internet: SIPRNET, FidoNet, Internet 26 1.3.2. Intranet i extranet 27 1.3.3. Nomadic computing i ubiquitous computing 28 1.3.4. Internet2 28 1.3.5. PlanetLab 29 1.3.6. Cluster 38 1.3.7. Grid 43 CAPITOLUL 2 SISTEME DE CALCUL PARALEL I DISTRIBUIT: TAXONOMIE I MODELE

    47

    2.1. Clasificri binare ale arhitecturilor sistemelor de calcul paralel i distribuit (SCPD)

    48

    2.1.1. Clasificarea SCPD dup numrul de uniti centrale conectate la memorie

    49

    2.1.2. Clasificarea SCPD dup tipul mecanismului de control 50 2.1.3. Clasificarea SCPD dup numrul de seturi de

    instruciuni prelucrabile 50

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 8

    2.1.4. Clasificarea SCPD dup tipul strategiei de management al procesrii

    50

    2.1.5. Clasificarea SCPD dup numrul de seturi de date prelucrabile

    51

    2.1.6. Divizarea clasei SC dup numrul de seturi de date prelucrabile

    51

    2.1.7. Divizarea clasei SIMD dup tipul de date prelucrabile 51 2.1.8. Divizarea clasei SF dup tipul de date prelucrabile 52 2.1.9. Divizarea clasei MIMD dup modul de organizare a

    adresrii spaiului de memorie (Bell) 52

    2.1.10. Divizarea multiprocesoarelor dup tipul de memorie utilizat (Bell)

    52

    2.1.11. Divizarea multicalculatoarelor dup tipul de memorie utilizat (Bell)

    52

    2.2. Paralelismul n diverse sisteme de calcul 53 2.2.1. Paralelismul n calculatoarele scalare moderne de tip

    SISD 53

    2.2.2. Paralelismul n calculatoarele multiscalare de tip MISD 55 2.2.3. Paralelismul n sistemele MIMD 60 2.3. Clasificarea lui Flynn 62 2.3.1. Clasa SISD (Single Instruction stream - Single Data

    stream) 62

    2.3.2. Clasa SIMD (Single Instruction stream - Multiple Data stream)

    62

    2.3.3. Clasa MISD (Multiple Instruction stream - Single Data stream)

    62

    2.3.4. Clasa MIMD (Multiple Instruction stream - Multiple Data stream)

    62

    2.4. O sintez a diverselor taxonomii ale SCPD 64 2.4.1. Includerea claselor lui Flynn 64 2.4.2. Includerea claselor lui Bell (multiprocesor de tip

    SASA, multicalculator de tip MPA) 65

    2.4.3. Includerea claselor lui Hwang (modelele UMA, NUMA, ccNUMA, COMA)

    65

    2.4.4. Modelele Cluster i Grid 67 2.4.5. O schem taxonomic de sintez 69 2.5. Software pentru configurarea i managementul sistemele

    informatice distribuite 70

    2.5.1. Sisteme de operare multiuser 70 2.5.2. Parallel Virtual Machine (PVM) 71 2.5.3. Message Passing Interface (MPI) 84 2.5.4. Globus Toolkit 89

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    9

    CAPITOLUL 3 INTERCONECTAREA N SISTEMELE DE CALCUL PARALEL I DISTRIBUIT

    95

    3.1. PRAM, un calculator paralel idealizat 95 3.2. Procedee de interconectare n arhitecturile sistemelor de calcul

    paralel i distribuit. Reele de calculatoare 97

    3.2.1. Reea de tip crossbar 98 3.2.2. Interconectarea de tip switchboard 98 3.2.3. Reea de interconectare cu legturi directe limitate 99 3.2.3.1. Magistrala comun (bus) 99 3.2.3.2. Reeaua liniar i ciclic 99 3.2.3.3. Reeaua de tip amestecare perfect 100 3.2.3.4. Reeaua arborescent 101 3.2.3.5. Reeaua de tip latice 102 3.2.3.6. Reeaua de tip hipercub 103 CAPITOLUL 4 INTERNETUL: UN SISTEM DISTRIBUIT DESCHIS I SCALABIL

    105

    4.1. Schema arhitectural a Internetului 106 4.2. Schema funcional a Internetului (router, gateway, host) 108 4.3. Modelul client/server. Protocolul TCP/IP 109 4.3.1. IP (Internet Protocol) 110 4.3.2. TCP (Transmission Control Protocol) 110 4.3.3. UDP (User Datagram Protocol) 110 4.3.4. DNS (Domain Name System) 111 4.3.5. POP3 sau Protocolul Post Office Versiunea 3 122 4.3.6. IMAP (Internet Message Access Protocol) 122 4.3.7. SMTP (Simple Mail Transfer Protocol) 122 4.3.8. HTTP (HyperText Transfer Protocol) 122 4.3.9. HTTPS 123 4.3.10. SSL (Secure Sockets Layer) 123 4.3.11. FTP (File Transfer Protocol) 123 4.3.12. LDAP 123 4.4. World Wide Web: o aplicaie distribuit n Internet 124 4.4.1. Generaliti despre Web. Hipertext i hipermedia 124 4.4.2. Marcarea hipertextului (SGML, XML, HTML, WML,

    XHTML) 126

    4.4.3. URI (Uniform Resource Identifier): URL i URN 126 4.4.4. HTTP (HyperText Transfer Protocol) 127

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 10

    ANEX Minidicionar de calcul paralel i distribuit 128 BIBLIOGRAFIE 143 WEBGRAFIE 146

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    11

    CAPITOLUL 1 SISTEME INFORMATICE DISTRIBUITE 1.1. Scurt descriere a sistemelor informatice distribuite

    1.1.1. Sistem informatic distribuit. Sisteme omogene/eterogene. Sisteme puternic/slab cuplate 1.1.2. Caracteristici i avantaje specifice ale sistemelor distribuite 1.1.3. Midlleware

    1.2. Cerinele unui sistem informatic distribuit

    1.2.1. Eterogenitatea 1.2.2. Scalabilitatea 1.2.3. Securitatea 1.2.4. Tratarea erorilor 1.2.5. Deschiderea 1.2.6. Concurena 1.2.7. Transparena

    1.3. Exemple remarcabile de sisteme informatice distribuite

    1.3.1. Reele de tip internet: SIPRNET, FidoNet, Internet 1.3.2. Intranet i extranet 1.3.3. Nomadic computing i ubiquitous computing 1.3.4. Internet2 1.3.5. PlanetLab 1.3.6. Cluster 1.3.7. Grid

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 12

    1.1. Scurt descriere a sistemelor informatice distribuite

    1.1.1. Sistem informatic distribuit. Sisteme omogene/eterogene. Sisteme puternic/slab cuplate 1.1.2. Caracteristici i avantaje specifice ale sistemelor distribuite 1.1.3. Midlleware

    1.1.1. Sistem informatic distribuit. Sisteme omogene/eterogene. Sisteme puternic/slab cuplate

    Vom admite c prin sistem distribuit de calcul sau sistem informatic distribuit se nelege o mulime de programe peste o reea de noduri (calculatoare, multiprocesoare, procesoare paralele masive, staii de lucru, clustere, grid ..) care au acces fiecare la o memorie proprie (dar pot avea acces i la anumite memorii comune partajate), fiind conectate ntre ele prin nite linii de comunicaie (fir, fibr optic, unde radio, satelii), avnd diverse topologii de conexiune (magistral comun, stea, ...), sistemul fiind conceput cu scopul partajrii unor resurse sau/i pentru rezolvarea concurent a unor aplicaii paralele sau paralelizabile.

    Motivaia pentru construirea i utilizarea sistemelor capabile de calcul paralel vine din nevoia de a reduce timpul de calcul prin diviziunea unei probleme mari n sub-probleme ce se pot rezolva simultan pe structuri de calcul adecvate, iar sistemele informatice distribuite rspund cerinelor de simultaneitate a calcului paralel i au n plus faciliti de a putea partaja unele resurse scumpe: hardware (imprimante, discuri, scanere, faxuri) i software (pagini web, baze de date, fiiere).

    Din punct de vedere al investiiei n echipamente, costurile se pot reduce

    considerabil, dac se utilizeaz un sistem distribuit care partajeaz unele resurse

    hardware scumpe (imprimante, servere cu baze de date, plci pentru achiziie de

    date, discuri, scanere, faxuri etc.), dar i a unor produse software cu licene

    scumpe (medii de programare, limbaje de programare, programe utilitare,

    programe pentru achiziii de date etc.). Acest lucru se face de obicei n

    organizaii (instituii, ntreprinderi) prin organizarea sistemului de calcul ntr-o

    reea Intranet n care este reglementat accesul distribuit la resurse.

    Utilizatorii propriu-zii a sistemelor distribuite de tip Internet sau

    intranet sunt n multe cazuri mai puin preocupai de costurile resurselor

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    13

    folosite, fiind interesai mai mult de funcionalitatea modalitii de partajare a

    resurselor de care trebuie s se foloseasc n aplicaiile lor.

    Partajarea resurselor se face ncepnd de la indivizi foarte apropiai (de

    exemplu, membri unei familii sau colegi de serviciu care folosesc aceeai

    imprimant sau coopereaz n mod direct prin partajarea unor fiiere comune

    dintr-un intranet local) i pn la indivizi care nu se cunosc ntre ei i nici nu

    intr vreodat n contact (de exemplu, utilizatorii unor motoare de cutare pe

    Internet).

    n cadrul partajrii resurselor ntr-un sistem distribuit denumirea de

    serviciu este considerat ca o parte distinct a unui sistem care face

    managementul unei colecii de resurse asemntoare i face public

    funcionalitatea lor utilizatorilor i aplicaiilor care apeleaz la ele. Dac, de

    exemplu invocm un fiier partajat cu ajutorul unui serviciu pentru fiiere,

    accesul se face de fapt printr-o serie de operaii: read, write, delete.

    Termenul de server se refer la un program care ruleaz (proces) pe un

    computer dintr-o reea i care accept cereri de la computere din reea, iar cei

    care trimit cereri poart numele de clieni, funcionalitatea fiind asigurat prin

    protocolul client/ server.

    ntr-un sistem distribuit care este modelat prin folosirea programrii

    orientate obiect, resursele pot fi ncapsulate ca obiecte i pot fi accesate de aa

    numiii client object prin cererea unei metode de la server object. Din punct de vedere al structurii hardware i a tipului de conexiune, sistemele care cuprind mai multe procesoare pot fi:

    puternic cuplate (conectate la nivel de memorie, de exemplu multiprocesoare, clustere);

    slab cuplate (conectate la nivel de reea de calculatoare, de exemplu, multicalculatoare, griduri).

    Sistemele puternic cuplate sunt sisteme n care mai multe procesoare partajeaz aceeai memorie intern i folosesc acelai ceas intern. De exemplu, sistemele din clasa MIMD sunt sisteme puternic cuplate (multiprocesoarele i calculatoarele paralele masive).

    Sistemele slab cuplate sunt sisteme n care fiecare procesor are propria memorie i propriul ceas intern (grid).

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 14

    Sistemele informatice distribuite se mpart n dou clase: sisteme informatice distribuite omogene (bazate pe multiplicarea unor

    resurse identice, de exemplu unele multiprocesoare, MPP sau unele clustere);

    sisteme informatice distribuite eterogene (neomogene), de exemplu reeaua Internet, unele clustere, un sistem grid etc. n practic se ntlnesc cel mai frecvent sistemele distribuite eterogene

    (neomogene) formate n general din componente eterogene: hardware local neomogen: echipamentele electrice i electronice fizice

    diferite, software local neomogen: programele de reea i procese care

    formeaz sistemul distribuit sunt fcute n diverse limbaje de programare, sistemele de operare din nodurile reelei pot fi diferite etc.;

    componente conceptuale neomogene: topologia reelelor care intr n alctuirea sistemului distribuit, modul de comunicare, sincronizare i coordonare ntre procese etc.

    1.1.2. Caracteristici i avantaje specifice ale sistemelor distribuite

    Din modul de definire a sistemelor distribuite rezult cteva

    caracteristici de baz ale lor: concurena: se poate lucra simultan pe diferite computere din reea,

    eventual partajndu-se aceleai resurse (pagini web, fiiere, etc.); lipsa unui ceas global: exist limite n ceea ce privete capacitatea

    computerelor din reea de a-i sincroniza ceasurile interne; rezistena la erori: un defect n reea poate duce la izolarea unor

    computere, ns reeaua va funciona n continuare i de obicei programele care vor rula pe nodul deconectat nu vor detecta c a fost ntrerupt conexiunea sau c aceasta a devenit neobinuit de nceat, ba mai mult, nici celelalte noduri din sistem nu vor sesiza imediat c unul din noduri a czut.

    Proiectarea i utilizarea sistemelor informatice distribuite este argumentat

    de cteva avantaje specifice sistemelor distribuite: Facilitatea schimbului de informaii: creterea exponenial a

    cantitii de informaie i necesitatea de a schimba rapid informaii ntre diferitele puncte aflate n locuri geografice deprtate fac necesar conectarea ntre calculatoare autonome. Sistemele distribuite ofer faciliti de comunicare la distan: un sistem distribuit reprezint un mijloc eficient i comod de comunicare a unor informaii la distan, de

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    15

    exemplu aplicaia Internet, prin intermediul creia se poate realiza comunicarea i corespondena electronic ntre indivizi aflai n locuri diferite (email, chat, forum), cu condiia ca expeditorul i destinatarul s se gseasc ntr-o reea conectat la Internet.

    Partajarea resurselor scumpe: o organizaie prefer s cumpere mai multe calculatoare mai ieftine i de puteri rezonabile n loc s cumpere unul performant i scump. Prin interconectarea acestor calculatoare mai mici ntre ele, eventual cu un numr redus de calculatoare mai puternice ale cror resurse (memorie, putere a procesorului, periferice de capaciti mari) s fie partajate ntre acestea; costul mririi capacitii unei astfel de reele este mult mai mic dect n cazul resurselor conectate la un singur calculator, fie el ct de performant;

    Fiabilitate mrit n funcionare: dac un sistem de calcul este format dintr-un singur calculator, defectarea acestuia face imposibil utilizarea ntregului sistem. La proiectarea unui sistem distribuit trebuie s inem seama de sigurana n funcionare a acestuia, astfel nct cderea unui nod s nu perturbe funcionarea sistemului n ansamblu, ci alte noduri vor prelua sarcinile nodului czut. ntr-un sistem distribuit avem aceast posibilitate datorit faptului c aplicaiile care se ruleaz ntr-un sistem distribuit sunt astfel concepute nct ele s nu sufere din cauza nefuncionrii corecte sau deloc a unor componente, respectiv procese.

    Creterea performanei prin paralelizarea calculului: existena mai multor procesoare ntr-un sistem distribuit face posibil reducerea timpului de realizare a unui calcul laborios prin mprirea sarcinilor ntre diferite procesoare, colectarea ulterioar a rezultatelor pariale i determinarea rezultatului final (acest procedeu este cunoscut sub numele de paralelizare a calculului). Deci, se obine timp de execuie redus pentru aplicaii paralele sau susceptibile de paralelizare;

    Specializarea nodurilor: proiectarea unui sistem de calcul autonom cu funcionaliti multiple este destul de dificil. Din motive practice; la proiectare sistemul se mparte n module, fiecare modul implementnd o parte din funcionaliti i comunicnd cu alte module;

    Scalabilitatea sau extensibilitatea: un sistem distribuit poate fi modificat relativ uor prin adugarea sau ndeprtarea unor noduri; Dintre principale dezavantaje putem aminti:

    exploatarea permanent a unor vulnerabiliti privind securitatea de ctre persoane ruvoitoare care lanseaz atacuri, programe maliioase, troieni, virui etc.;

    dependena utilizatorilor de furnizorii de servicii.

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 16

    Dificultatea construirii unor astfel de sisteme apare n momentul elaborrii algoritmilor de prelucrare ce sunt folosii n sistemele distribuite. Algoritmii utilizai n sistemele distribuite, pe lng faptul trebuie s fie coreci, flexibili i eficieni, trebuie s in cont de resursele care pot fi puse s lucreze n paralel i de modul de comunicare ntre acestea. Dezvoltarea unui algoritm distribuit difer esenial fa de dezvoltarea unui algoritm centralizat, mai ales datorit particularitii sistemelor distribuite, cum ar fi lipsa informaiilor despre starea global, lipsa unui timp global, nedeterminismul etc.

    1.1.3. Midlleware

    Majoritatea sistemelor informatice actuale sunt sisteme deschise neomogene (eterogene), ale cror date si aplicaii coexist pe platforme hardware i software neomogene. Cu toate precauiile productorilor de hardware i software de a respecta anumite cerine generale pentru a facilita comunicarea ntre aceste platforme, este evident c sunt necesare o serie de programe de translatare de la o platform hardware sau software la alta. Acest lucru se face cu ajutorul unor programe intermediare sau midlleware (middle - de mijloc, intermediar, n limba englez).

    Conceptul midlleware joac un rol esenial n sistemele informatice distribuite eterogene. Aceste programe de traducere/ translatare trebuie s ndeplineasc o condiie esenial: transparena pentru utilizator.

    Se poate utiliza middlware orientat pe obiecte, care permite programatorului s creeze un model orientat pe obiecte al unei ntreprinderi i apoi s scrie aplicaiile care cer informaii din obiecte i nu din anumite surse de date. Cererea este coordonat de un Object Request Broker (ORB), adic un intermediar de cereri orientat pe obiecte, care reprezint un middleware.

    Middleware-ul de aplicaie execut operaiile de detaliu privind conexiunea dintre diferitele platforme hardware i software care trebuie s comunice ntre ele pentru a satisface cererile utilizatorului.

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    17

    1.2. Cerine n proiectarea unui sistem informatic distribuit

    1.2.1. Eterogenitatea

    1.2.2. Scalabilitatea

    1.2.3. Securitatea

    1.2.4. Tratarea erorilor

    1.2.5. Deschiderea

    1.2.6. Concurena

    1.2.7. Transparena

    1.2.1. Eterogenitatea

    Aceast caracteristic a sistemelor informatice distribuite se manifest

    la diverse nivele. Un sistem distribuit de tip intranet poate fi format din

    calculatoare eterogene. La rndul su, Internetul este compus din conectarea

    unor intraneturi i calculatoare eterogene, dar diferenele dintre ele sunt ascunse

    de faptul c se utilizeaz pentru comunicare aceleai protocoale. La nivel de

    hardware, tipurile de date, cum ar fi ntregii, de exemplu, au o reprezentare

    diferit n funcie de tipul de procesor folosit. De asemenea, la sistemele de

    operare, modul cum se face de pild schimbul de mesaje n UNIX este diferit de

    modul cum se face schimbul de mesaje n Windows. Eterogenitatea apare i la

    utilizarea limbajelor de programare i aplicaiilor diferite utilizate de diveri

    utilizatori.

    Pentru mascarea eterogenitii la nivelurile amintite mai sus se

    utilizeaz conceptul de arhitectur distribuit middleware, cele mai

    reprezentative fiind:

    CORBA (Common Object Request Broker Architecture);

    DCE (Distributed Computing Environment);

    DCOM (Distributed Component Object);

    Java RMI (Remote Method Invocation).

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 18

    CORBA este un cadru standard de dezvoltare a aplicaiilor distribuite n medii eterogene, la elaborarea cruia au participat toate marile companii de soft, cu excepia Microsoft care i-a fcut produsul propriu DCOM, n care un sistem distribuit este alctuit din "clieni" ce utilizeaz diferite obiecte distribuite. Datorit diverselor modaliti de comportare a obiectelor n sisteme de operare diferite, CORBA lucreaz cu noiunea de "server" (fiecare obiect este asociat unui server). Rolul acestuia este de a include implementarea obiectelor asociate, modelul impunnd doar invocarea de ctre clieni a obiectelor de pe server i nu a serverului nsui.

    DCOM (Distributed Component Object) este soluia oferit de Microsoft, similar cu CORBA, pentru platforme Windows. Acesta permite un sistem de transmitere a mesajelor. Un model de comunicare ntre obiecte COM (Component Object Model), un model de document compus OLE (Object Linking and Embedding), cu servicii de comunicare ntre documente i gestiunea lor, ActiveX- pentru aplicaii Web.

    DCE (Distributed Computing Environment) este promovat de ctre OSF (Open Software Foundation). Facilitai oferite: thread-uri, apeluri de procedur la distan, servicii de directoare. Exist un standard gateway ntre DCE i CORBA prin care CORBA poate lucra peste DCE (protocolul DCE CIOP). Diferena dintre DCE si CORBA const n stilurile de programare adoptate: CORBA folosete un model obiectual, DCE are la baz un model procedural n care se folosesc apeluri la distan (RPC - Remote Procedure Call).

    Java RMI (Remote Method Invocation) a fost dezvoltat de Sun Microsystem. Interfaa de programare Java RMI se caleaz perfect pe modelul orientat obiect oferit de Java, unde se pot crea obiecte ale cror metode pot fi invocate din alte maini virtuale. Aici intervine conceptul de cod mobil, ce desemneaz codul care poate fi trimis de pe o maina pe alta i ruleaz la destinaie (de exemplu apleturile Java). Pentru a putea rula este nevoie de existena unei maini virtuale.

    Relaia ntre Java RMI i CORBA este mai mult una de complementaritate dect de concuren, ns se poate vorbi de o adevrat rivalitate ntre Java/CORBA pe de o parte i DCOM, pe de alt parte.

    1.2.2. Scalabilitatea

    Scalabilitatea a fost introdus la nceput pentru compararea sistemelor

    paralele. n aceast accepiune scalabilitatea nseamn modificarea liniar a

    performanelor unui sistem, adic nu se produce o modificare semnificativ a

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    19

    performanelor odat cu modificarea numrului sau calitii resurselor instalate

    (numr de procesoare sau procesoare mai rapide, capacitatea memoriei etc.). Un

    calculator paralel de tip multiprocesor cu memorie comun asigur

    scalabilitatea numai pn la aproximativ 30 de procesoare. n plus, costurile

    sistemelor paralele sunt prea mari raportate la ciclul de via, motiv pentru

    interesul s-a deplasat spre sisteme distribuite eterogene, formate din colecii de

    PC-uri, staii de lucru, supercalculatoare, multiprocesoare, MPP (Masssively

    Parallel Processors) i reele de calculatoare.

    Vom considera c un sistem distribuit eterogen este scalabil, dac

    funcionarea sa nu este afectat atunci cnd se modific semnificativ numrul i

    tipul de resurse, precum i numrul de utilizatori.

    Dei numrul de utilizatori de Internet crete drastic n fiecare an, totui

    sistemul distribuit i eterogen Internet rmne scalabil.

    Din punctul de vedere al programrii, marele avantaj al scalabilitii este

    urmtorul: creterea n timp a complexitii unei aplicaii sau mrirea

    dimensiunii sale nu prezint nici o problem pentru programator, dac sistemul

    pe care se execut este scalabil. Pentru ca un sistem distribuit s fie scalabil, la proiectarea sa trebuie

    gsite soluii la probleme ca: controlul costului resurselor fizice: pentru ca un sistem cu n utilizatori

    s fie scalabil, cantitatea de resurse fizice trebuie s fie n jur de O(n); controlul pierderii performanelor: creterea dimensiunii duce n

    general la scderea performanelor, deci trebuie gsite soluii pentru ca aceast scdere s fie semnificativ ;

    prevenirea cderii resurselor software; evitarea strangulrilor: un exemplu de strangulare se ntlnea la

    predecesorul DNS-ului actual cnd tabelul era inut ntr-un singur fiier master care putea fi downloadat de oricine avea nevoie, dar situaia s-a complicat cnd numrul de computere din reea a nceput s creasc.

    Rezolvarea problemei scalabilitii este una foarte important i dificil

    n domeniul sistemelor distribuite. n mod ideal un sistem nu ar trebui modificat

    atunci cnd numrul de utilizatori sau de resurse cresc, dar acest lucru este greu

    de realizat. Ca soluii de ameliorare a scalabilitii s-au propus: replicarea

    datelor, tehnici de cashing, crearea de taskuri similare care sa funcioneze

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 20

    concurent, crearea de servere care s conlucreze pentru rezolvarea anumitor

    taskuri etc.

    1.2.3. Securitatea Exist trei concepte fundamentale de securitate a informaiei: 1. Atac de securitate: orice aciune care poate compromite securitatea

    informaiilor dintr-un sistem; 2. Mecanism de securitate: mijloc pentru detectarea i prevenirea

    atacurilor de securitate; 3. Serviciu de securitate: monitorizeaz atacurile i declaneaz

    mecanismele de securitate adecvate.

    Principalele atacuri de securitate, pasive sau active, asupra unui sistem informatic distribuit (n special n reelele de calculatoare) sunt: 1. ntreruperea: un element al sistemului este scos din uz (distrugerea unei

    piese hardware sau compromiterea unei linii de comunicaie); 2. Intercepia: o entitate neautorizat (o persoan sau un program) are acces n sistem, putnd captura date sau copia fiiere i programe; 3. Modificarea: o entitate neautorizat poate modifica coninutul mesajelor transmise sau poate schimba date n fiiere; 4. Falsificarea: o entitate neautorizat poate s nsereze mesaje false n reea sau s adauge nregistrri false n fiierele de date. Atacurile pasive dintr-o reea de calculatoare doar spioneaz (studiaz i monitorizeaz) activitatea din sistem, fr a face modificri asupra fiierelor sau a mesajelor transmise i din acest motiv sunt foarte greu de depistat.

    Se cunosc dou tipuri de atacuri pasive: atacuri care intercepteaz coninutul mesajelor transmise n reea, atacuri care analizeaz traficul n reea, putnd determina locaiile sursei

    i destinatarului, frecvena i lungimea mesajelor etc.

    Atacurile active pot fi de grupate n patru categorii: Mascarada: o entitate se prezint ca fiind o alt entitate, de exemplu o

    entitate cu drepturi mai puine n sistem poate s pretind c este o alta cu mai multe privilegii;

    Retransmiterea: dup capturarea pasiv a datelor, acestea sunt retransmise pentru a produce un efect neautorizat;

    Modificarea mesajelor: poriunea unui mesaj poate fi modificat astfel nct s produc efecte de modificare a autorizrii iniiale, de exemplu, mesajul se permite lui Dorin Ifrim s citeasc fiierul

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    21

    confidenial accounts, se poate modifica n se permite lui Dan Ivan s citeasc fiierul confidenial accounts;

    Refuzul de servicii (denial of service): o entitate neautorizat poate suspenda drepturile de acces a unei alte entiti autorizate sau poate suprancrca reeaua cu mesaje de bruiaj, sczndu-i astfel performanele.

    Serviciile de securitate a unei resurse (computer, baz de date, fiier,

    imprimant etc.) aflate ntr-un sistem distribuit vizeaz urmtoarele aspecte: Confidenialitatea: protecia datelor mpotriva atacurilor pasive (de la

    protecia fizic la algoritmi matematici); Controlul accesului: dreptul de acces la resurs doar pentru utilizatorii

    autorizai pe baz de username i parol i protecie mpotriva accesului neautorizat;

    Integritatea: protecie mpotriva manipulrii de date (alterrii sau coruperii) resursei prin programe maliioase lansate de o entitate neautorizat;

    Disponibilitatea: protecie mpotriva interferenelor atunci cnd se dorete accesarea unei resurse la care avem drept de utilizare i asigurarea c datele, aplicaiile sau programele sunt ntotdeauna disponibile pentru entitile autorizate;

    Autenticitatea: dou entiti se pot identifica una pe alta prin asigurarea la iniierea comunicaiei c cele dou entiti sunt autentice i protecia mpotriva interferrii unei a treia entiti neautorizate pe parcursul comunicaiei, care ar putea pretinde c este una din cele dou entiti autorizate;

    Nerepudierea: previne ca nici o entitate s nu refuze recunoaterea faptului c a beneficiat de un serviciu executat, de exemplu, cnd un mesaj este trimis, se poate demonstra de ctre destinatar c mesajul primit este cel trimis de emitor, respectiv emitorul poate demonstra c destinatarul a primit mesajul trimis de emitor.

    Informaii suplimentare despre securitatea datelor i sigurana

    comunicaiilor. tiina care se ocup de studiul siguranei comunicaiilor se numete criptologie.

    Criptologia are dou ramuri: Criptografia: studiaz algoritmii de criptare i decriptare pentru

    asigurarea secretizrii i autenticitii mesajelor (poate fi simetric - cu cheie secret sau asimetric cu chei publice);

    Criptanaliza: studiaz spargerea cifrurilor pentru refacerea informaiilor.

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 22

    Mecanismele de securitate stabilite de OSI (Open System Interchange) sunt:

    Criptarea: se utilizeaz pentru asigurarea confidenialitii i are rolul de a transforma datele, astfel nct s devin inteligibile numai de ctre entitatea autorizat;

    Mecanismul de semntur digital: are scopul de a confirma c datele au fost produse chiar de semnatar (cuprinde mecanismul pentru producerea semnturii i mecanismul pentru verificarea semnturii);

    Mecanismul de integritate a datelor: este menit s asigure integritatea datelor n timpul transmisiei, adic asigurarea faptului c n timpul transmisiei datele nu pot fi terse sau amestecate (la expediere, expeditorul adaug o informaie adiional ce depinde numai de datele transmise, iar la recepie, receptorul genereaz aceeai informaie adiional i o compar cu cea primit);

    Mecanismul de control al accesului: controlul accesului la resurse a entitilor prin mecanisme bazate pe una sau multe din urmtoarele instrumente: lista drepturilor de acces, parole, etichete de securitate, durata accesului, timpul de ncercare a accesului, calea de ncercare a

    accesului;

    Mecanismul de autentificare a schimbului: const n parole sau tehnici criptografice menite s dovedeasc identitatea entitilor (la expediere, expeditorul adaug o informaie adiional ce depinde numai de datele transmise, iar la recepie, receptorul genereaz aceeai informaie adiional i o compar cu cea primit);

    Mecanismul de control al rutrii: informaiile sunt dirijate pe baza unui protocol prestabilit sau pe baza unuia dinamic pe rutele considerate mai sigure;

    Mecanismul de umplere artificial a traficului: ajut la protecia mpotriva analizei traficului i const n una din urmtoarele procedee: generarea unui trafic fals, umplerea pachetelor de date transmise cu date redundante; transmiterea de pachete i spre alte destinaii n afara celei vizate;

    Mecanismul de notariat: implic existena unui mecanism de arbitraj, numit notar, n care au ncredere toate entitile, cu scopul obinerii de garanii n privina autenticitii i integritii.

    Principalele soluii de securitate relativ la informaiile din Internet sunt:

    la nivel de reea: s-a dezvoltat o arhitectur de securitate la nivel de IP i la nivel de protocolul TCP/IP (Transmision Control Protocol/ Internet Protocol);

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    23

    la nivel de sesiune: se folosete deseori protocolul SSL (Secure Sockets Layer), care ofer servicii de securitate chiar deasupra nivelului TCP, folosind criptosisteme cu chei publice i secrete, astfel nct s asigure confidenialitatea, integritatea i autenticitatea clientului sau serverului din sistem.

    1.2.4. Tratarea erorilor

    Un procesor/computer din reea poate eua n mod independent de

    celelalte. De aceea fiecare component din sistem trebuie s in cont de faptul

    c o alt component de care depinde poate eua i s fie capabil s gseasc o

    soluie n caz de avarie. Iat cteva tehnici folosite pentru tratarea erorilor: 1. Detectarea erorilor (care pot fi detectate). De exemplu, utilizarea

    sumei de control poate fi folosit pentru a verifica dac nite date au fost corupte. Sunt i erori care sunt greu de detectat, de exemplu cderea la distan a unui server, marea provocare fiind de a gsi soluii n cazul de erori care nu pot fi detectate cu precizie, ci doar suspectate.

    2. Mascarea erorilor (unele erori care pot fi detectate pot fi ascunse sau gsite soluii de ameliorare a lor). Exemplu de situaii de ascundere a erorilor : un mesaj poate fi retransmis atunci cnd transmisia sa a euat; unui fiier i se poate pstra o copie pe un alt suport i dac o variant a fost corupt se poate folosi varianta buna pus la pstrare.

    3. Tolerana la erori. De exemplu, un browser Web performant care nu poate intra n contact cu un server, informeaz utilizatorul asupra problemei i nu l face s atepte indefinit.

    4. Recuperarea datelor. Sistemul trebuie astfel proiectat nct datele s poat fi recuperate dup ce serverul a czut.

    5. Redundana. Serviciile dintr-un sistem distribuit trebuie s fie tolerante la erori prin folosirea unor tehnici de redundan (multiplicare a datelor i cilor de comunicare). De exemplu, ntre dou rutere din Internet ntotdeauna trebuie s existe minim dou ci de acces diferite. n Domain Name Service (DNS), fiecare tabel se gsete pe cel puin dou servere diferite, o baz de date poate fi replicat pe mai multe servere (atunci cnd un server cade utilizatorul este redirectat ctre serverul care funcioneaz).

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 24

    1.2.5. Deschiderea

    Termenul de deschidere (openness) este caracteristica unui sistem care

    indic, dac el poate fi extins i implementat n moduri diferite. Deschiderea

    pentru un sistem distribuit se refer n primul rnd la disponibilitatea de

    adugare i publicarea de noi servicii de partajare a resurselor (interfeele crora

    devin publice). Sistemele distribuite deschise sunt bazate pe asigurarea unui

    mecanism uniform de comunicare i publicare a interfeelor pentru accesul la

    resursele partajate n mod transparent. Sistemele distribuite pot fi constituite din

    entiti eterogene, dar trebuie s se asigure buna funcionare a acestora n cadrul

    SD. Marea provocare a deschiderii const n integrarea componentelor scrise de

    utilizatori diferii.

    1.2.6 Concurena ntr-un sistem distribuit exist posibilitatea ca o aceeai resurs partajat

    s poat fi accesat de mai muli utilizatori simultan. O soluie limitativ i greu

    acceptabil ar fi ca mecanismul care face managementul resursei s serveasc

    numai cte un client odat. n general ns aplicaiile n sistemele distribuite

    sunt construite pentru a putea deservi mai muli clieni simultan

    (multiprocessing, multitasking etc.). Pentru ca un obiect s fie sigur ntr-un

    mediu concurent, operaiile asupra lui trebuie s poat fi sincronizate astfel

    nct s avem date consistente pentru fiecare utilizator. Acest lucru se poate

    obine prin tehnici standard de sincronizare, cum ar fi semafoarele.

    1.2.7. Transparena

    Un sistem este transparent atunci cnd este perceput ca un ntreg i nu

    ca o simpl colecie de componente independente i eterogene.

    Exist mai multe tipuri de transparen: 1. Acces transparent: permite ca resursele remote i cele locale s poat

    fi accesate prin aceleai operaii; 2. Transparena localizrii: face posibil accesarea resurselor fr s se

    tie unde sunt localizate; 3. Transparena concurenei: permite ca mai multe procese s opereze

    concurent folosind resursele partajate fr s interfereze ntre ele;

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    25

    4. Transparena replicrii: ofer posibilitatea ca mai multe instane a unei resurse s poat fi folosite, mrindu-se astfel performana i robusteea;

    5. Transparena erorilor: faciliteaz ascunderea erorilor, permind utilizatorilor s-i rezolve task-ul chiar dac apar erori software sau hardware;

    6. Mobilitate transparent: face posibil mobilitatea resurselor i a clienilor n SD fr s fie afectat operaionalitatea;

    7. Performana transparent: permite SD s poat fi reconfigurat pentru a-i se mbunti performanele;

    8. Scalabilitate transparent: permite extinderea SD fr s fie nevoie de schimbarea structurii sistemului sau a algoritmilor folosii.

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 26

    1.3. Exemple remarcabile de sisteme informatice distribuite

    1.3.1. Reele de tip internet: SIPRNET, FidoNet, Internet 1.3.2. Intranet i extranet 1.3.3. Nomadic computing i ubiquitous computing 1.3.4. Internet2 1.3.5. PlanetLab

    1.3.1. Reele de tip internet: SIPRNET, FidoNet, Internet

    Cuvntul internet provine din concatenarea prescurtrilor a dou cuvinte englezeti, interconnected (interconectat) i network (reea) i desemneaz o reea de mari dimensiuni format prin interconectarea mai multor reele autonome eterogene.

    Astfel, substantivul comun internet (cu minuscul) desemneaz n general o reuniune de reele, vzut ca o reea unitar, mpreun cu informaia i serviciile care sunt oferite utilizatorilor prin intermediul acestei reele (Web, E-Mail, FTP etc.).

    Exemple de reele mari de tip internet sunt Secret Internet Protocol Router Network (SIPRNET), vezi http://www.fas.org/irp/program/disseminate/siprnet.htm; FidoNet, vezi http://www.fidonet.org/ ; Internet, vezi http://www.internet.com/ .

    Cea mai mare, mai notorie i uzual dintre reele de tip internet la ora actual (n 2006, dar lucrurile evolueaz incredibil de rapid) este numit Internet (nume propriu, scris cu majuscul), adic super-reeaua mondial unic de computere, interconectate prin protocolul IP/TCP. Precursorul Internetului dateaz din 1965, cnd Defence Advanced Research Projects Agency (DARPA) din SUA a creat prima reea de computere interconectate sub numele Arpanet. Super-reeaua Internet de azi a rezultat din extinderea reelei Arpanet.

    Att Internetul sau The NET (Reeaua), cum i se mai spune n lume,

    ct i alte reele mai mici de tip internet sunt exemple de sisteme informatice distribuite.

    Astfel, prin Internet multe resursele dint-o anumit locaie geografic pot fi partajate (exploatate n comun) de ctre utilizatori din cele mai diverse locuri geografice. De exemplu, varianta online a publicaiei International

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    27

    Journal of Computers, Communications and Control (IJCCC), a crui baz de date se afl pe serverul Universitii AGORA, la adresa www.journal.univagora.ro, este citit simultan de ctre cititori din Romnia, SUA, India, China, Canada etc. De asemenea, oricine dispune de un nume de user i o parol pentru administrarea bazei de date a IJCCC, poate face modificri n aceasta baz de date de la orice computer din lume care este conectat la Internet.

    Utiliznd n Internet aplicaia distribuit WWW, putem deschide diverse pagini web, de exemplu pagina web a Universitii Babe-Bolyai din Cluj Napoca se afl la adresa http://www.ubbcluj.ro/, iar a Universitii Agora Oradea la adresa http://www.univagora.ro.

    1.3.2. Intranet i extranet

    Un alt exemplu de sistem distribuit (SD) este intranetul, care este o reea particular cu aceleai principii de funcionare ca i Internetul, dar cu acces restrns, de exemplu intranetul sau intraneturile unei firme particulare.

    Un intranet este o reea nchis sau o sub-reea dintr-un internet sau chiar din Internet care este administrat autonom i pentru care exista un sistem de securitate local. Un intranet poate fi format din mai multe reele de tip Local Area Network (LAN), legate ntre ele prin anumite sisteme de comutare. Un intranet poate fi conectat la Internet printr-un router , care permite utilizatorilor din intranet s utilizeze servicii ca Web, FTP sau EMAIL. De asemenea permite utilizatorilor din exterior (din Internet) s acceseze servicii pe care le pune eventual la dispoziie intranetul. Pentru a se proteja de diferite atacuri maliioase, sunt utilizate soft-uri de tip firewall, care previn utilizatorul c anumite mesaje neautorizate ncearc s intre sau s plece. Un firewall este implementat s filtreze anumite mesaje conform unor criterii, de exemplu el permite trecerea doar a mesajelor legate de pota electronic.

    Tot mai multe organizaii investesc n intranet i n diverse sisteme informatice/informaionale integrate, de tip ERP (Enterprise Planning Resource) sau sisteme expert pentru asistarea deciziei. ntr-o baz de date comun i unic se gsesc toate informaiile necesare angajailor i managerilor, unele fiind disponibile i partenerilor sau chiar publice. Exist organizaii care din motive de securitate, pentru a preveni spionajul prin mijloace informatice, nu doresc conectarea intraneturilor lor la Internet (anumite organizaii militare, unele centre de cercetare, etc).

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 28

    Extranetul este un intranet particular al unei firme, la care ns au acces limitat i anumite persoane sau grupuri din exterior, din alte firme, ca de exemplu de la firme-furnizor sau firme-client.

    1.3.3. Nomadic computing i ubiquitous computing

    n lumea sistemelor informatice distribuite un rol deosebit l au n

    prezent dispozitivele miniaturizate i reelele wireless. De exemplu, cu ajutorul unui laptop sau chiar a telefonului mobil, printr-o conexiune de tip wireless ne putem conecta aproape de pretutindeni la intranetul home i putem utiliza resursele de acolo (de pe calculatorul de acas sau de la serviciu). Putem vorbi astfel de un calcul mobil (nomadic computing).

    Ubiquitous computing promoveaz ideea aparent opus, computere omniprezente, adic s existe computere conectate la internet n locuri n care exist indivizi obligai s stea un timp mai lung sau mai scurt (imobilizai acas sau n spitale, n staiuni turistice, n gri i aeroporturi etc.), pe care indivizii le pot accesa pentru a comunica sau pentru a accesa anumite informaii din exterior. De exemplu, de la calculatorul de acas conectat la Internet, putem accesa diverse informaii de la serviciu sau putem citi presa din Bucureti sau Londra, sau putem coresponda prin email sau online cu orice persoan din lume care dispune de aceleai faciliti. n afar de laptopuri i de telefoanele mobile performante, amintim imprimantele inteligente, ceasurile inteligente, PDA (Personal Digital Assistant), camere video digitale, iPOD-uri, care contribuie la dezvoltarea tot mai expansiv a calculului nomadic.

    1.3.4. Internet2

    Sursa: http://www.internet2.edu/

    Internet2 este cel mai avansat consoriu de networking din SUA organizat pe principiul non-profit. nfiinat de comunitatea de cercetare i educaie ncepnd cu anul 1996, Internet2 are n vedere dezvoltarea de aplicaii i tehnologii de reea avansate, cu scopul de a accelera modernizarea Internetului i utilizarea tehnologiilor sale revoluionare.

    n afar de implicarea a peste 200 de universiti din SUA, Internet2 promoveaz colaborarea cu peste 70 mari corporaii (Microsoft, IBM, CISCO, SUN, ...) i organizaii, precum i 45 organizaii guvernamentale americane (laboratoare de cercetare, departamente guvernamentale etc.). De asemenea, la acest proiect colaboreaz peste 50 de parteneri din afara granielor SUA.

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    29

    Din punct de vedere practic, Internet2 nu este o reea fizic separat i aceast reea nu-i propune s nlocuiasc omniprezentul Internet. Ideea pe care se merge este c pe platforma Internet existent deja, prin colaborarea universitilor, institutelor de cercetare i companiilor s se accelereze procesul de dezvoltare de noi tehnologii i aplicaii. Pare incredibil, dar prin Internet2 se ating viteze de transfer de 20.000 de ori mai mari dect printr-o conexiune tradiional dial-up! Experimentele efectuate au demonstrat c, de exemplu, o copie a DVD-ului cu filmul The Matrix poate fi downloadat n aproximativ 30 de secunde utiliznd Internet2, proces care pe Internet la o conexiune de vitez medie ar putea dura circa 15-20 de ore.

    n ce msura vor fi avantajai utilizatorii casnici de facilitile pe care le ofer sau le va oferi Internet2? La nceputurile sale, Internetul avea doar cteva mii de utilizatori, fiind axat pe interconectare ntre super-calculatoare, acces de la distan i transfer de fiiere. Azi exist sute de milioane de utilizatori, iar serviciile principale utilizate sunt e-mailul, chatul, transmisii video i tehnologii P2P sau VoIP. n viitor se ateapt creterea drastic a numrului de utilizatori i a dispozitivelor dedicate, convergena aplicaiilor multimedia: chat, telefonie, video-conferine sau HDTV (High-Definition TeleVision).

    Cine se conecteaz la Internet2? Evident c deocamdat universitile, organizaiile i cei care au acces la aceasta reea ca parteneri n consoriu. Dac dorim s aflm, dac computerul nostru este conectat la Internet2, se poate afla acest lucru fr dificultate folosind un applet Java de la adresa http://detective.internet2.edu/applet/index.html.

    1.3.5. PlanetLab

    Sursa: http://www.planet-lab.org/

    PlanetLab era la sfritul anului 2006 format dintr-o reea de 723 maini distribuite pe tot globul, fiind gzduit de 353 situri, de pe cuprinsul a peste 25 de ri. Majoritatea mainilor este gzduit de institute de cercetare, dei unele din ele sunt gzduite n co-locaie i cu diverse centre de rutare (cum ar fi Internet2 Abilene backbone). Toate mainile sunt conectate la Internet, inta PlanetLab fiind de a crete la peste 1000 numrul nodurilor n majoritatea dintre importantele zone regionale ale backbonurilor de Internet.

    PlanetLab are mai multe aspecte, despre care se pot afla mai multe informaii citind urmtoarele dou articole, care se pot descrca de pe pagina oficial a PlanetLab: http://www.planet-lab.org/:

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 30

    [PAC+02] : Larry Peterson, Tom Anderson, David Culler, and Timothy Roscoe, A Blueprint for Introducing Disruptive Technology into the Internet, Proceedings of the First ACM Workshop on Hot Topics in Networking (HotNets), October 2002.

    [BBC+04]: Andy Bavier, Mic Bowman, Brent Chun, David Culler, Scott Karlin, Steve Muir, Larry Peterson, Timothy Roscoe, Tammo Spalink, and Mike Wawrzoniak, Operating System Support for Planetary-Scale Services, Proceedings of the First Symposium on Network Systems Design and Implementation (NSDI), March 2004.

    Primul din aceste articole prezint viziunea iniial despre PlanetLab, iar al doilea descrie principiile de organizare i arhitectura sa. Mai multe informaii se pot afla citind PlanetLab Design Notes (PDNs), care se pot descrca de la pagina http://www.planet-lab.org/PDN/.

    PlanetLab este o reea de servicii de calcul i o baz de testare deschis i global pentru dezvoltarea noilor tehnologii Internet. Dup cum vom prezenta mai jos, cele mai importante centre de cercetare i universiti din lume sunt deja membre ale PlanetLab, inclusiv: AT&T Labs, Cambridge University, France Telecom, HP, NEC Labs, Princeton University, UC Berkeley, alturi de centre educaionale din Brazilia, Canada, China i organizaia Internet2.

    n 2004, Intel Corporation a descris schimbrile semnificative care ar trebui implementate pentru ca infrastructura Internetului s devin mai sigur, mai fiabil, mai eficient i mai accesibil. Vicepreedintele senior al Intel, Pat Gelsinger, a afirmat c prin adugarea la Internet a unei reele de servicii care conine resurse de calcul i stocare, industria poate aduga un plus de inteligen n i de-a lungul reelei nucleu. Acest lucru ar transforma Internetul ntr-o vast platforma care gzduiete servicii disponibile celor peste ase miliarde de locuitori ai Terrei.

    Gelsinger s-a referit la posibilitatea de a oferi servicii pe scar mondiala a Internetului, care s detecteze i s alarmeze n legtur cu atacurile viruilor, s redirecioneze traficul reelei pentru a se evita nodurile lente, pentru a uura accesul utilizatorilor din regiunile n care furnizarea electricitii lipsete sau nu este de calitate. Gelsinger a apelat la industria si potenialii utilizatori ai serviciului pe scar planetar s ajute la crearea unui Internet mai detept prin alturarea la PlanetLab Consortium.

    n sublinierea provocrilor de a mbunti serviciile Internetului, lui Pat Gelsinger i s-a alturat i printele Internetului Vint Cerf, vicepreedinte senior al strategiei tehnologice MCI. Pentru a oferi serviciile Internetului miliardelor de noi utilizatori, cercettorii industriali propun o nou generaie de dispozitive operate de baterii la preuri reduse care pot fi folosite n regiuni

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    31

    defavorizate, unde nu se pot folosi calculatoarele tradiionale datorit lipsei de electricitate. S-a descris modul n care serviciile la scar global ar putea ajuta aceti utilizatori prin suportul a noi tipuri de conexiuni i stocare in-network, care pot opri ntreruperile i ntrzierile n tranzacii. Un alt serviciu inteligent propus ar fi trans-codarea, adic capacitatea reelei de a converti de a lungul reelei coninutul ntr-o forma potrivit diverselor dispozitive.

    Urmtoarele instituii gzduiau la sfritul anului 2006 sau i propuneau s gzduiasc n viitor noduri aparinnd PlanetLab, cf. http://www.planet-lab.org/php/institutions.php :

    1. Academia Sinica Taiwan 2. ADETTI/ISCTE 3. American University of Beirut 4. Architecture Technology 5. AT&T LabsResearch 6. Bar-Ilan University 7. BeiHang University 8. Beijing Institute of Technology,

    Intelligent Information Network Lab

    9. Ben-Gurion University of the Negev

    10. Birkbeck University of London 11. Boston University 12. Brigham Young University 13. California Institute of Technology 14. CANARIE 15. Canarie Calgary 16. Canarie Halifax 17. Canarie Montreal 18. Canarie Ottawa 19. Canarie Toronto 20. Canarie Winnipeg 21. Carnegie Mellon University 22. Case Western Reserve University 23. Centre for Development of

    Advanced Computing 24. CERNET - Fudan University 25. Centro Nacional de Calculo

    Cientifico Universidad de Los Andes

    26. CERNET - Harbin Institude of Technology

    27. CERNET - Huazhong University of Science & Technology

    28. CERNET - Jilin University 29. CERNET 30. CERNET - Beihang University 31. CERNET - Beijing Jiao Tong

    University 32. CERNET - Beijing University of

    Posts and Telecommunications 33. CERNET - Central South

    University 34. CERNET - Chongqing University 35. CERNET - Dalian University of

    Technology 36. CERNET - Lanzhou University 37. CERNET-MSR Joint Lab,

    Tsinghua University 38. CERNET - Northeast University 39. CERNET - Peiking University 40. CERNET - Shandong University 41. CERNET - Shanghai Jiao Tong

    University 42. CERNET - South China

    University of Technology 43. CERNET - Southeast University 44. CERNET - Tianjin University 45. CERNET - Tongji University 46. CERNET - Tsinghua University 47. CERNET - University of

    Electronic Science & Technology of China

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 32

    48. CERNET - University of Science & Technology of China

    49. CERNET - Xiamen University 50. CERNET - XiAn Jiao Tong

    University 51. CERNET - Zhejiang University 52. CERNET - Zhengzhou Univeristy 53. CESNET - Czech Education and

    Research Network 54. Chinese Academy of Sciences,

    Computer Network Information Center

    55. Chinese University of Hong Kong 56. Chungnam National University 57. City College of the City

    University of New York 58. Collegium Budapest 59. Colorado State University 60. Columbia University 61. Cornell University 62. CSLab - Institute of

    Communication and Computer Systems of National Technical University of Athens

    63. Darmstadt University of Technology

    64. Dartmouth College, Computer Science

    65. Datalogisk Institut Copenhagen 66. Delft University of Technology 67. Department of Electrical

    Engineering, National Taiwan University

    68. DePaul University 69. Dept. of Computer Science,

    National Chengchi University 70. Dipartimento di Informatica di

    Torino 71. Duke University 72. Ecole Nationale Superieure des

    Telecommunications 73. ERNET India 74. ETH Zuerich

    75. Eurecom Institute 76. Forschungsgemeinschaft

    elektronische Medien e.V. (FeM)

    77. France Telecom R&D 78. France Telecom R&D Lannion 79. Fraunhofer-Institute for

    Telecommunications - Heinrich-Hertz-Institut

    80. Fraunhofer Institut fur Techno- und Wirtschaftsmathematik

    81. Friedrich-Alexander University Erlangen-Nuremberg

    82. Fu Jen Catholic University 83. George Mason University 84. Georgetown University 85. Georgia Institute of Technology 86. GIST 87. Google 88. Haifa University 89. Harvard University 90. Helsinki Institute for

    Information Technology 91. Helsinki Institute of Physics 92. Howard University 93. HP Brazil - RandD 94. HP Labs 95. HP Labs, Bristol 96. HP Labs, Cambridge 97. HP Labs, Internet 2 98. IBBT - Ghent University 99. IIS, UniBw Munich 100. Illinois Institute of

    Technology 101. Imperial College London -

    ISN 102. Indiana University

    (Bloomington) 103. Indian Institute of Information

    Technology, Bangalore 104. Indian Institute Of

    Technology Bombay

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    33

    105. Indian Institute of Technology Delhi

    106. Indian Institute of Technology Roorkee

    107. Information and Communications University

    108. INRIA Sophia Antipolis 109. Institute for Applied

    Supercomputing, California State University San Bernardino

    110. Instituto de Pesquisa Tecnologicas de So Paulo

    111. Instituto Superior Tecnico 112. Inst. of Computer Science,

    Foundation for Research and Technology - Hellas

    113. Intel IT - Folsom 114. Intel Labs - Oregon 115. Intel Leixlip 116. Intel - Nizhny Novgorod 117. Intel Research at Seattle 118. Intel Research Berkeley 119. Intel Research Pittsburgh 120. International University Bremen 121. Internet2 122. Internet2 - Atlanta 123. Internet2 - Chicago 124. Internet2 - Denver 125. Internet2 Houston 126. Internet2 - Indianapolis 127. Internet2 - Kansas City 128. Internet2 - Los Angeles 129. Internet2 - New York 130. Internet2 - Seattle 131. Internet2 - Sunnyvale 132. Internet2 - Washington 133. Interxion Frankfurt 134. Iowa State University Electrical

    and Computer Engineering

    135. ITEC, Klagenfurt University

    136. Japan Advanced Institute of Science and Technology (JAIST)

    137. Japan Gigabit Network II 138. Johns Hopkins CNDS 139. Johns Hopkins Information

    Security Institute 140. KAIST 141. Kansas State University 142. Keio University 143. KREONET at KISTI-

    DAEJON 144. Laboratoire d'Informatique

    de Paris 6 145. Lancaster University 146. LARC - University of Sao

    Paulo 147. Lawrence Berkeley

    National Laboratory 148. Learning Lab Lower

    Saxony (L3S) University of Hannover

    149. Massachusetts Institute of Technology

    150. Max Planck Institute for

    Software Systems 151. McGill University 152. MCI GRID Lab 153. Michigan State University 154. Monash University - DSSE 155. Moscow Institute of

    Physics and Technology 156. Moscow State University 157. Moscow State University,

    Chemistry

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 34

    158. Munich University of Technology

    159. Nara Institute of Science and Technology, Graduate School of Information Science

    160. National Institute of Information and Communications Technology

    161. National Taiwan University, Department of Information Management

    162. National Tsing Hua University 163. National University of

    Singapore 164. NEC Laboratories 165. New York University 166. Nizhny Novgorod State

    University 167. North Carolina AT State

    University 168. North Carolina State

    University 169. Northeastern University CCIS 170. Northwestern University at

    Illinois 171. Ohio State University 172. Oklahoma State University

    (Tulsa) 173. Orbit 174. Oregon State University

    School of Electrical Engineering and Computer Science

    175. Packet Clearing House - San Francisco

    176. Penn State University 177. PlanetLab Central 178. PlanetLab Colo - AMST 179. PlanetLab Colo - McLean, VA 180. PlanetLab Colo - NICT JGN2

    Fukuoka

    181. PlanetLab Colo - NICT JGN2 Hiroshima

    182. PlanetLab Colo - NICT JGN2 Kochi

    183. PlanetLab Colo - NICT JGN2 Nagoya

    184. PlanetLab Colo - NICT JGN2 Okayama

    185. PlanetLab Colo - NICT JGN2 Osaka

    186. PlanetLab Colo - NICT JGN2 Sendai

    187. PlanetLab Colo - Santa Clara

    188. PlanetLab Colo - SJCE 189. PlanetLab Colo - Sterling,

    VA 190. PlanetLab Colo - TP

    Gdansk 191. PlanetLab Colo - TP

    Piotrkow Trybunalski 192. PlanetLab Colo - TP Poznan 193. PlanetLab Colo - TP

    Warsaw 194. Politecnico di Milano - Dip.

    di Elettronica e Informazione 195. Politecnico di Torino 196. Polytechnic University 197. Princeton 198. Princeton - DSL 199. Public Broadcasting Service 200. Purdue 201. Queen Mary, University of

    London 202. Rensselaer Polytechnic

    Institute 203. Reykjavik University -

    Network Laboratory 204. Rice University

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    35

    205. RNP 206. RNP Ceara 207. RNP - Rio de Janeiro 208. RNP - Rio Grande do Sul 209. Royal Institute of Technology

    (KTH), Sweden 210. Rutgers University 211. RWTH Aachen 212. San Jose State University 213. Seoul National University 214. Simon Fraser University 215. Simula Research Laboratory 216. Singapore Advanced Research

    and Education Network 217. Stanford University 218. Stevens Institute of Technology 219. Stony Brook University 220. Swedish Institute of Computer

    Science 221. Swiss Federal Institute of

    Technology Lausanne (EPFL) 222. SwRI/UT San Antonio 223. Technical University Ilmenau 224. Technical University of Madrid 225. Technion - Israel Institute of

    Technology 226. Technische Universitaet

    Dresden 227. Technische Universitat Berlin 228. Tel-Aviv University 229. Telecom Italia Learning

    Services 230. Telecommunications Research

    Laboratory 231. Telekomunikacja Polska R&D

    at Krakow

    232. Telekomunikacja Polska R&D at Olsztyn

    233. Telekomunikacja Polska R&D at Piotrkow Trybunalski

    234. Telekomunikacja Polska R&D at Swidnik

    235. Telekomunikacja Polska R&D at Warsaw

    236. Texas AM University 237. The Hebrew University of

    Jerusalem 238. The Hong Kong University of

    Science and Technology 239. The University of Hong Kong 240. Trinity College Dublin 241. UC Berkeley - DSL 242. UCLA - EE 243. UC Santa Cruz 244. Universidad Complutense de

    Madrid 245. Universidade Federal de

    Campina Grande - Laboratrio de Sistemas Distribudos

    246. Universidade Federal de Minas Gerais

    247. Universit degli Studi di Napoli 248. Universita' di Roma 249. Universitat Politenica de

    Catalunya 250. Universitat Rovira i Virgili 251. Universite catholique de

    Louvain 252. Universite de Montreal 253. University College Dublin 254. University College London

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 36

    255. University of Arizona 256. University of Basel, Switzerland 257. University of Bern, IAM 258. University of Bologna 259. University of British Columbia 260. University of Calgary 261. University of California at

    Berkeley 262. University of California at Los

    Angeles 263. University of California at San

    Diego 264. University of California at Santa

    Barbara 265. University of California, Davis 266. University of California, Irvine 267. University of California,

    Riverside 268. University of Cambridge 269. University of Canterbury, New

    Zealand 270. University of Central Florida -

    EECS 271. University of Chicago 272. University of Cincinnati 273. University of Colorado at

    Boulder 274. University of Connecticut 275. University of Cyprus 276. University of Delaware 277. University of Duisburg-Essen 278. University of Florida - ACIS

    Lab 279. University of Georgia 280. University of Goettingen

    281. University of Illinois at Urbana-Champaign

    282. University of Ioannina 283. University of Kaiserslautern,

    Germany 284. University of Kansas 285. University of Karlsruhe 286. University of Kent Computer

    Science Dept, UK 287. University of Kentucky 288. University of Lisbon 289. University of Manchester, UK 290. University of Maryland 291. University of Massachusetts at

    Amherst 292. University of Melbourne -

    CSSE 293. University of Michigan 294. University of Minnesota 295. University of Missouri Kansas

    City 296. University of Nebraska at

    Kearney 297. University of Nebraska -

    Lincoln 298. University of Neuchatel 299. University of New Brunswick 300. University of Newcastle 301. University of New Mexico 302. University of North Carolina at

    Chapel Hill 303. University of North Carolina at

    Charlotte 304. University of Notre Dame 305. University of Oregon 306. University of Osaka

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    37

    307. University of Oslo 308. University of Passau 309. University of Pennsylvania 310. University of Pittsburgh 311. University of Puerto Rico at

    Mayaguez 312. University of Puerto Rico, Rio

    Piedras Campus 313. University of Rochester 314. University of Saskatchewan 315. University of Sevilla 316. University of Southern

    California, ISI 317. University of South Florida

    (CSE) 318. University of St. Andrews 319. University of Stirling 320. University of Sussex 321. University of Technology at

    Sydney 322. University of Tennessee at

    Knoxville 323. University of Texas at Arlington 324. University of Texas at El Paso 325. University of Texas at San

    Antonio 326. University of Texas, Austin 327. University of Tokyo 328. University of Toronto 329. University of Toronto at

    Mississauga 330. University of Tromso 331. University of Tuebingen 332. University of Utah

    333. University of Utah - Emulab 334. University of Victoria 335. University of Virginia 336. University of Washington 337. University of Washington -

    Accretive DSL 338. University of Waterloo 339. University of Wisconsin 340. University of Wuerzburg 341. University of Zurich, Institut fur

    Informatik 342. Uppsala University at Sweden 343. Vanderbilt University 344. Vrije Universiteit 345. Warsaw University of

    Technology 346. Washington State University 347. Washington University in St

    Louis 348. Waterford Institute of

    Technology 349. Wayne State University 350. WIDE Project 351. Wroclaw University of

    Technology 352. Yonsei University

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 38

    1.3.6. Cluster Clusterul este un tip de sistem distribuit ce permite calculul paralel,

    format fizic dintr-o reea de cel puin dou procesoare, numite staii de lucru (care pot fi calculatoare complete, PC-uri, supercalculatoare, calculatoarele vectoriale, multiprocesoare, MPP), care pot fi folosite i de sine stttor, interconectate ntr-o reea, fiind utilizat ca o resurs de calcul integrat i singular. n practic se utilizeaz dou tipuri de clustere: clustere dedicate (formate din procesoare omogene) i clustere de ntreprindere (formate din procesoare neomogene).

    Un cluster are, n mod iluzoriu, pentru utilizator o imagine de sistem unic -SSI (Single System Image). Aceasta este impresia utilizatorului, c are acces la un sistem unic cu resurse multiplicate, cu control unic asigurat prin intermediul unei singure interfee. Sistemul este simetric, n sensul c un serviciu poate fi solicitat de pe orice nod, iar accesul la resurse este transparent. Astfel, clusterul pare la fel de uor de folosit ca un PC.

    Elementele clusterului sunt vzute din afar ca fiind anonime i interschimbabile.

    Rolul principal ntr-un cluster l joac staiile de lucru, iar sistemele paralele din reea pot fi folosite ca nuclee de calcul foarte puternice n aplicaii de mare complexitate (fizica atomului, studiul genomului uman, meteorologie etc.).

    Conceptul software corespunztor conceptului de cluster este domeniul de execuie, care reprezint o main virtual foarte puternic, are o evoluie dinamic n funcie de necesiti: se pot scoate sau introduce n orice moment staii de lucru, servere de baze de date, procesoare specializate etc.

    Domeniul de execuie al unei aplicaii distribuite poate cuprinde unul sau mai multe clustere, iar pentru definirea sa se folosesc mai multe criterii:

    disponibilitatea resurselor i estimarea ncrcrii; caracteristicile aplicaiei (timp de execuie, raport

    calcule/comunicaii, necesarul de resurse), maparea grafului posibilitilor de execuie al aplicaiei pe graful

    de comunicaii al domeniului de execuie; condiii de performan impuse (execuie n timp real - dac este

    cazul, toleran la defecte, gradul de precizie etc.).

    Elementele specifice ce difereniaz clusterul n cadrul soluiilor multi-calculator sunt: fiecare nod este un calculator de sine stttor, cu un sistem de

    operare propriu n general de tip Unix i elemente software necesare managementului clusterului: comunicare, alocare de resurse,

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    39

    echilibrarea ncrcrii, dar nu i sunt neaprat necesare unele dispozitive periferice cum ar fi monitor, mouse, tastatur;

    nodurile pot comunica printr-o reea obinuit, de exemplu ethernet, dar exist i clustere comerciale care folosesc reele de mare vitez;

    interfaa de reea este ataat magistralei I/O i nu celei de memorie; clusterul este administrat ca o resurs de calcul unic printr-un

    ansamblu de tehnici denumite single-system image (SSI); are disponibilitate ridicat, adic sistemul poate utilizat un procent

    mai mare de timp; datorit multiplicrii resurselor clusterul ofer o performan foarte

    bun, fie ca timp de execuie mai scurt fie ca servire simultan a mai multor utilizatori.

    Clusterele pot fi clasificate n baza urmtoarelor atribute: asamblare (compact sau distribuit); control (local sau centralizat); omogenitate (eterogen sau omogen); securitate (nchis sau deschis).

    n practic se folosesc ndeosebi dou tipuri de clustere: Cluster dedicat: este instalat cu toate nodurile ntr-un rack compact,

    este omogen (toate nodurile folosesc acelai tip de procesor i acelai sistem de operare), este controlat centralizat i este accesat via un sistem front-end (nchis pentru exterior);

    Cluster de ntreprindere: este distribuit geografic cu noduri n rack-uri diferite din aceeai camer sau n camere diferite, este eterogen (nodurile pot avea procesoare i sisteme de operare diferite), cu un control limitat, iar joburile locale au prioritate fa de cele ale ntreprinderii.

    Pentru ca un sistem s fie robust i eficient este necesar s fie:

    fiabil (timpul mediu pn la defectare s fie ct mai mare); disponibil (procentul de timp ct este disponibil utilizatorului s fie ct

    mai mare); uor de ntreinut (service facil i rapid).

    Pentru asigurarea disponibilitii unui cluster se folosesc urmtoarele

    tehnici: Redundana izolat: se folosesc componente redundante pentru ca, n

    cazul c una cade, funcia sa s fie preluat de alt component,

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 40

    componentele trebuie s fie izolate, n sensul s nu poat fi afectate de aceeai surs de cdere (dou componente se pot testa reciproc i n timp ce una funcioneaz, cealalt poate fi reparat sau nlocuit, dup caz). O strategie judicioas de realizare a unui cluster fiabil este cea care elimin punctele unice susceptibile de cdere, de exemplu la arhitectura client/server vor fi dublate liniile de comunicaie, serverul i adaptorul su, discul, magistrala SCSI (Small Computer System Interface);

    Preluarea (failover): cnd o component cade, restul sistemului preia serviciile oferite de componenta respectiv. Un mecanism de diagnoz, numit heartbeat (btaia/pulsul inimii,

    v. http://www.linux-ha.org/HeartbeatProgram), asigur diagnoza notificarea i refacerea. Nodurile i trimit mesaje heartbeat, iar dac sistemul nu primete mesaje de la un nod, nsemn c nodul sau/ i conexiunea la reea a czut. De regul se folosesc dou ci de conexiune ntre noduri i fiecare nod are un demon heartbeat care trimite la un anumit interval de timp prestabilit un mesaj pe ambele conexiuni ctre master (unul din noduri este desemnat master). Dac masterul primete dou mesaje, totul este n regul. Dac primete un singur mesaj, nsemn c una din conexiuni a czut, iar dac nu primete nici-un mesaj nsemn c ori au czut ambele conexiuni, ori a czut nodul n cauz. Odat diagnosticat o cdere, sistemul notific acest eveniment i se iau msuri pentru refacere i remedierea defeciunii; Scheme de refacere (recovery schemes). Se utilizeaz dou scheme de

    refacere: prima const n salvarea periodic a strii proceselor ce se execut (backward recovery checkpoint), iar a doua este forward recovery. n primul caz, dup o cdere, sistemul este reconfigurat astfel nct s izoleze componenta czut i se continu funcionarea normal din punctul de salvare (tehnica rollback). Aceast tehnic se poate implementa i portabil, independent de aplicaie. A doua soluie se bazeaz pe reluarea execuiei pe baza diagnosticului dintr-o stare valid anterioar i se folosete de obicei cnd timpul de execuie este critic. Schema este dependent de aplicaie i poate necesita un hardware suplimentar.

    Imaginea unic de sistem -SSI (Single System Image) se refer la faptul

    c utilizatorul are iluzia c acceseaz un sistem unic, care are resurse multiplicate, are control unic asigurat printr-o singur interfa, este simetric (un serviciu poate fi solicitat de pe orice nod), iar accesul la resurse este transparent.

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    41

    Fig. 1.3.1. Arhitectura principial a unui cluster

    Fig. 1.3.2. Relaii ntre componente software/hardware ntr-un nod de cluster

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 42

    Iluzia imaginii unice a sistemului - SSI (Single System Image) poate fi obinut:

    la nivelul aplicaiei: utilizatorul are impresia c folosete o simpl staie de lucru i nu un cluster;

    la nivelul hardware sau kernel: ntr-un cluster omogen se poate realiza iluzia de sistem unic chiar la nivel de sistem de operare sau hardware (ntr-un cluster eterogen acest lucru este mai greu de realizat);

    la nivelul situat deasupra kernelului: este cel mai potrivit nivel pentru construcia iluziei SSI, deoarece este independent de platform i nu modific aplicaia.

    SSI realizeaz urmtoarele:

    Punct de intrare unic: un utilizator se poate conecta la un cluster ca la un singur calculator (gazd). Trebuiesc rezolvate probleme precum crearea directorului home (unde s fie plasat: se poate pstra o copie pe fiecare calculator gazd sau se pot memora toate directoarele home ntr-un spaiu de stocare sigur al clusterului), autentificare, gestiunea conexiunilor multiple, cderea gazdei etc.

    Ierarhie unic de fiiere: producerea unei imagini care include discurile locale, globalwe sau late dispozitive (NFS sau AFS);

    Spaiu de memorie unic (iluzoriu): produce iluzia unei memorii principale mari, care n realitate este o sum de memorii locale;

    Spaiu I/O unic; Un punct de control; Reea unic; Un singur sistem de gestiune a joburilor; Spaiu unic pentru procesare.

    Sistemul de gestiune a unui cluster trebuie s conin:

    un server pentru utilizator: acesta permite utilizatorilor lansarea n execuie a joburilor i cererea de resurse;

    un planificator de aplicaii/ joburi: face planificarea n funcie de tipul jobului, de resursele necesare, de politicile de planificare;

    un gestionar de resurse: aloc i monitorizeaz resursele i verific politicile de planificare.

    NOW. n 1998 a fost terminat proiectul NOW (Network of Workstations) al Universitii Berkely, care i-a propus s realizeze un software pentru gestiunea unui cluster. S-a proiectat un strat software de tip cluster middleware, numit GLUnix, care se aeaz deasupra sistemelor de operare existente i permite executarea joburilor interactive cu viteza unei staii de lucru, dar i a unor joburi care ar fi prea mari pentru o singur staie de lucru.

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    43

    1.3.7. Grid

    Diverse definiii descriptive.

    1. Grid-ul este o colecie de resurse informatice eterogene (PC-uri, supercomputere, MPP, clustere, ....), fr o localizare determinat, fr control centralizat, fr o imagine de sistem unic, accesibil unor organizaii virtuale prin intermediul unui software suport pentru configurare (uzual, Globus Toolkit, http://www.globus.org/ ).

    2. Grid-ul este un tip de sistem paralel i distribuit care permite partajarea, selectarea i agregarea serviciilor unor resurse distribuite eterogene peste domenii cu administrare multipl, bazate pe disponibilitate, capabilitate, performan, cost i cerine calitative ale utilizatorilor. (Rajkumar BUYYA, http://www.gridcomputing.com/ )

    3. Grid-ul reprezint modalitatea flexibil i securizat de a coordona punerea n comun a resurselor diverselor colective dinamice de indivizi, instituii sau organizaii (organizaii virtuale). [FKT01];

    4. Grid-ul reprezint un efort ambiios i incitant de a dezvolta un mediu n care fiecare utilizator s poat accesa calculatoare, baze de date i faciliti experimentale ntr-un mod simplu i transparent, fr s in seama unde sunt localizate aceste faciliti [RealityGrid, Engineering & Physical Sciences Research Council, UK 2001] http://www.realitygrid.org/information.html ;

    5. Grid computing este un model care permite unor companii s foloseasc un numr larg de resurse de calcul la cerere, indiferent unde s-ar afla acestea. www.informatica.com/solutions/resource_center/glossary/default.htm ;

    6. Un grid este o infrastructur informatic de tip reea, constituit virtual dintr-o mulime de resurse informatice distribuite, eterogene, cu potenial de partajare, fr o administrare centralizat, fr imagine de sistem unic, care permite unor utilizatori de tip organizaional s-i rezolve unele probleme de dimensiuni mari utiliznd resurse de pretutindeni (din afara organizaiei).

    Deci, resursele unui Grid sunt caracterizate prin

    1. Partajare: sunt puse la dispoziia utilizatorilor care au nevoie de ele pentru rezolvarea unor aplicaii;

    2. Distribuire: sunt amplasate n locaii geografice oriunde pe glob;

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 44

    3. Eterogenitate: nu sunt toate de aceeai natur, pot diferi prin sisteme de gestiune a fiierelor, prin sisteme de operare, prin tipul de procesoare utilizate etc.;

    4. Coordonare: resursele sunt organizate virtual , conectate i exploatate n funcie de nevoi (obiective) i mijloace disponibile pe baza unui software de configurare i gestiune a gridului;

    5. Externalizare: resursele sunt accesibile la cerere de ctre furnizori externi;

    6. Autonomie (descentralizare): n contrast cu clusterul, lipsete imaginea de sistem unic i controlul centralizat.

    Domeniile de aplicabilitate pentru Grid Computing:

    1. Modelare predictiv i simulare: prognoze meteo prin simulri numerice; oceanografie, simulri de semiconductoare; astrofizic; prognozarea albiilor rurilor i fluviilor; studiul genomului uman; proiecte socio-economice i guvernamentale.

    2. Proiecte inginereti i automatizri: modelri prin metoda elementului finit, aerodinamic, inteligen artificial (procesarea imaginilor, recunoaterea formelor, vizualizare computerizat).

    3. Explorarea resurselor energetice: sigurana reactoarelor nucleare, explorri seismice, puterea de fuziune a plasmei; modelarea rezervelor energetice.

    4. Cercetri fundamentale n medicin i probleme militare: imagini i vizualizri n explorri medicale, probleme de mecanic cuantic, chimia polimerilor, proiecte de atac nuclear.

    5. Vizualizare: vizualizri grafice, video, animaie, film cu ajutorul calculatorului.

    Sistemele GRID pot fi clasificate n trei mari categorii:

    1. Grid computaional: supercalcul distribuit i transfer de mare vitez, vezi http://www.nwicgrid.org/

    2. Data Grid: exploatarea unor baze de date de mari dimensiuni, v. http://eu-datagrid.web.cern.ch/eu-datagrid/ http://www.eu-egee.org/ 3. Service Grid: servicii grid la cerere, colaborativ, multimedia, v.

    http://www.globus.org/ogsa/

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    45

    Not. Uneori se mai fac confuzii ntre cele dou concepte: cluster computing i grid computing. Este necesar de la bun nceput s facem o distincie categoric ntre cele dou concepte, comparnd urmtoarele definiii ale celor dou concepte: Cluster computing: este o colecie de staii de lucru (PC-uri, supercomputere, MPP,...) omogene sau neomogene, puternic cuplate ntr-o reea bine localizat (ntr-o ncpere sau n cteva locaii ale unei ntreprinderi), cu control centralizat, accesibil utilizatorilor de la terminalele staiilor de lucru prin intermediul unui software de administrare (uzual, GLUnix realizat n cadrul proiectului NOW sau CODINE, vezi i http://www.linux-ha.org/ClusterResourceManager ), prin intermediul cruia vd clusterul ca o unic resurs de calcul la fel de uor de utilizat ca un PC. Pentru programare n clustere se utilizeaz de obicei MPI (Message Pasing Interface) http://www-unix.mcs.anl.gov/mpi/ sau PVM (Parallel Virtual Machine) http://www.csm.ornl.gov/pvm/ ; Grid computing: este o colecie de resurse informatice eterogene (PC-uri, supercomputere, MPP, clustere, ....), fr o localizare determinat, fr control centralizat, fr o imagine de sistem unic, accesibil unor organizaii virtuale prin intermediul unui software suport (uzual, Globus Toolkit, http://www.globus.org/ ).

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 46

  • Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice

    47

    CAPITOLUL 2 SISTEME DE CALCUL PARALEL I DISTRIBUIT. TAXONOMIE I MODELE

    2.1. Clasificri binare ale arhitecturilor sistemelor de calcul paralel i distribuit (SCPD)

    2.1.1. Clasificarea SCPD dup numrul de uniti centrale conectate la memorie 2.1.2. Clasificarea SCPD dup tipul mecanismului de control 2.1.3. Clasificarea SCPD dup numrul de seturi de instruciuni prelucrabile 2.1.4. Clasificarea SCPD dup tipul strategiei de management al procesrii 2.1.5. Clasificarea SCPD dup numrul de seturi de date prelucrabile 2.1.6. Divizarea clasei SC dup numrul de seturi de date prelucrabile 2.1.7. Divizarea clasei SIMD dup tipul de date prelucrabile 2.1.8. Divizarea clasei SF dup tipul de date prelucrabile 2.1.9. Divizarea clasei MIMD dup modul de organizare a adresrii spaiului de memorie (Bell) 2.1.10. Divizarea multiprocesoarelor dup tipul de memorie utilizat (Bell) 2.1.11. Divizarea multicalculatoarelor dup tipul de memorie utilizat (Bell)

    2.2.Paralelismul n diverse sisteme de calcul

    2.2.1. Paralelismul n calculatoarele scalare moderne de tip SISD 2.2.2.Paralelismul n calculatoarele multiscalare de tip MISD 2.2.3 Paralelismul n sistemele MIMD

    2.3. Clasificarea lui Flynn

    2.3.1. Clasa SISD (Single Instruction stream - Single Data stream) 2.3.2. Clasa SIMD (Single Instruction stream - Multiple Data stream) 2.3.3. Clasa MISD (Multiple Instruction stream - Single Data stream) 2.3.4. Clasa MIMD (Multiple Instruction stream - Multiple Data stream)

    2.4. O sintez a diverselor taxonomii ale SCPD

    2.4.1. Includerea claselor lui Flynn 2.4.2. Includerea claselor lui Bell (multiprocesor de tip SASA, multicalculator de tip MPA) 2.4.3. Includerea claselor lui Hwan