Algoritmi Paraleli

Curs
8/10 (2 voturi)
Conține 3 fișiere: doc
Pagini : 40 în total
Cuvinte : 30935
Mărime: 237.90KB (arhivat)
Publicat de: Marcu Drăghici
Puncte necesare: 0

Extras din curs

1. Introducere

Un sistem (de calcul) distribuit este o colectie de dispozitive de calcul individuale care comunica între ele.

Spre deosebire de procesarea paralela, în care scopul principal este cooperarea dintre toate procesoarele în vederea realizarii unei lucrari, în procesarea distribuita fiecare procesor are în general propria sa agenda semi-independenta, dar din diferite motive (partajarea resurselor, toleranta la erori etc.) procesoarele trebuie sa-si coordoneze actiunile.

Principalele dificultati în proiectarea sistemelor distribuite sunt:

- Asincronia – timpul absolut (sau chiar relativ) la care au loc evenimentele nu poate fi cunoscut precis;

- Cunoasterea locala – fiecare entitate de calcul poate dispune doar de informatia pe care o primeste, are doar o imagine locala asupra situatiei globale;

- Caderea componentelor (failures) – entitatile de calcul se pot defecta independent lasând anumite componente operationale iar altele nu.

Procesarea distibuita îsi propune sa realizeze ceea ce Proiectarea si Analiza algoritmilor secventiali a facut pentru calculatoarele secventiale: evidentierea unui cadru general pentru specificarea algoritmilor si compararea performantelor pentru întelegerea limitarilor interne ale acestora.

Se doreste indentificarea de probleme fundamentale, abstractizari ale celor ce apar în sisteme distribuite reale, enuntarea acestor probleme în mod precis, proiectarea si analiza unor algoritmi eficienti pentru ele.

Dificultatea principala consta în faptul ca nu exista un model de calcul unanim acceptat si probabil nici nu va fi. Exista diferente majore între sistemele distribuite depinzând de:

prin mesaje;

- Modul de comunicare

prin memorie partajata;

- Tipul de informatie referitor la timp si comportarea sistemului în timp;

- Tipul de caderi (ale componentelor) care sunt tolerate.

În sistemele distribuite exista noi tipuri de masuri de complexitate. Pe lânga timpul de executie si spatiul de lucru (ce trebuie definite în mod corespunzator) vom fi interesati în complexitatea de comunicare si în numarul de componente defecte ce pot fi acceptate. Exista numeroase rezultate “negative”, margini inferioare si rezultate de imposibilitate. Se poate demonstra ca o problema particulara nu poate fi rezolvata într-un tip particular de sistem distribuit, sau nu se poate rezolva sub o anumita cantitate dintr-o anumita resursa. (Astfel de rezultate joaca rolul celor de NP-completitudine din algoritmica secventiala.)

2. Legatura cu practica

Daca nu cel mai simplu, cu siguranta cel mai vechi exemplu de sistem distribuit este un sistem de operare pentru calculatoare secventiale conventionale. Procesele de pe acelasi hard comunica utilizând acelasi soft sau prin schimburi de mesaje, sau printr-un spatiu comun de adresare. Partajarea unei singure CPU de catre procese multiple ridica probleme de concurenta (virtuala). Multe dintre problemele ridicate de un sistem de operare apar si în alte sisteme distribuite, ca de exemplu excluderea mutuala, detectarea si prevenirea dead-lockului.

Masinile MIMD cu memorie partajata sunt puternic interconectate (tightly coupled) si sunt numite uneori multiprocesoare. Acestea constau din componente hard separate executând un soft comun. Conectarea se face printr-un bus sau, mai putin frecvent, printr-o retea cu comutatori. Masinile MIMD pot fi si slab interconectate (loosley coupled) si nu au memorie comuna. Ele pot fi o colectie de statii de lucru dintr-o retea locala sau o colectie de procesoare într-o retea cu comutatori.

Sistemele distribuite si mai putin interconectate pot fi constituite din gazde autonome într-o retea locala (ca de exemplu Ethernet) sau chiar WAN (cum ar fi Internet). În acest caz, avem componente hard separate executând soft separat desi entitatile interactioneaza prin interfete bine definite ca de exemplu TCP/IP, CORBA sau ale groupware sau middleware.

Dupa modul de comunicare si gradul de sincronizare vom considera trei modele principale:

1. Modelul asincron cu memorie partajata; este reprezentat de masinile puternic cuplate în situatia comuna în care procesoarele nu-si iau semnalul de ceas de la o singura sursa;

2. Modelul asincron cu transmitere de mesaje; este reprezentat de masinile putin cuplate si WAN;

3. Modelul sincron cu transmitere de mesaje; este o idealizare a sistemelor bazate pe transmiterea mesajelor, în care se cunoaste o anumita informatie referitoare la timp (ca de exemplu o margine superioara pentru întirzierea mesajelor). Se poate simula un astfel de model cu sisteme mai realiste, de exemplu prin sincronizarea ceasurilor.

Modelele bizantine evidentiaza preocuparile legate de posibilitatea de defectiune a anumitor componente.

4. Algoritmi de baza în sisteme de tip transmitere de mesaje

Într-un sistem distribuit de tip MP (message passing) procesoarele comunica prin transmiterea de mesaje prin canele de comunicatie, fiecare canal realizând o conexiune bidirectionala între doua procesoare.

Multimea canalelor de comunicatie formeaza topologia sistemului care poate fi reprezentata printr-un graf (neorientat) în care nodurile sunt procesoarele iar muchiile sunt canalele de comunicatie.

Sistemul fizic de interconectare reprezentat de topologia sistemului este referit si ca retea.

Un algoritm pentru un sistem distribuit de tip MP consta dintr-un program local pentru fiecare procesor din retea. Programul local permite procesarea locala precum si transmiterea si receptionarea de mesaje de la fiecare din procesoarele vecine în topologia data.

Un sistem distribuit de tip MP consta din n procesoare: p0, p1, p2, …, pn-1.

Fiecare procesor pi este modelat ca o masina cu stari, cu multimea starilor Qi (finita sau infinita).

Fiecare procesor va fi identificat cu un nod în retea. Muchiile incidente cu procesorul pi sunt numerotate 1, 2, …,v (v fiind gradul nodului pi).

Orice stare a procesorului pi are 2v componente speciale: outbufi(l) si inbufi(l) cu 1 £ l £ v . Aceste componene speciale sunt multimi de mesaje:

- outbufi(l) pastreaza mesajele pe care pi le-a trimis vecinului sau corespunzator muchiei l si care nu au fost înca transmise;

Preview document

Algoritmi Paraleli - Pagina 1
Algoritmi Paraleli - Pagina 2
Algoritmi Paraleli - Pagina 3
Algoritmi Paraleli - Pagina 4
Algoritmi Paraleli - Pagina 5
Algoritmi Paraleli - Pagina 6
Algoritmi Paraleli - Pagina 7
Algoritmi Paraleli - Pagina 8
Algoritmi Paraleli - Pagina 9
Algoritmi Paraleli - Pagina 10
Algoritmi Paraleli - Pagina 11
Algoritmi Paraleli - Pagina 12
Algoritmi Paraleli - Pagina 13
Algoritmi Paraleli - Pagina 14
Algoritmi Paraleli - Pagina 15
Algoritmi Paraleli - Pagina 16
Algoritmi Paraleli - Pagina 17
Algoritmi Paraleli - Pagina 18
Algoritmi Paraleli - Pagina 19
Algoritmi Paraleli - Pagina 20
Algoritmi Paraleli - Pagina 21
Algoritmi Paraleli - Pagina 22
Algoritmi Paraleli - Pagina 23
Algoritmi Paraleli - Pagina 24
Algoritmi Paraleli - Pagina 25
Algoritmi Paraleli - Pagina 26
Algoritmi Paraleli - Pagina 27
Algoritmi Paraleli - Pagina 28
Algoritmi Paraleli - Pagina 29
Algoritmi Paraleli - Pagina 30
Algoritmi Paraleli - Pagina 31
Algoritmi Paraleli - Pagina 32
Algoritmi Paraleli - Pagina 33
Algoritmi Paraleli - Pagina 34
Algoritmi Paraleli - Pagina 35
Algoritmi Paraleli - Pagina 36
Algoritmi Paraleli - Pagina 37
Algoritmi Paraleli - Pagina 38
Algoritmi Paraleli - Pagina 39
Algoritmi Paraleli - Pagina 40

Conținut arhivă zip

  • Algoritmi Paraleli
    • 01.Procesare distribuita.doc
    • 02.Cauzalitate si timp.doc
    • 03.SIMULARE DE SISTEME.doc

Alții au mai descărcat și

Curs HTML

Internetul a fost descris ca „o colectie larga de retele“ sau ca o „retea de retele“. Desi ambele definitii sînt corecte, nici una nu surprinde...

Visual C++

Dupa cum multi dintre noi cunosc ,atomul este format din particule materiale si anume un nucleu incarcat electric pozitiv si mai multi electroni...

Limbajul SQL

CAPITOLUL 1. TEORIA BAZELOR DE DATE RELATIONALE 1.1. MODELUL RELATIONAL Modelul relational a fost propus de catre IBM si a revolutionat...

Programare în Java Script

Java - Sectiunea 3 Reducerea efectului de palpaire la crearea animatiilor Efectul suparator de palpaire a imaginii in cazul animatiilor, se poate...

Structuri de Date și Algoritmi

Arbori Binari Optimi Despre arbori binari optimi putem vorbi atunci cand, pentru fiecare dintre cheile unui arbore binar ordonat cunoastem...

Curs C++

Limbajele C si C++ sunt limbaje de programare de nivel înalt. Limbajul C a aparut în anii 1970 si a fost creat de Dennis Ritchie în...

Tehnologii Web

1 - WEB AND ITS TECHNOLOGIES 1.1 the web and its beginnings The internet may be defined as the worldwide system of interconnected computer and...

Grafică pe calculator

Computer Graphics Cristian Rusu Office 3-8 cristian.rusu@ucv.cl What will be? It will not be an ENGLISH course! ENGLISH will be an...

Te-ar putea interesa și

Studiul experimental al dirijării pachetelor utilizând algoritmul multicast - protejarea informațiilor pe baza algoritmului RC5

CAP.I. REŢELE DE CALCULATOARE – GENERALITĂŢI 1.1. CONCEPŢIA DE REŢEA O reţea de calculatoare reprezintă un mod de conectare a unor calculatoare...

Calcul Paralel

1.Introducere Conceptul clasic a lui Von Neumann despre computerul serial a fost incorporat in primele masini moderne de calcul. Viteza de calcul...

Aplicații - calculul paralel în domeniul analizei datelor în timp real-financial, stock-market

A. Algoritm paralel pentru un sistem de decizie in timp real in domeniul pietei financiare 1. Prezentare Modelele de calcul paralel a sistemelor...

Algoritmi Paraleli

Prezentarea proiectului Problema filozofilor la masă a fost expusă prima dată de Dijkstra, în anul 1965 şi reprezintă o problemă clasică de...

Mecanisme de Sincronizare a Proceselor la Calculatoare Multiprocesor

Introducere Procesarea paralela a aparut datorita cerintelor crescande de performanta , a mentinerii unor costuri reduse a procesarii si nevoii de...

Algoritmi paraleli

Algoritmi paraleli pentru sortare Algoritmii paraleli sunt opusi algoritmilor seriali deoarece secventele de cod pot fi executate pe mai multe...

Cercetarea și Modelarea Sistemelor de Calcul Multiprocesuale

Introducere În ultimii ani, nevoia de a partaja informaţiile şi resursele între diferite calculatoare a condus la ideea conectării...

Arhitecturi de Calcul Paralel

Sisteme abstracte de calcul parallel • Un sistem abstract de calcul paralel (SACP) este un ansamblu de module de calcul (unitati de procesare a...

Ai nevoie de altceva?