260 likes | 400 Views
UNIVERSITATEA POLITEHNICA BUCURE Ș TI FACULTATEA de ELECTRONIC Ă , TELECOMUNICA Ț II Ș I TEHNOLOGIA INFORMA Ț IEI. - Procesarea distribuita - Coordonator ș tiintific Stefan Stancescu Student: State Ana-Maria.
E N D
UNIVERSITATEA POLITEHNICA BUCUREȘTIFACULTATEA de ELECTRONICĂ, TELECOMUNICAȚII ȘI TEHNOLOGIA INFORMAȚIEI - Procesarea distribuita- Coordonator știintific Stefan Stancescu Student: State Ana-Maria
Cuprins • Ce este procesarea distribuita-Mecanisme de functionare • Proceduri folosite in procedarea distribuita • Gestiunea proceselor distribuite - Procesul de migrare • Algoritmul de echilibrare a migrarii • Blocaje si gestionarea lor • Griduri –Arhitectura,Topologii • Proiectul Globus • Concluzii
Procesareadistribuita-Mecanisme de functionare • Sistem distribuit –colectie de calculatoare , conectate printr-o rețea și un sistem de operare distribuit, care permite computerelor să-și coordoneze activitățile și să-si împărtășească resurse ale sistemului, astfel încât utilizatorul percepe sistemul ca un mecanism de calcul unic, integrat. • Mecanism de functionare : doua entitati principale, serverul si mai multi clienti
Procesareadistribuita-Mecanisme de functionare • Modelul cu trei niveluri, împarte sarcina trimisa de server în două straturi: unul pentru a genera pachete de lucru, și un altul ce acționeaza ca un broker, comunicand cu clienții.
Procedurifolosite in procedareadistribuita • Procesarea distribuita se bazeaza pe un set de proceduri utilizate pentru deservirea taskurilor/aplicatiilor. Cele mai des intalnite sunt: • RPC • LRPC • IPC.
Procedurifolosite in procedareadistribuita • RPC(Remote Procedure Call) • clientul face un apel de procedură, care aratăca un apel local • Apelulde procedurăestetradusîntr-un mesajșitrimis la server folosindprotocolul de comunicare specific RPC Odatăceserverulprimeștecererea, acestaestetrimisînapoicatre un apel de procedurășiprocedura de server corespunzătoareesteexecutata. Răspunsurilesuntreturnateîntr-o manierăsimilară.
Procedurifolosite in procedareadistribuita • LRPC(Lightweight Remote Procedure Call) • Executia modelului LRPC se bazeaza pe cea a “protected procedure call”, iar programarea si protectia la nivel mare de granularitate se bazeaza pe modelul RPC • Foloseste 4 metode: • - controlul transferului • - Transfer de date • - Stub-uri • -Designul concurentei • Pentru cazurile de transparență și cross-calls si apelurile care se fac catre un server la distanță, o ramură este trimisa la un stub RPC conventional
Procedurifolosite in procedareadistribuita • IPC(Comunicarea inter-proces) • Este un set de metode pentru schimbul de date între mai multe fire din unul sau mai multe procese • Procesele pot rula pe unul sau mai multe calculatoare conectate printr-o rețea- controlul transferului • Metode utilizate : fisier, socket , semnal, “coada” de mesaje, • Pipe, semnalizator, memorie comuna, fisier mapat cu memoria
Gestiuneaproceselordistribuite - Procesul de migrare • Proprietati ale proceselor: • Transparenta • Deschidere • Scalabilitate • Managementul erorilor • Concurenta
Gestiuneaproceselordistribuite - Procesul de migrare • Migraretransferul a unei parti dintr-un proces sau a intregului proces de la un computer la altul , pentru ca acesta sa poata fi executat pe masina unde este necesar acest lucru. • Motive pentru migrarea proceselor: • Incarcarea • Disponibilitatea • Performanta de comunicare
Gestiuneaproceselordistribuite - Procesul de migrare • Procesul de migrare foloseste diferite strategii pentru stabilirea acelei parti din proces ce va fi migrata: • Transferul întregului spațiu de adresa la momentul migrarii. • Precopiere • Copie de pe pagina de referință • Flushing • Decizia migrarii se ia de catre acele doua procese “starter”, unul pe masina sursa, si altul pe masina destinatie.
Algoritmul de echilibrare a migrarii • Algoritmii de echilibrare ai incarcarii incearca sa o echilibrare a incarcarii masinilor sistemului, astfel incat sa se realizeze folosirea timpului de inactivitate a procesoarelor putin sau deloc solicitate, prin mutarea taskurilor la alte masini, astfel incat volumul de munca pe fiecare masina sa fie aproximativ acelasi. • Cei mai intalniti algoritmi de echilibrare sunt: • Ditributed Snapshot • Algoritmul distribuit • Algoritmul time-stamping
Algoritmul de echilibrare a migrarii • Ditributed Snapshot - presupune ca mesajele sunt “livrate” in ordinea in care sunt trimise, astfel incat nici un mesaj sa nu se piarda. Acesta foloseste un “marker” pentru controlul mesajelor. • Algoritmul distribuit - toate nodurile au aceeasi cantitate de informatie, fiecare nod avand doar o privire partiala a sistemului, fiind nevoit sa ia o decizie pe baza acestei informatii. Toate nodurile au aceeasi greutate decizionala in ceea ce priveste decizia finala, depunand acelasi efort in luarea ei. • Algoritmul time-stamping -presupune ca fiecare sistem din retea mentine un numerator ce functioneaza ca un ceas , si fiecare site are un identificator numeric. Atunci cand un mesaj este primit, sistemul care primeste mesajul incrementeaza numaratorul cu o unitate fata de maximul dintre valoarea sa curenta si counterul ce urmeaza sa vina.
Blocajesigestionarealor • Blocaj -condiționare a unui process, ce nu poate continua , pentru că are nevoie sa obțin0 o resursă deținută de un alt proces și/sau procesul deține o resursă de care are nevoie de un alt proces • 4 conditii duc la crearea unui blocaj: • Excludere mutuala • Retinere si asteptare • Non –preemption • Asteptare circulara
Blocajesigestionarealor • Putem reprezenta alocarea de resurse ca un grafic în care : P ← R înseamnă o resursă R este deținută în prezent de procesul P. P → R înseamnă că un proces P dorește să obțină acces exclusiv la resursa R. Blocajul se declanseaza când graficul de alocare a resurselor are un ciclu. • Strategii pentru rezolvarea blocajelor: • Ignorarea • Detectia • Preventia • Evitarea
Blocajesigestionarealor • Detectiablocajelorse face cu algoritmulChandy-Misra-Haas-conceputpentru a permiteproceselorsafacacereri de multiple de resursedintr-o dată. • Preventiablocajelor-lucreaza cu proiectareasistemuluiînașafelîncâtblocajele nu pot avea loc. • 2 algoritmi de preventie: wait-die • wound-wait • Ambeleactioneaza similar, cu diferentaca in cel de-al doileacaz, in locsaasteptamdupaprocesulcelmai recent satermine de utilizatresursa, ilvomomori. In cazul invers, se vaasteptacaprocesulvechisatermine de folositresursa.
Griduri–Arhitectura • Gridul -sistem distribuit, format dintr-un volum de sarcini de lucru non-interactive, care implică un număr mare de fișiere.
Griduri–Arhitectura • 5 niveluri: • de baza • conectivitate • resurse • colectiv • aplicatii
Griduri –Topologii • Topologii/tipuri de griduri • Gride de date • Grid computational • Intragrid • Extragrid
Griduri–ProiectulGlubus • Globus Toolkit este o arhitectura deschisa, bazata pe un set de servicii open-source și biblioteci software care suportă aplicații de tip grid . Setul de instrumente abordează probleme de securitate, de descoperire de informații, managementul resurselor, managementul datelor, comunicare, detectarea defectelor, și portabilitate.[
Griduri–ProiectulGlubus • Globus Toolkit- componente • GRAM • Meta Directory Service • Infrastructura de retea de securitate • MDS -2
Griduri–ProiectulGlubus • Mecanisme:
Concluzii • Lucrarea de fata si-a propussapuna in luminanecesitateaproceselordistribuite in aplicatiileexistenteastazi. • Atatsistemeledistribuite cat sigridurileraspundprovocarii de a lucra cu date din locuri total dispersate, gasindsolutiiunorproblemeprecumcontrolulconcurentei, toleranta la erori, eficientaalgoritmicasicea de comunicare. • Deschiderea, scalabilitatea , un management bun al erorilor,flexibilitatea, performantadarsifiabilitatea, suntdoarcatevadintreavantajeleevidentepe care astfel de sisteme le au. Pe de alta parte, problemele de securitate, troubleshooting siacces al acestora ne demonstreazacasuntnecesareimbunatatiri, sicatrebuiegasitesolutii in acestsens. • tendinteviitoare- acestesistemevor fi implicate cu siguranta in economie, sauoricealtedomeniiimplicabaze de date distribuitesaunecesitaputere de calculsau de procesare a taskurilor mare, si in general eficientasiperformanteridicate.