Sisteme_distribuite_Dzitac

Embed Size (px)

Citation preview

  • 7/30/2019 Sisteme_distribuite_Dzitac

    1/146

    IOAN DZIAC GRIGOR MOLDOVAN

    SISTEME DISTRIBUITE

    MODELE INFORMATICE

    Editura Universitii Agora, Oradea2006

  • 7/30/2019 Sisteme_distribuite_Dzitac

    2/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice2

    Referent:Prof. univ. dr. Rzvan Andonie, Central Washington University, SUAEditor:Prof. univ. dr. ing. Miu-Jan Manolescu, Universitatea AgoraCoperta i asistent editorial: Emma M. Vleanu, Universitatea Agora, studentdoctorand la Academia Romn

    Descrierea CIP a Bibliotecii Naionale a Romniei

    DZIAC, IOANSisteme distribuite - Modele informatice / Ioan Dziac,

    Grigor Moldovan. - Oradea : Editura Universitii Agora, 2006Bibliogr.ISBN (10) 973-87960-9-1 ; ISBN (13) 978-973-87960-9-6

    I. Moldovan, Grigor

    004Copyright 2006 by CCC Publications, Agora University Publishing House.

    Title:DISTRIBUTED SYSTEMS: INFORMATION SYSTEM MODELS

    Abstract:This work presents various definitions and models for the distributedinformatics systems starting from the parallel and distributed computationgeneral models, usual models from Internet and Intranet (client/server, cluster,grid etc.), and also the communication models in these kind of systems. Thebook is addressed especially by the students and by the professorate that wantsto study/teach the applied informatics (economical informatics, medicalinformatics) but can also be used by all the other that are interested in using thedistributed informatics systems.

  • 7/30/2019 Sisteme_distribuite_Dzitac

    3/146

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

    CONTENTS

    CHAPTER 1DISTRIBUTED INFORMATICS SYSTEMS

    1.1. A short description of the distributed informatics systems1.1.1. Distributed informatics system. Homogeneous/heterogeneoussystems. Tightly /loosely coupled systems1.1.2. Specific characteristics and advantages of the distributed systems1.1.3. Middleware

    1.2. The requirements of a distributed informatics system

    1.2.1. Heterogeneously1.2.2. Scalability

    1.2.3. Security1.2.4. Errors treatment

    1.2.5. Openess1.2.6. Concurrency1.2.7. Transparency

    1.3. Remarkable examples of distributed informatics systems1.3.1. Internet networks: SIPRNET, FidoNet, Internet1.3.2. Intranet and extranet1.3.3. Nomadic computing and ubiquitous computing1.3.4. Internet21.3.5. PlanetLab1.3.6. Cluster1.3.7. Grid

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

    2.1.1. SCPD classification after the number of the central units connectedto the memory2.1.2. SCPD classification after the control mechanism type2.1.3. SCPD classification after the number of the processing instructionsets

    2.1.4. SCPD classification after the processing management strategy type2.1.5. SCPD classification after the number of the processing data stream2.1.6. SC class partition after the number of the processing data stream

  • 7/30/2019 Sisteme_distribuite_Dzitac

    4/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice42.1.7. SIMD class partition after the processing data type2.1.8. SF class partition after the processing data type2.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 systems2.2.1. The parallelism in the SISD modern scalar computers2.2.2. The parallelism in the MISD multiscalar computers2.2.3 The parallelism in the MIMD systems

    2.3. Flynns classification2.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 SCPD2.4.1. The inclusion of Flynns classes

    2.4.2. The inclusion of Bells classes (SASA multiprocessors, MPAmulticomputer)

    2.4.3. The inclusion of Hwangs classes (UMA, NUMA, ccNUMA,COMA models)2.4.4. The models Cluster and Grid2.4.5. A synthesis taxonomical schema

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

    2.5.1. Multiuser operating systems2.5.2. Parallel Virtual Machine (PVM)2.5.3. Message Passing Interface (MPI)

    2.5.4. Globus Toolkit

    CHAPTER 3THE INTERCONNECTION IN THE PARALLEL AND DISTRIBUTEDCOMPUTATION SYSTEMS3.1. PRAM, an idealist parallel computer3.2. Interconnection methods in the parallel and distributed computationsystems architecture. Computer networks

    3.2.1. Crossbar networks3.2.2. Switchboard interconnection3.2.3. Network interconnection with limited direct links

    3.2.3.1. Bus network3.2.3.2. Linear and cyclic network3.2.3.3. Perfect mixing network

  • 7/30/2019 Sisteme_distribuite_Dzitac

    5/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 53.2.3.4. Tree network3.2.3.5. Lattice network3.2.3.6. Hypercube network

    CHAPTER 4THE INTERNET: A SCALABLE OPEN DISTRIBUTED SYSTEM4.1. The architectural schema of the Internet4.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 34.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. HTTPS4.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 Internet4.4.1. Generalities about the Web. Hypertext and hypermedia4.4.2. The hypertext marking (SGML, XML, HTML, WML, XHTML)4.4.3. URI (Uniform Resource Identifier): URL and URN4.4.4. HTTP (HyperText Transfer Protocol)

    APPENDIX

    A minidictionary for parallel and distributed computing

    REFERENCES

    WEB REFERENCES

  • 7/30/2019 Sisteme_distribuite_Dzitac

    6/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice6

    Conf. univ. dr. Ioan Dziac

    Domenii de interes:Calcul paralel i distribuit,

    Matematic i informatic economic

    Ioan DZIAC (n. 14.02.1953, Poienide sub Munte - Repedea, Maramure),este doctor n informatic, confereniaruniversitar i eful catedrei deinformatic economic la UniversitateaAGORA din Oradea. A obinutdoctoratul n informatic n 2002 subconducerea tiinific a prof. GrigorMOLDOVAN. A fost directorulDepartamentului de Matematic iInformatic al Universitii din Oradea,iar n prezent este directorul centruluide cercetare Tehnologii informaticeavansate n management i ingineriela Universitatea AGORA.A publicat 11 cri i a editat 4 volumeale unor conferine internaionale ipeste 40 de articole. Este fondator ieditor executiv laInternational Journalof Computers, Communications andControl.

    Prof. univ. dr. Grigor Moldovan

    Domenii de interes:

    Sisteme distribuite, Limbaje formale

    Grigor MOLDOVAN (n. 29.12.1939,Vadu Izei, Maramure), este doctor nmatematic, profesor universitar iconductor de doctorate n informaticla Universitatea Babe-Bolyai dinCluj - Napoca, Facultatea deMatematic i Informatic. A obinut

    doctoratul n matematic n 1972 subconducerea tiinific a acad. TiberiuPOPOVICIU i prof. DimitrieSTANCU. Este unul din pionieri ninformatica romneasc, predndcursuri de informatic ncepnd ncdin anul 1971, scriind articole i cride informatic i fiind directorulCentrului de Calcul al Universitii, dela nfiinarea sa n 1975, pn n anul1990. A fost muli ani i directorulDepartamentului de Informatic.

    A publicat 18 cri i peste 65 dearticole tiinifice.

  • 7/30/2019 Sisteme_distribuite_Dzitac

    7/146

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

    CUPRINS

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

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

    12

    1.1.2. Caracteristici i avantaje specifice ale sistemelordistribuite

    14

    1.1.3. Midlleware 161.2. Cerinele unui sistem informatic distribuit 17

    1.2.1. Eterogenitatea 171.2.2. Scalabilitatea 181.2.3. Securitatea 20

    1.2.4. Tratarea erorilor 231.2.5. Deschiderea 241.2.6. Concurena 241.2.7. Transparena 24

    1.3. Exemple remarcabile de sisteme informatice distribuite 261.3.1. Reele de tip internet: SIPRNET, FidoNet, Internet 261.3.2. Intranet i extranet 271.3.3. Nomadic computing i ubiquitous computing 281.3.4. Internet2 281.3.5. PlanetLab 291.3.6. Cluster 38

    1.3.7. Grid 43

    CAPITOLUL 2SISTEME DE CALCUL PARALEL I DISTRIBUIT: TAXONOMIEI MODELE

    47

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

    48

    2.1.1. Clasificarea SCPD dup numrul de uniti centraleconectate la memorie

    49

    2.1.2. Clasificarea SCPD dup tipul mecanismului de control 50

    2.1.3. Clasificarea SCPD dup numrul de seturi deinstruciuni prelucrabile

    50

  • 7/30/2019 Sisteme_distribuite_Dzitac

    8/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice82.1.4. Clasificarea SCPD dup tipul strategiei de management

    al procesrii50

    2.1.5. Clasificarea SCPD dup numrul de seturi de dateprelucrabile

    51

    2.1.6. Divizarea clasei SC dup numrul de seturi de dateprelucrabile

    51

    2.1.7. Divizarea clasei SIMD dup tipul de date prelucrabile 512.1.8. Divizarea clasei SF dup tipul de date prelucrabile 522.1.9. Divizarea clasei MIMD dup modul de organizare a

    adresrii spaiului de memorie (Bell)52

    2.1.10. Divizarea multiprocesoarelor dup tipul de memorieutilizat (Bell)

    52

    2.1.11. Divizarea multicalculatoarelor dup tipul de memorieutilizat (Bell)

    52

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

    SISD53

    2.2.2. Paralelismul n calculatoarele multiscalare de tip MISD 552.2.3. Paralelismul n sistemele MIMD 60

    2.3. Clasificarea lui Flynn 622.3.1. Clasa SISD (Single Instruction stream - Single Data

    stream)62

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

    62

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

    62

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

    62

    2.4. O sintez a diverselor taxonomii ale SCPD 642.4.1. Includerea claselor lui Flynn 642.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 672.4.5. O schem taxonomic de sintez 69

    2.5. Software pentru configurarea i managementul sistemeleinformatice distribuite

    70

    2.5.1. Sisteme de operare multiuser 70

    2.5.2. Parallel Virtual Machine (PVM) 712.5.3. Message Passing Interface (MPI) 842.5.4. Globus Toolkit 89

  • 7/30/2019 Sisteme_distribuite_Dzitac

    9/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 9CAPITOLUL 3INTERCONECTAREA N SISTEMELE DE CALCUL PARALEL IDISTRIBUIT

    95

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

    paralel i distribuit. Reele de calculatoare97

    3.2.1. Reea de tip crossbar 983.2.2. Interconectarea de tip switchboard 983.2.3. Reea de interconectare cu legturi directe limitate 99

    3.2.3.1. Magistrala comun (bus) 993.2.3.2. Reeaua liniar i ciclic 993.2.3.3. Reeaua de tip amestecare perfect 1003.2.3.4. Reeaua arborescent 1013.2.3.5. Reeaua de tip latice 1023.2.3.6. Reeaua de tip hipercub 103

    CAPITOLUL 4INTERNETUL: UN SISTEM DISTRIBUIT DESCHIS ISCALABIL

    105

    4.1. Schema arhitectural a Internetului 1064.2. Schema funcional a Internetului (router, gateway, host) 1084.3. Modelul client/server. Protocolul TCP/IP 109

    4.3.1. IP (Internet Protocol) 1104.3.2. TCP (Transmission Control Protocol) 1104.3.3. UDP (User Datagram Protocol) 1104.3.4. DNS (Domain Name System) 1114.3.5. POP3 sau Protocolul Post Office Versiunea 3 122

    4.3.6. IMAP (Internet Message Access Protocol) 1224.3.7. SMTP (Simple Mail Transfer Protocol) 1224.3.8. HTTP (HyperText Transfer Protocol) 1224.3.9. HTTPS 1234.3.10. SSL (Secure Sockets Layer) 1234.3.11. FTP (File Transfer Protocol) 1234.3.12. LDAP 123

    4.4. World Wide Web: o aplicaie distribuit n Internet 1244.4.1. Generaliti despre Web. Hipertext i hipermedia 1244.4.2. Marcarea hipertextului (SGML, XML, HTML, WML,

    XHTML)126

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

  • 7/30/2019 Sisteme_distribuite_Dzitac

    10/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice10ANEXMinidicionar de calcul paralel i distribuit 128

    BIBLIOGRAFIE 143

    WEBGRAFIE 146

  • 7/30/2019 Sisteme_distribuite_Dzitac

    11/146

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

    CAPITOLUL 1SISTEME INFORMATICE DISTRIBUITE

    1.1. Scurt descriere a sistemelor informatice distribuite

    1.1.1. Sistem informatic distribuit. Sisteme omogene/eterogene. Sistemeputernic/slab cuplate1.1.2. Caracteristici i avantaje specifice ale sistemelor distribuite1.1.3. Midlleware

    1.2. Cerinele unui sistem informatic distribuit

    1.2.1. Eterogenitatea1.2.2. Scalabilitatea1.2.3. Securitatea

    1.2.4. Tratarea erorilor1.2.5. Deschiderea1.2.6. Concurena1.2.7. Transparena

    1.3. Exemple remarcabile de sisteme informatice distribuite

    1.3.1. Reele de tip internet: SIPRNET, FidoNet, Internet1.3.2. Intranet i extranet1.3.3. Nomadic computing i ubiquitous computing1.3.4. Internet21.3.5. PlanetLab1.3.6. Cluster1.3.7. Grid

  • 7/30/2019 Sisteme_distribuite_Dzitac

    12/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice12

    1.1. Scurt descriere a sistemelor informatice distribuite

    1.1.1. Sistem informatic distribuit. Sisteme omogene/eterogene. Sistemeputernic/slab cuplate1.1.2. Caracteristici i avantaje specifice ale sistemelor distribuite1.1.3. Midlleware

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

    Vom admite c prin sistem distribuit de calcul sau sistem informaticdistribuit 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 accesi la anumite memorii comune partajate), fiind conectate ntre ele prin nitelinii de comunicaie (fir, fibr optic, unde radio, satelii), avnd diversetopologii de conexiune (magistral comun, stea, ...), sistemul fiind conceputcu scopul partajrii unor resurse sau/i pentru rezolvarea concurent a unoraplicaii paralele sau paralelizabile.

    Motivaia pentru construirea i utilizarea sistemelor capabile de calculparalel vine din nevoia de a reduce timpul de calcul prin diviziunea uneiprobleme mari n sub-probleme ce se pot rezolva simultan pe structuri de calculadecvate, iar sistemele informatice distribuite rspund cerinelor desimultaneitate a calcului paralel i au n plus faciliti de a putea partaja uneleresurse 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 reduceconsiderabil, dac se utilizeaz un sistem distribuit care partajeaz unele resurse

    hardware scumpe (imprimante, servere cu baze de date, plci pentru achiziie dedate, discuri, scanere, faxuri etc.), dar i a unor produse software cu licenescumpe (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-oreea Intranet n care este reglementat accesul distribuit la resurse.

    Utilizatorii propriu-zii a sistemelor distribuite de tip Internet sauintranet sunt n multe cazuri mai puin preocupai de costurile resurselor

  • 7/30/2019 Sisteme_distribuite_Dzitac

    13/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 13folosite, 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 aceeaiimprimant 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 nuintr vreodat n contact (de exemplu, utilizatorii unor motoare de cutare peInternet).

    n cadrul partajrii resurselor ntr-un sistem distribuit denumirea de serviciu este considerat ca o parte distinct a unui sistem care facemanagementul unei colecii de resurse asemntoare i face public

    funcionalitatea lor utilizatorilor i aplicaiilor care apeleaz la ele. Dac, deexemplu invocm un fiier partajat cu ajutorul unui serviciu pentru fiiere,accesul se face de fapt printr-o serie de operaii: read, write, delete.

    Termenul deserverse refer la un program care ruleaz (proces) pe uncomputer dintr-o reea i care accept cereri de la computere din reea, iar ceicare trimit cereri poart numele de clieni, funcionalitatea fiind asigurat prinprotocolul client/ server.

    ntr-un sistem distribuit care este modelat prin folosirea programriiorientate obiect, resursele pot fi ncapsulate ca obiecte i pot fi accesate de aanumiii client objectprin cererea unei metode de laserver object.

    Din punct de vedere al structurii hardware i a tipului de conexiune, sistemelecare cuprind mai multe procesoare pot fi:

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

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

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

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

  • 7/30/2019 Sisteme_distribuite_Dzitac

    14/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice14Sistemele informatice distribuite se mpart n dou clase:

    sisteme informatice distribuite omogene (bazate pe multiplicarea unorresurse identice, de exemplu unele multiprocesoare, MPP sau uneleclustere);

    sisteme informatice distribuite eterogene (neomogene), de exemplureeaua 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 fizicediferite,

    software local neomogen: programele de reea i procese careformeaz sistemul distribuit sunt fcute n diverse limbaje deprogramare, sistemele de operare din nodurile reelei pot fi diferite etc.;

    componente conceptuale neomogene: topologia reelelor care intr nalctuirea 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 ctevacaracteristici 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 capacitateacomputerelor 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 obiceiprogramele care vor rula pe nodul deconectat nu vor detecta c a fostntrerupt conexiunea sau c aceasta a devenit neobinuit de nceat, bamai mult, nici celelalte noduri din sistem nu vor sesiza imediat c unuldin noduri a czut.

    Proiectarea i utilizarea sistemelor informatice distribuite este argumentatde cteva avantaje specifice sistemelor distribuite:

    Facilitatea schimbului de informaii: creterea exponenial acantitii de informaie i necesitatea de a schimba rapid informaii ntrediferitele puncte aflate n locuri geografice deprtate fac necesar

    conectarea ntre calculatoare autonome. Sistemele distribuite oferfaciliti de comunicare la distan: un sistem distribuit reprezint unmijloc eficient i comod de comunicare a unor informaii la distan, de

  • 7/30/2019 Sisteme_distribuite_Dzitac

    15/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 15exemplu aplicaia Internet, prin intermediul creia se poate realizacomunicarea i corespondena electronic ntre indivizi aflai n locuridiferite (email, chat, forum), cu condiia ca expeditorul i destinatarul sse gseasc ntr-o reea conectat la Internet.

    Partajarea resurselor scumpe: o organizaie prefer s cumpere maimulte calculatoare mai ieftine i de puteri rezonabile n loc s cumpereunul performant i scump. Prin interconectarea acestor calculatoare maimici ntre ele, eventual cu un numr redus de calculatoare mai puterniceale cror resurse (memorie, putere a procesorului, periferice decapaciti mari) s fie partajate ntre acestea; costul mririi capacitiiunei astfel de reele este mult mai mic dect n cazul resurselorconectate la un singur calculator, fie el ct de performant;

    Fiabilitate mrit n funcionare: dac un sistem de calcul este formatdintr-un singur calculator, defectarea acestuia face imposibil utilizareantregului sistem. La proiectarea unui sistem distribuit trebuie s inemseama de sigurana n funcionare a acestuia, astfel nct cderea unuinod s nu perturbe funcionarea sistemului n ansamblu, ci alte nodurivor prelua sarcinile nodului czut. ntr-un sistem distribuit avem aceastposibilitate datorit faptului c aplicaiile care se ruleaz ntr-un sistemdistribuit sunt astfel concepute nct ele s nu sufere din cauzanefuncionrii corecte sau deloc a unor componente, respectiv procese.

    Creterea performanei prin paralelizarea calculului: existena maimultor procesoare ntr-un sistem distribuit face posibil reducereatimpului de realizare a unui calcul laborios prin mprirea sarcinilorntre diferite procesoare, colectarea ulterioar a rezultatelor pariale ideterminarea rezultatului final (acest procedeu este cunoscut sub numelede paralelizare a calculului). Deci, se obine timp de execuie reduspentru aplicaii paralele sau susceptibile de paralelizare;

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

    Scalabilitatea sau extensibilitatea: un sistem distribuit poate fimodificat 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.

  • 7/30/2019 Sisteme_distribuite_Dzitac

    16/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice16Dificultatea 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 lucrezen paralel i de modul de comunicare ntre acestea. Dezvoltarea unui algoritmdistribuit difer esenial fa de dezvoltarea unui algoritm centralizat, mai alesdatorit particularitii sistemelor distribuite, cum ar fi lipsa informaiilordespre 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 isoftware neomogene. Cu toate precauiile productorilor de hardware isoftware de a respecta anumite cerine generale pentru a facilita comunicareantre aceste platforme, este evident c sunt necesare o serie de programe detranslatare de la o platform hardware sau software la alta. Acest lucru se facecu ajutorul unorprograme intermediare sau midlleware (middle - de mijloc,intermediar, n limba englez).

    Conceptul midlleware joac un rol esenial n sistemele informaticedistribuite eterogene. Aceste programe de traducere/ translatare trebuie sndeplineasc o condiie esenial: transparena pentru utilizator.

    Se poate utiliza middlware orientat pe obiecte, care permite programatoruluis creeze un model orientat pe obiecte al unei ntreprinderi i apoi s scrieaplicaiile care cer informaii din obiecte i nu din anumite surse de date.

    Cererea este coordonat de un Object Request Broker (ORB), adic unintermediar de cereri orientat pe obiecte, care reprezint un middleware.

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

  • 7/30/2019 Sisteme_distribuite_Dzitac

    17/146

    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. Securitatea1.2.4. Tratarea erorilor1.2.5. Deschiderea

    1.2.6. Concurena1.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 dincalculatoare eterogene. La rndul su, Internetul este compus din conectareaunor intraneturi i calculatoare eterogene, dar diferenele dintre ele sunt ascunse

    de faptul c se utilizeaz pentru comunicare aceleai protocoale. La nivel dehardware, tipurile de date, cum ar fi ntregii, de exemplu, au o reprezentarediferit n funcie de tipul de procesor folosit. De asemenea, la sistemele deoperare, 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 lautilizarea 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 maireprezentative fiind:

    CORBA (Common Object Request Broker Architecture);

    DCE (Distributed Computing Environment);

    DCOM (Distributed Component Object);

    Java RMI (Remote Method Invocation).

  • 7/30/2019 Sisteme_distribuite_Dzitac

    18/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice18CORBA este un cadru standard de dezvoltare a aplicaiilor distribuite n

    medii eterogene, la elaborarea cruia au participat toate marile companii desoft, cu excepia Microsoft care i-a fcut produsul propriu DCOM, n care unsistem distribuit este alctuit din "clieni" ce utilizeaz diferite obiectedistribuite. Datorit diverselor modaliti de comportare a obiectelor n sistemede operare diferite, CORBA lucreaz cu noiunea de "server" (fiecare obiecteste asociat unui server). Rolul acestuia este de a include implementareaobiectelor asociate, modelul impunnd doar invocarea de ctre clieni aobiectelor de peserveri nu a serverului nsui.

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

    DCE (Distributed Computing Environment) este promovat de ctre

    OSF (Open Software Foundation). Facilitai oferite: thread-uri, apeluri deprocedur la distan, servicii de directoare. Exist un standard gateway ntreDCE i CORBA prin care CORBA poate lucra peste DCE (protocolul DCECIOP). Diferena dintre DCE si CORBA const n stilurile de programareadoptate: CORBA folosete un model obiectual, DCE are la baz un modelprocedural n care se folosesc apeluri la distan (RPC - Remote ProcedureCall).

    Java RMI (Remote Method Invocation) a fost dezvoltat de SunMicrosystem. Interfaa de programare Java RMI se caleaz perfect pe modelulorientat obiect oferit de Java, unde se pot crea obiecte ale cror metode pot fiinvocate 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 ladestinaie (de exemplu apleturile Java). Pentru a putea rula este nevoie deexistena unei maini virtuale.

    Relaia ntre Java RMI i CORBA este mai mult una decomplementaritate dect de concuren, ns se poate vorbi de o adevratrivalitate 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 aperformanelor unui sistem, adic nu se produce o modificare semnificativ a

  • 7/30/2019 Sisteme_distribuite_Dzitac

    19/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 19performanelor odat cu modificarea numrului sau calitii resurselor instalate

    (numr de procesoare sau procesoare mai rapide, capacitatea memoriei etc.). Uncalculator paralel de tip multiprocesor cu memorie comun asigurscalabilitatea numai pn la aproximativ 30 de procesoare. n plus, costurilesistemelor paralele sunt prea mari raportate la ciclul de via, motiv pentru

    interesul s-a deplasat spre sisteme distribuite eterogene, formate din colecii dePC-uri, staii de lucru, supercalculatoare, multiprocesoare, MPP (MasssivelyParallel Processors) i reele de calculatoare.

    Vom considera c un sistem distribuit eterogen este scalabil, dacfuncionarea sa nu este afectat atunci cnd se modific semnificativ numrul itipul de resurse, precum i numrul de utilizatori.

    Dei numrul de utilizatori de Internet crete drastic n fiecare an, totuisistemul 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 mrireadimensiunii sale nu prezint nici o problem pentru programator, dac sistemulpe care se execut este scalabil.

    Pentru ca un sistem distribuit s fie scalabil, la proiectarea sa trebuiegsite soluii la probleme ca:

    controlul costului resurselor fizice: pentru ca un sistem cu n utilizatoris 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 caaceast 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 fiiermaster care putea fi downloadat de oricine avea nevoie, dar situaia s-acomplicat cnd numrul de computere din reea a nceput s creasc.

    Rezolvarea problemei scalabilitii este una foarte important i dificiln 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 greude realizat. Ca soluii de ameliorare a scalabilitii s-au propus: replicareadatelor, tehnici de cashing, crearea de taskuri similare care sa funcioneze

  • 7/30/2019 Sisteme_distribuite_Dzitac

    20/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice20concurent, 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 sisteminformatic 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 imonitorizeaz) activitatea din sistem, fr a face modificri asupra fiierelor saua 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 altacu mai multe privilegii;

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

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

  • 7/30/2019 Sisteme_distribuite_Dzitac

    21/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 21confidenial accounts, se poate modifica n se permite lui Dan Ivans citeasc fiierul confidenial accounts;

    Refuzul de servicii (denial of service): o entitate neautorizat poatesuspenda drepturile de acces a unei alte entiti autorizate sau poatesuprancrca reeaua cu mesaje de bruiaj, sczndu-i astfelperformanele.

    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 laprotecia fizic la algoritmi matematici);

    Controlul accesului: dreptul de acces la resurs doar pentru utilizatoriiautorizai pe baz de username iparol i protecie mpotriva accesuluineautorizat;

    Integritatea: protecie mpotriva manipulrii de date (alterrii saucoruperii) resursei prin programe maliioase lansate de o entitateneautorizat;

    Disponibilitatea: protecie mpotriva interferenelor atunci cnd sedorete accesarea unei resurse la care avem drept de utilizare iasigurarea c datele, aplicaiile sau programele sunt ntotdeaunadisponibile pentru entitile autorizate;

    Autenticitatea: dou entiti se pot identifica una pe alta prin asigurareala iniierea comunicaiei c cele dou entiti sunt autentice i proteciampotriva interferrii unei a treia entiti neautorizate pe parcursulcomunicaiei, care ar putea pretinde c este una din cele dou entitiautorizate;

    Nerepudierea: previne ca nici o entitate s nu refuze recunoaterea

    faptului c a beneficiat de un serviciu executat, de exemplu, cnd unmesaj este trimis, se poate demonstra de ctre destinatar c mesajulprimit este cel trimis de emitor, respectiv emitorul poate demonstrac destinatarul a primit mesajul trimis de emitor.

    Informaii suplimentare despre securitatea datelor i siguranacomunicaiilor. tiina care se ocup de studiul siguranei comunicaiilor senumete 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 refacereainformaiilor.

  • 7/30/2019 Sisteme_distribuite_Dzitac

    22/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice22

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

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

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

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

    Mecanismul de control al accesului: controlul accesului la resurse aentitilor prin mecanisme bazate pe una sau multe din urmtoareleinstrumente: 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 sautehnici criptografice menite s dovedeasc identitatea entitilor (laexpediere, expeditorul adaug o informaie adiional ce depinde numaide datele transmise, iar la recepie, receptorul genereaz aceeaiinformaie adiional i o compar cu cea primit);

    Mecanismul de control al rutrii: informaiile sunt dirijate pe bazaunui protocol prestabilit sau pe baza unuia dinamic pe rutele considerate

    mai sigure; Mecanismul de umplere artificial a traficului: ajut la proteciampotriva analizei traficului i const n una din urmtoarele procedee:generarea unui trafic fals, umplerea pachetelor de date transmise cu dateredundante; transmiterea de pachete i spre alte destinaii n afara celeivizate;

    Mecanismul de notariat: implic existena unui mecanism de arbitraj,numit notar, n care au ncredere toate entitile, cu scopul obinerii degaranii 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 IPi la nivel de protocolul TCP/IP (Transmision Control Protocol/ InternetProtocol);

  • 7/30/2019 Sisteme_distribuite_Dzitac

    23/146

    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 asigureconfidenialitatea, integritatea i autenticitatea clientului sau serveruluidin sistem.

    1.2.4. Tratarea erorilor

    Un procesor/computer din reea poate eua n mod independent decelelalte. 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 osoluie n caz de avarie.

    Iat cteva tehnici folosite pentru tratarea erorilor:1.

    Detectarea erorilor (care pot fi detectate). De exemplu, utilizareasumei de control poate fi folosit pentru a verifica dac nite date au fostcorupte. Sunt i erori care sunt greu de detectat, de exemplu cderea ladistan a unui server, marea provocare fiind de a gsi soluii n cazul deerori care nu pot fi detectate cu precizie, ci doar suspectate.

    2. Mascarea erorilor (unele erori care pot fi detectate pot fi ascunse saugsite soluii de ameliorare a lor). Exemplu de situaii de ascundere aerorilor : 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 afost corupt se poate folosi varianta buna pus la pstrare.

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

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

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

  • 7/30/2019 Sisteme_distribuite_Dzitac

    24/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice24

    1.2.5. Deschiderea

    Termenul de deschidere (openness)este caracteristica unui sistem careindic, dac el poate fi extins i implementat n moduri diferite. Deschiderea

    pentru un sistem distribuit se refer n primul rnd la disponibilitatea deadugare i publicarea de noi servicii de partajare a resurselor (interfeele croradevin publice). Sistemele distribuite deschise sunt bazate pe asigurarea unui

    mecanism uniform de comunicare i publicare a interfeelor pentru accesul laresursele partajate n mod transparent. Sistemele distribuite pot fi constituite dinentiti eterogene, dar trebuie s se asigure buna funcionare a acestora n cadrul

    SD. Marea provocare a deschiderii const n integrarea componentelor scrise deutilizatori diferii.

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

    s poat fi accesat de mai muli utilizatori simultan. O soluie limitativ i greuacceptabil ar fi ca mecanismul care face managementul resursei s serveasc

    numai cte un client odat. n general ns aplicaiile n sistemele distribuitesunt construite pentru a putea deservi mai muli clieni simultan(multiprocessing, multitasking etc.). Pentru ca un obiect s fie sigur ntr-unmediu 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 fisemafoarele.

    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 poatfi 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;

  • 7/30/2019 Sisteme_distribuite_Dzitac

    25/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 254. Transparena replicrii: ofer posibilitatea ca mai multe instane a

    unei resurse s poat fi folosite, mrindu-se astfel performana irobusteea;

    5. Transparena erorilor: faciliteaz ascunderea erorilor, permindutilizatorilor s-i rezolve task-ul chiar dac apar erori software sauhardware;

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

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

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

  • 7/30/2019 Sisteme_distribuite_Dzitac

    26/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice261.3. Exemple remarcabile de sisteme informatice distribuite

    1.3.1. Reele de tip internet: SIPRNET, FidoNet, Internet1.3.2. Intranet i extranet

    1.3.3. Nomadic computing i ubiquitous computing1.3.4. Internet21.3.5. PlanetLab

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

    Cuvntul internet provine din concatenarea prescurtrilor a doucuvinte englezeti, interconnected (interconectat) i network (reea) idesemneaz o reea de mari dimensiuni format prin interconectarea mai multorreele autonome eterogene.

    Astfel, substantivul comun internet (cu minuscul) desemneaz ngeneral o reuniune de reele, vzut ca o reea unitar, mpreun cu informaiai 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 numitInternet (nume propriu, scris cu majuscul), adic super-reeaua mondialunic de computere, interconectate prin protocolul IP/TCP. PrecursorulInternetului dateaz din 1965, cnd Defence Advanced Research ProjectsAgency (DARPA) din SUA a creat prima reea de computere interconectatesub numele Arpanet. Super-reeaua Internet de azi a rezultat din extindereareelei Arpanet.

    Att Internetul sau The NET(Reeaua), cum i se mai spune n lume,ct i alte reele mai mici de tip internetsunt exemple de sisteme informaticedistribuite.

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

  • 7/30/2019 Sisteme_distribuite_Dzitac

    27/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 27Journal of Computers, Communications and Control (IJCCC), a crui baz dedate se afl pe serverul Universitii AGORA, la adresawww.journal.univagora.ro, este citit simultan de ctre cititori din Romnia,SUA, India, China, Canada etc. De asemenea, oricine dispune de un nume deuser i o parol pentru administrarea bazei de date a IJCCC, poate facemodificri n aceasta baz de date de la orice computer din lume care esteconectat la Internet.

    Utiliznd n Internet aplicaia distribuit WWW, putem deschide diversepagini web, de exemplu pagina web a Universitii Babe-Bolyai din ClujNapoca se afl la adresa http://www.ubbcluj.ro/, iar a Universitii AgoraOradea la adresa http://www.univagora.ro.

    1.3.2. Intranet i extranet

    Un alt exemplu de sistem distribuit (SD) este intranetul, care este oreea 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 sistemde securitate local. Un intranetpoate fi format din mai multe reele de tipLocalArea Network (LAN), legate ntre ele prin anumite sisteme de comutare. Unintranet poate fi conectat la Internet printr-un router, care permite utilizatorilordin intranet s utilizeze servicii ca Web, FTP sau EMAIL. De asemeneapermite utilizatorilor din exterior (din Internet) s acceseze servicii pe care lepune eventual la dispoziie intranetul. Pentru a se proteja de diferite atacurimaliioase, sunt utilizate soft-uri de tip firewall, care previn utilizatorul canumite mesaje neautorizate ncearc s intre sau s plece. Un firewall este

    implementat s filtreze anumite mesaje conform unor criterii, de exemplu elpermite trecerea doar a mesajelor legate de pota electronic.

    Tot mai multe organizaii investesc n intranet i n diverse sistemeinformatice/informaionale integrate, de tip ERP (Enterprise PlanningResource) sau sisteme expert pentru asistarea deciziei. ntr-o baz de datecomun i unic se gsesc toate informaiile necesare angajailor i managerilor,unele fiind disponibile i partenerilor sau chiar publice. Exist organizaii caredin 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).

  • 7/30/2019 Sisteme_distribuite_Dzitac

    28/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice28Extranetul este un intranet particular al unei firme, la care ns au acces

    limitat i anumite persoane sau grupuri din exterior, din alte firme, ca deexemplu 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 nprezent dispozitivele miniaturizate i reelele wireless. De exemplu, cu ajutorulunui laptop sau chiar a telefonului mobil, printr-o conexiune de tip wireless neputem conecta aproape de pretutindeni la intranetul home i putem utilizaresursele de acolo (de pe calculatorul de acas sau de la serviciu). Putem vorbiastfel de un calcul mobil(nomadic computing).

    Ubiquitous computingpromoveaz ideea aparent opus, computereomniprezente, adic s existe computere conectate la internet n locuri n careexist 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 lepot accesa pentru a comunica sau pentru a accesa anumite informaii dinexterior. De exemplu, de la calculatorul de acas conectat la Internet, putemaccesa diverse informaii de la serviciu sau putem citi presa din Bucureti sauLondra, sau putem coresponda prin email sau online cu orice persoan din lumecare dispune de aceleai faciliti. n afar de laptopuri i de telefoanele mobileperformante, amintim imprimantele inteligente, ceasurile inteligente, PDA(Personal Digital Assistant), camere video digitale, iPOD-uri, care contribuie ladezvoltarea tot mai expansiv a calculului nomadic.

    1.3.4. Internet2Sursa: http://www.internet2.edu/

    Internet2 este cel mai avansat consoriu de networking din SUAorganizat pe principiul non-profit. nfiinat de comunitatea de cercetare ieducaie ncepnd cu anul 1996, Internet2 are n vedere dezvoltarea de aplicaiii tehnologii de reea avansate, cu scopul de a accelera modernizareaInternetului i utilizarea tehnologiilor sale revoluionare.

    n afar de implicarea a peste 200 de universiti din SUA, Internet2promoveaz 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, laacest proiect colaboreaz peste 50 de parteneri din afara granielor SUA.

  • 7/30/2019 Sisteme_distribuite_Dzitac

    29/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 29Din punct de vedere practic, Internet2 nu este o reea fizic separat i

    aceast reea nu-i propune s nlocuiasc omniprezentul Internet. Ideea pe carese merge este c pe platforma Internet existent deja, prin colaborareauniversitilor, institutelor de cercetare i companiilor s se accelereze procesulde dezvoltare de noi tehnologii i aplicaii.Pare incredibil, dar prin Internet2 seating viteze de transfer de 20.000 de ori mai mari dect printr-o conexiunetradiional dial-up! Experimentele efectuate au demonstrat c, de exemplu, ocopie a DVD-ului cu filmul The Matrix poate fi downloadat n aproximativ30 de secunde utiliznd Internet2, proces care pe Internet la o conexiune devitez medie ar putea dura circa 15-20 de ore.

    n ce msura vor fi avantajai utilizatorii casnici de facilitile pecare le ofer sau le va oferi Internet2? La nceputurile sale, Internetul aveadoar cteva mii de utilizatori, fiind axat pe interconectare ntre super-calculatoare, acces de la distan i transfer de fiiere. Azi exist sute demilioane de utilizatori, iar serviciile principale utilizate sunt e-mailul, chatul,transmisii video i tehnologii P2P sau VoIP. n viitor se ateapt cretereadrastic 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. Dacdorim s aflm, dac computerul nostru este conectat la Internet2, se poate aflaacest lucru fr dificultate folosind un applet Java de la adresahttp://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 25de ri. Majoritatea mainilor este gzduit de institute de cercetare, dei uneledin ele sunt gzduite n co-locaie i cu diverse centre de rutare (cum ar fiInternet2 Abilene backbone). Toate mainile sunt conectate la Internet, intaPlanetLab fiind de a crete la peste 1000 numrul nodurilor n majoritateadintre importantele zone regionale ale backbonurilor de Internet.

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

  • 7/30/2019 Sisteme_distribuite_Dzitac

    30/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice30 [PAC+02] : Larry Peterson, Tom Anderson, David Culler, and Timothy

    Roscoe,A Blueprint for Introducing Disruptive Technology into theInternet,Proceedings of the First ACM Workshop on Hot Topics inNetworking (HotNets), October 2002.

    [BBC+04]: Andy Bavier, Mic Bowman, Brent Chun, David Culler,

    Scott Karlin, Steve Muir, Larry Peterson, Timothy Roscoe, TammoSpalink, and Mike Wawrzoniak, Operating System Support forPlanetary-Scale Services, Proceedings of the First Symposium onNetwork Systems Design and Implementation (NSDI), March 2004.

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

    PlanetLab este o reea de servicii de calcul i o baz de testare deschisi global pentru dezvoltarea noilor tehnologii Internet. Dup cum vom

    prezenta mai jos, cele mai importante centre de cercetare i universiti dinlume sunt deja membre ale PlanetLab, inclusiv: AT&T Labs, CambridgeUniversity, France Telecom, HP, NEC Labs, Princeton University, UCBerkeley, alturi de centre educaionale din Brazilia, Canada, China iorganizaia Internet2.

    n 2004, Intel Corporation a descris schimbrile semnificative care artrebui implementate pentru ca infrastructura Internetului s devin mai sigur,mai fiabil, mai eficient i mai accesibil. Vicepreedintele senior al Intel, PatGelsinger, a afirmat c prin adugarea la Internet a unei reele de servicii careconine resurse de calcul i stocare, industria poate aduga un plus deinteligen n i de-a lungul reelei nucleu. Acest lucru ar transforma Internetul

    ntr-o vast platforma care gzduiete servicii disponibile celor peste asemiliarde de locuitori ai Terrei.

    Gelsinger s-a referit la posibilitatea de a oferi servicii pe scar mondialaa Internetului, care s detecteze i s alarmeze n legtur cu atacurile viruilor,s redirecioneze traficul reelei pentru a se evita nodurile lente, pentru a uuraaccesul utilizatorilor din regiunile n care furnizarea electricitii lipsete sau nueste de calitate. Gelsinger a apelat la industria si potenialii utilizatori aiserviciului pe scar planetar s ajute la crearea unui Internet mai detept prinalturarea la PlanetLab Consortium.

    n sublinierea provocrilor de a mbunti serviciile Internetului, lui PatGelsinger i s-a alturat i printele Internetului Vint Cerf, vicepreedinte

    senior al strategiei tehnologice MCI. Pentru a oferi serviciile Internetuluimiliardelor de noi utilizatori, cercettorii industriali propun o nou generaie dedispozitive operate de baterii la preuri reduse care pot fi folosite n regiuni

  • 7/30/2019 Sisteme_distribuite_Dzitac

    31/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 31defavorizate, unde nu se pot folosi calculatoarele tradiionale datorit lipsei deelectricitate.S-a descris modul n care serviciile la scar global ar putea ajutaaceti utilizatori prin suportul a noi tipuri de conexiuni i stocare in-network,care pot opri ntreruperile i ntrzierile n tranzacii.Un alt serviciu inteligentpropus ar fi trans-codarea, adic capacitatea reelei de a converti de a lungulreelei coninutul ntr-o forma potrivit diverselor dispozitive.

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

    1. Academia Sinica Taiwan2. ADETTI/ISCTE3. American University of Beirut4. Architecture Technology5. AT&T LabsResearch6. Bar-Ilan University

    7. BeiHang University8. Beijing Institute of Technology,

    Intelligent Information NetworkLab

    9. Ben-Gurion University of theNegev

    10.Birkbeck University of London11.Boston University12.Brigham Young University13.California Institute of Technology14.CANARIE15.Canarie Calgary

    16.Canarie Halifax17.Canarie Montreal18.Canarie Ottawa19.Canarie Toronto20.Canarie Winnipeg21.Carnegie Mellon University22.Case Western Reserve University23.Centre for Development of

    Advanced Computing24.CERNET - Fudan University25.Centro Nacional de Calculo

    Cientifico Universidad de Los

    Andes26.CERNET - Harbin Institude of

    Technology

    27.CERNET - Huazhong Universityof Science & Technology

    28.CERNET - Jilin University29.CERNET30.CERNET - Beihang University31.CERNET - Beijing Jiao Tong

    University32.CERNET - Beijing University of

    Posts and Telecommunications33.CERNET - Central South

    University34.CERNET - Chongqing University35.CERNET - Dalian University of

    Technology36.CERNET - Lanzhou University37.CERNET-MSR Joint Lab,

    Tsinghua University38.CERNET - Northeast University

    39.CERNET - Peiking University40.CERNET - Shandong University41.CERNET - Shanghai Jiao Tong

    University42.CERNET - South China

    University of Technology43.CERNET - Southeast University44.CERNET - Tianjin University45.CERNET - Tongji University46.CERNET - Tsinghua University47.CERNET - University of

    Electronic Science & Technology

    of China

  • 7/30/2019 Sisteme_distribuite_Dzitac

    32/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice32

    48.CERNET - University of Science& Technology of China

    49.CERNET - Xiamen University50.CERNET - XiAn Jiao Tong

    University

    51.CERNET - Zhejiang University52.CERNET - Zhengzhou Univeristy53.CESNET - Czech Education and

    Research Network54.Chinese Academy of Sciences,

    Computer Network InformationCenter

    55.Chinese University of Hong Kong56.Chungnam National University57.City College of the City

    University of New York58.Collegium Budapest

    59.Colorado State University60.Columbia University61.Cornell University62.CSLab - Institute of

    Communication and ComputerSystems of National TechnicalUniversity of Athens

    63.Darmstadt University ofTechnology

    64.Dartmouth College, ComputerScience

    65.Datalogisk Institut Copenhagen

    66.Delft University of Technology67.Department of Electrical

    Engineering, National TaiwanUniversity

    68.DePaul University69.Dept. of Computer Science,

    National Chengchi University70.Dipartimento di Informatica di

    Torino71.Duke University72.Ecole Nationale Superieure des

    Telecommunications

    73.ERNET India74.ETH Zuerich

    75.Eurecom Institute76.Forschungsgemeinschaft

    elektronische Medien e.V.(FeM)

    77.France Telecom R&D

    78.France Telecom R&D Lannion79.Fraunhofer-Institute for

    Telecommunications -Heinrich-Hertz-Institut

    80.Fraunhofer Institut fur Techno-und Wirtschaftsmathematik

    81.Friedrich-Alexander UniversityErlangen-Nuremberg

    82.Fu Jen Catholic University83.George Mason University84.Georgetown University85.Georgia Institute of Technology

    86.GIST87.Google88.Haifa University89.Harvard University90.Helsinki Institute for

    Information Technology91.Helsinki Institute of Physics92.Howard University93.HP Brazil - RandD94.HP Labs95.HP Labs, Bristol96.HP Labs, Cambridge

    97.HP Labs, Internet 298. IBBT - Ghent University99. IIS, UniBw Munich100. Illinois Institute of

    Technology101. Imperial College London -

    ISN102. Indiana University

    (Bloomington)103. Indian Institute of Information

    Technology, Bangalore104. Indian Institute Of

    Technology Bombay

  • 7/30/2019 Sisteme_distribuite_Dzitac

    33/146

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

    105. Indian Institute of TechnologyDelhi

    106. Indian Institute of TechnologyRoorkee

    107. Information and

    Communications University108. INRIA Sophia Antipolis109. Institute for Applied

    Supercomputing, California StateUniversity San Bernardino

    110. Instituto de PesquisaTecnologicas de So Paulo

    111. Instituto Superior Tecnico112. Inst. of Computer Science,

    Foundation for Research andTechnology - Hellas

    113. Intel IT - Folsom

    114. Intel Labs - Oregon115. Intel Leixlip116. Intel - Nizhny Novgorod117. Intel Research at Seattle118. Intel Research Berkeley119. Intel Research Pittsburgh120. International University Bremen121. Internet2122. Internet2 - Atlanta123. Internet2 - Chicago124. Internet2 - Denver125. Internet2 Houston

    126. Internet2 - Indianapolis127. Internet2 - Kansas City128. Internet2 - Los Angeles129. Internet2 - New York130. Internet2 - Seattle131. Internet2 - Sunnyvale132. Internet2 - Washington133. Interxion Frankfurt134. Iowa State University Electrical

    and Computer Engineering

    135. ITEC, KlagenfurtUniversity

    136. Japan Advanced Instituteof Science and Technology(JAIST)

    137. Japan Gigabit Network II138. Johns Hopkins CNDS139. Johns Hopkins Information

    Security Institute140. KAIST141. Kansas State University142. Keio University143. KREONET at KISTI-

    DAEJON144. Laboratoire d'Informatique

    de Paris 6145. Lancaster University

    146. LARC - University of SaoPaulo

    147. Lawrence BerkeleyNational Laboratory

    148. Learning Lab LowerSaxony (L3S) University ofHannover

    149. Massachusetts Institute ofTechnology

    150. Max Planck Institute forSoftware Systems

    151. McGill University152. MCI GRID Lab153. Michigan State University154. Monash University - DSSE155. Moscow Institute of

    Physics and Technology156. Moscow State University157. Moscow State University,

    Chemistry

  • 7/30/2019 Sisteme_distribuite_Dzitac

    34/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice34

    158. Munich University ofTechnology

    159.Nara Institute of Science and

    Technology, Graduate School ofInformation Science

    160.National Institute ofInformation andCommunications Technology

    161.National Taiwan University,Department of InformationManagement

    162.National Tsing Hua University163.National University of

    Singapore164.NEC Laboratories

    165.New York University166.Nizhny Novgorod State

    University167.North Carolina AT State

    University168.North Carolina State

    University169.Northeastern University CCIS170.Northwestern University at

    Illinois171. Ohio State University172. Oklahoma State University

    (Tulsa)173. Orbit174. Oregon State University

    School of Electrical Engineeringand Computer Science

    175. Packet Clearing House - SanFrancisco

    176. Penn State University177. PlanetLab Central178. PlanetLab Colo - AMST179. PlanetLab Colo - McLean, VA180. PlanetLab Colo - NICT JGN2

    Fukuoka

    181. PlanetLab Colo - NICTJGN2 Hiroshima

    182. PlanetLab Colo - NICT

    JGN2 Kochi183. PlanetLab Colo - NICT

    JGN2 Nagoya184. PlanetLab Colo - NICT

    JGN2 Okayama185. PlanetLab Colo - NICT

    JGN2 Osaka186. PlanetLab Colo - NICT

    JGN2 Sendai187. PlanetLab Colo - Santa

    Clara188. PlanetLab Colo - SJCE

    189. PlanetLab Colo - Sterling,VA

    190. PlanetLab Colo - TPGdansk

    191. PlanetLab Colo - TPPiotrkow Trybunalski

    192. PlanetLab Colo - TP Poznan193. PlanetLab Colo - TP

    Warsaw194. Politecnico di Milano - Dip.

    di Elettronica e Informazione195. Politecnico di Torino

    196. Polytechnic University197. Princeton198. Princeton - DSL199. Public Broadcasting Service200. Purdue201. Queen Mary, University of

    London202. Rensselaer Polytechnic

    Institute203. Reykjavik University -

    Network Laboratory204. Rice University

  • 7/30/2019 Sisteme_distribuite_Dzitac

    35/146

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

    205. RNP

    206. RNP Ceara207. RNP - Rio de Janeiro208. RNP - Rio Grande do Sul209. Royal Institute of Technology

    (KTH), Sweden210. Rutgers University211. RWTH Aachen212. San Jose State University213. Seoul National University214. Simon Fraser University215. Simula Research Laboratory216. Singapore Advanced Research

    and Education Network217. Stanford University218. Stevens Institute of Technology219. Stony Brook University220. Swedish Institute of Computer

    Science221. Swiss Federal Institute of

    Technology Lausanne (EPFL)222. SwRI/UT San Antonio223. Technical University Ilmenau224. Technical University of Madrid225. Technion - Israel Institute of

    Technology226. Technische UniversitaetDresden

    227. Technische Universitat Berlin228. Tel-Aviv University229. Telecom Italia Learning

    Services230. Telecommunications Research

    Laboratory231. Telekomunikacja Polska R&D

    at Krakow

    232. Telekomunikacja Polska R&D

    at Olsztyn233. Telekomunikacja Polska R&D

    at Piotrkow Trybunalski234. Telekomunikacja Polska R&D

    at Swidnik235. Telekomunikacja Polska R&D

    at Warsaw236. Texas AM University237. The Hebrew University of

    Jerusalem238. The Hong Kong University of

    Science and Technology

    239. The University of Hong Kong240. Trinity College Dublin241. UC Berkeley - DSL242. UCLA - EE243. UC Santa Cruz244. Universidad Complutense de

    Madrid245. Universidade Federal de

    Campina Grande - Laboratrio deSistemas Distribudos

    246. Universidade Federal de MinasGerais

    247. Universit degli Studi di Napoli248. Universita' di Roma249. Universitat Politenica de

    Catalunya250. Universitat Rovira i Virgili251. Universite catholique de

    Louvain252. Universite de Montreal253. University College Dublin254. University College London

  • 7/30/2019 Sisteme_distribuite_Dzitac

    36/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice36

    255. University of Arizona256. University of Basel, Switzerland257. University of Bern, IAM

    258. University of Bologna259. University of British Columbia260. University of Calgary261. University of California at

    Berkeley262. University of California at Los

    Angeles263. University of California at San

    Diego264. University of California at Santa

    Barbara265. University of California, Davis

    266. University of California, Irvine267. University of California,

    Riverside268. University of Cambridge269. University of Canterbury, New

    Zealand270. University of Central Florida -

    EECS271. University of Chicago272. University of Cincinnati273. University of Colorado at

    Boulder

    274. University of Connecticut275. University of Cyprus276. University of Delaware277. University of Duisburg-Essen278. University of Florida - ACIS

    Lab279. University of Georgia280. University of Goettingen

    281. University of Illinois at Urbana-Champaign

    282. University of Ioannina

    283. University of Kaiserslautern,Germany

    284. University of Kansas285. University of Karlsruhe286. University of Kent Computer

    Science Dept, UK287. University of Kentucky288. University of Lisbon289. University of Manchester, UK290. University of Maryland291. University of Massachusetts at

    Amherst

    292. University of Melbourne -CSSE

    293. University of Michigan294. University of Minnesota295. University of Missouri Kansas

    City296. University of Nebraska at

    Kearney297. University of Nebraska -

    Lincoln298. University of Neuchatel299. University of New Brunswick

    300. University of Newcastle301. University of New Mexico302. University of North Carolina at

    Chapel Hill303. University of North Carolina at

    Charlotte304. University of Notre Dame305. University of Oregon306. University of Osaka

  • 7/30/2019 Sisteme_distribuite_Dzitac

    37/146

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

    307. University of Oslo

    308. University of Passau309. University of Pennsylvania310. University of Pittsburgh311. University of Puerto Rico at

    Mayaguez312. University of Puerto Rico, Rio

    Piedras Campus313. University of Rochester314. University of Saskatchewan315. University of Sevilla316. University of Southern

    California, ISI

    317. University of South Florida(CSE)318. University of St. Andrews319. University of Stirling320. University of Sussex321. University of Technology at

    Sydney322. University of Tennessee at

    Knoxville323. University of Texas at Arlington324. University of Texas at El Paso325. University of Texas at San

    Antonio326. University of Texas, Austin327. University of Tokyo328. University of Toronto329. University of Toronto at

    Mississauga330. University of Tromso331. University of Tuebingen332. University of Utah

    333. University of Utah - Emulab334. University of Victoria335. University of Virginia336. University of Washington337. University of Washington -

    Accretive DSL338. University of Waterloo339. University of Wisconsin340. University of Wuerzburg341. University of Zurich, Institut fur

    Informatik342. Uppsala University at Sweden

    343. Vanderbilt University344. Vrije Universiteit345. Warsaw University of

    Technology346. Washington State University347. Washington University in St

    Louis348. Waterford Institute of

    Technology349. Wayne State University350. WIDE Project351. Wroclaw University of

    Technology352. Yonsei University

  • 7/30/2019 Sisteme_distribuite_Dzitac

    38/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice381.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, calculatoarelevectoriale, multiprocesoare, MPP), care pot fi folosite i de sine stttor,interconectate ntr-o reea, fiind utilizat ca o resurs de calcul integrat isingular. n practic se utilizeaz dou tipuri de clustere: clustere dedicate(formate din procesoare omogene) i clustere de ntreprindere (formate dinprocesoare neomogene).

    Un cluster are, n mod iluzoriu, pentru utilizatoro imagine de sistemunic -SSI (Single System Image). Aceasta este impresia utilizatorului, c areacces la un sistem unic cu resurse multiplicate, cu control unic asigurat prinintermediul unei singure interfee. Sistemul este simetric, n sensul c unserviciu poate fi solicitat de pe orice nod, iar accesul la resurse estetransparent. 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 aplicaiide mare complexitate (fizica atomului, studiul genomului uman, meteorologieetc.).

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

    Domeniul de execuie al unei aplicaii distribuite poate cuprinde unulsau 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 soluiilormulti-calculator sunt: fiecare nod este un calculator de sine stttor, cu un sistem de

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

  • 7/30/2019 Sisteme_distribuite_Dzitac

    39/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice 39echilibrarea ncrcrii, dar nu i sunt neaprat necesare uneledispozitive 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-unansamblu de tehnici denumitesingle-system image (SSI);

    are disponibilitate ridicat, adic sistemul poate utilizat un procentmai mare de timp;

    datorit multiplicrii resurselor clusterul ofer o performan foartebun, fie ca timp de execuie mai scurt fie ca servire simultan a maimultor 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 acelaisistem de operare), este controlat centralizat i este accesat via unsistemfront-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 uncontrol limitat, iar joburile locale au prioritate fa de cele alentreprinderii.

    Pentru ca un sistem s fie robusti eficienteste 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,

  • 7/30/2019 Sisteme_distribuite_Dzitac

    40/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice40componentele trebuie s fie izolate, n sensul s nu poat fi afectate deaceeai surs de cdere (dou componente se pot testa reciproc i ntimp ce una funcioneaz, cealalt poate fi reparat sau nlocuit, dupcaz). O strategie judicioas de realizare a unui cluster fiabil este cea careelimin punctele unice susceptibile de cdere, de exemplu la arhitecturaclient/server vor fi dublate liniile de comunicaie, serverul i adaptorulsu, discul, magistrala SCSI (Small Computer System Interface);

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

    v. http://www.linux-ha.org/HeartbeatProgram), asigur diagnoza notificareai refacerea. Nodurile i trimit mesaje heartbeat, iar dac sistemul nuprimete mesaje de la un nod, nsemn c nodul sau/ i conexiunea la reea aczut. De regul se folosesc dou ci de conexiune ntre noduri i fiecarenod are un demon heartbeat care trimite la un anumit interval de timpprestabilit un mesaj pe ambele conexiuni ctre master (unul din noduri estedesemnat master). Dac masterul primete dou mesaje, totul este n regul.Dac primete un singur mesaj, nsemn c una din conexiuni a czut, iardac nu primete nici-un mesaj nsemn c ori au czut ambele conexiuni,ori a czut nodul n cauz. Odat diagnosticat o cdere, sistemul notificacest 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 seexecut (backward recovery checkpoint), iar a doua este forwardrecovery. n primul caz, dup o cdere, sistemul este reconfigurat astfelnct s izoleze componenta czut i se continu funcionarea normaldin punctul de salvare (tehnica rollback). Aceast tehnic se poateimplementa i portabil, independent de aplicaie. A doua soluie sebazeaz pe reluarea execuiei pe baza diagnosticului dintr-o stare validanterioar i se folosete de obicei cnd timpul de execuie este critic.Schema este dependent de aplicaie i poate necesita un hardwaresuplimentar.

    Imaginea unic de sistem -SSI (Single System Image) se refer la faptulc utilizatorul are iluzia c acceseaz un sistem unic, care are resursemultiplicate, are control unic asigurat printr-o singur interfa, este simetric(un serviciu poate fi solicitat de pe orice nod), iar accesul la resurse estetransparent.

  • 7/30/2019 Sisteme_distribuite_Dzitac

    41/146

    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

  • 7/30/2019 Sisteme_distribuite_Dzitac

    42/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice42Iluzia 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 sauhardware (ntr-un cluster eterogen acest lucru este mai greu de realizat);

    la nivelul situat deasupra kernelului: este cel mai potrivit nivelpentru construcia iluziei SSI, deoarece este independent de platformi 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 precumcrearea directorului home (unde s fie plasat: se poate pstra o copie pefiecare calculator gazd sau se pot memora toate directoarele home ntr-un spaiu de stocare sigur al clusterului), autentificare, gestiuneaconexiunilor multiple, cderea gazdei etc.

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

    Spaiu de memorie unic (iluzoriu): produce iluzia unei memoriiprincipale 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) alUniversitii Berkely, care i-a propus s realizeze un software pentru gestiuneaunui cluster. S-a proiectat un strat software de tip cluster middleware, numitGLUnix, care se aeaz deasupra sistemelor de operare existente i permiteexecutarea joburilor interactive cu viteza unei staii de lucru, dar i a unorjoburi care ar fi prea mari pentru o singur staie de lucru.

  • 7/30/2019 Sisteme_distribuite_Dzitac

    43/146

    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, frcontrol centralizat, fr o imagine de sistem unic, accesibil unororganizaii virtuale prin intermediul unui software suport pentruconfigurare (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 eterogenepeste 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 coordonapunerea 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 ifaciliti experimentale ntr-un mod simplu i transparent, fr s inseama 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 sfoloseasc un numr larg de resurse de calcul la cerere, indiferent undes-ar afla acestea.www.informatica.com/solutions/resource_center/glossary/default.htm ;

    6. Un grid este o infrastructur informatic de tip reea, constituit virtualdintr-o mulime de resurse informatice distribuite, eterogene, cupotenial de partajare, fr o administrare centralizat, fr imagine desistem unic, care permite unor utilizatori de tip organizaional s-irezolve unele probleme de dimensiuni mari utiliznd resurse depretutindeni (din afara organizaiei).

    Deci, resursele unui Grid sunt caracterizate prin

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

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

  • 7/30/2019 Sisteme_distribuite_Dzitac

    44/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice443. Eterogenitate: nu sunt toate de aceeai natur, pot diferi prin sisteme de

    gestiune a fiierelor, prin sisteme de operare, prin tipul de procesoareutilizate etc.;

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

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

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

    Domeniile de aplicabilitate pentru Grid Computing:

    1. Modelare predictiv i simulare: prognoze meteo prin simulrinumerice; 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 metodaelementului finit, aerodinamic, inteligen artificial (procesareaimaginilor, recunoaterea formelor, vizualizare computerizat).

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

    4. Cercetri fundamentale n medicin i probleme militare: imaginii 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/

  • 7/30/2019 Sisteme_distribuite_Dzitac

    45/146

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

    Not. Uneori se mai fac confuzii ntre cele dou concepte: cluster computingi grid computing. Este necesar de la bun nceput s facem o distinciecategoric ntre cele dou concepte, comparnd urmtoarele definiii ale celordou concepte: Cluster computing: este o colecie de staii de lucru (PC-uri,supercomputere, MPP,...) omogene sau neomogene, puternic cuplate ntr-oreea bine localizat (ntr-o ncpere sau n cteva locaii ale uneintreprinderi), cu control centralizat, accesibil utilizatorilor de la terminalelestaiilor de lucru prin intermediul unui software de administrare (uzual,GLUnix realizat n cadrul proiectului NOW sau CODINE, vezi ihttp://www.linux-ha.org/ClusterResourceManager), prin intermediul cruiavd 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 PasingInterface) http://www-unix.mcs.anl.gov/mpi/ sau PVM (Parallel VirtualMachine)http://www.csm.ornl.gov/pvm/ ; Grid computing: este o colecie de resurse informatice eterogene (PC-uri,supercomputere, MPP, clustere, ....), fr o localizare determinat, frcontrol centralizat, fr o imagine de sistem unic, accesibil unor organizaiivirtuale prin intermediul unui software suport (uzual, Globus Toolkit,http://www.globus.org/ ).

  • 7/30/2019 Sisteme_distribuite_Dzitac

    46/146

    Ioan Dziac, Grigor Moldovan, Sisteme distribuite: Modele informatice46

  • 7/30/2019 Sisteme_distribuite_Dzitac

    47/146

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

    CAPITOLUL 2SISTEME 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 memorie2.1.2. Clasificarea SCPD dup tipul mecanismului de control2.1.3. Clasificarea SCPD dup numrul de seturi de instruciuni prelucrabile2.1.4. Clasificarea SCPD dup tipul strategiei de management al procesrii2.1.5. Clasificarea SCPD dup numrul de seturi de date prelucrabile2.1.6. Divizarea clasei SC dup numrul de seturi de date prelucrabile2.1.7. Divizarea clasei SIMD dup tipul de date prelucrabile2.1.8. Divizarea clasei SF dup tipul de date prelucrabile2.1.9. Divizarea clasei MIMD dup modul de organizare a adresrii spaiului dememorie (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 SISD2.2.2.Paralelismul n calculatoarele multiscalare de tip MISD2.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 taxonom