Sei sulla pagina 1di 15

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Prezentare curs

Algoritmi Paraleli si
Distribuiti

9/28/17 9/28/17 Protocoale de comunicaţie – Curs


Algoritmi 1 si distribuiti
paraleli 1
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Obiectiv: Insusirea competentelor necesare pentru


rezolvarea problemelor prin solutii paralele sau
distribuite

Ce este calculul paralel ? Dar distribuit ?

•  Calcul paralel = executia simultana (concurenta) a


mai multor parti ale unui program
•  Calcul distribuit = executia in sisteme diferite (cu
resurse diferite) a partilor unei aplicatii

9/28/17 9/28/17 Protocoale de comunicaţie – Curs


Algoritmi 1 si distribuiti
paraleli 2
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

APD difera de algoritmii secventiali


è Algoritmii paraleli si distributi NU sunt simple extensii sau
versiuni ale celor secventiali
•  Au la baza concepte diferite
–  Communicating Sequential Processes (Hoare)
•  Concurenta
•  Atomicitate
•  Sincronizare
è Sunt folosite abordari diferite pentru dezvoltarea lor
•  Folosesc modele de programare care asigura comunicarea
intre procese prin
–  Date partajate
–  Mesaje
9/28/17 9/28/17 Protocoale de comunicaţie – Curs
Algoritmi 1 si distribuiti
paraleli 3
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Studiul algoritmilor paraleli si distribuiti include


•  Conceptele de baza
•  Modelele de programare
•  Metode de proiectare a solutiilor paralele si
distribuite
•  Metode de evaluare a performantei solutiilor
folosind modele de complexitate
•  Modalitati de implementare a solutiilor folosind
limbaje de programare / biblioteci
–  OpenMP (la laborator) si Java concurent – alg. paraleli
–  MPI – alg. distribuiti

9/28/17 9/28/17 Protocoale de comunicaţie – Curs


Algoritmi 1 si distribuiti
paraleli 4
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Proiectarea solutiilor paralele si distribuite


•  Este partea centrala a cursului
•  Prezinta solutii consacrate din principalele clase de
algoritmi
–  Ajuta la deprinderea metodelor de rezolvare (ingineria)
–  Stimuleaza initiativa in devoltarea unor solutii noi
•  Foloseste un limbaj pseudocod simplu care
–  incorporeaza conceptele si modelele de programare
paralela si distribuita
–  ascunde detaliile de implementare, care pot diferi de la
un limbaj de programare la altul
–  propus de G.R.Andrews in lucrarea Concurrent
Programming. Principles and Practice
9/28/17 9/28/17 Protocoale de comunicaţie – Curs
Algoritmi 1 si distribuiti
paraleli 5
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Principalele clase de algoritmi paraleli

–  Paralelism de date
–  Sectiuni critice
–  Producatori si consumatori
–  Problema filozofilor
–  Problema cititorilor si scriitorilor
–  Cautarea paralela

9/28/17 9/28/17 Protocoale de comunicaţie – Curs


Algoritmi 1 si distribuiti
paraleli 6
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Principalele clase de algoritmi distribuiti

•  Ordonarea evenimentelor
•  Algoritmi unda
•  Alegerea liderului
•  Stabilirea topologiei
•  Terminarea programelor distribuite
•  Algoritmi pentru sisteme tolerante la defecte
•  Algoritmi genetici paraleli

9/28/17 9/28/17 Protocoale de comunicaţie – Curs


Algoritmi 1 si distribuiti
paraleli 7
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Analiza complexitatii calculului paralel

•  Masuri de performanta.
•  Calculul complexitatii.
•  Proprietati ale modelului de evaluare.
•  Modelul Work-depth.

9/28/17 9/28/17 Protocoale de comunicaţie – Curs


Algoritmi 1 si distribuiti
paraleli 8
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Complexitatea calculului distribuit

•  Modelul Foster.
•  Modelul LogP.

9/28/17 9/28/17 Protocoale de comunicaţie – Curs


Algoritmi 1 si distribuiti
paraleli 9
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Atentie!

Ordinea din curs in care se studiaza aceste


subiecte
nu este
Ordinea din aceasta prezentare a cursului

9/28/17 9/28/17 Protocoale de comunicaţie – Curs


Algoritmi 1 si distribuiti
paraleli 10
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Actualitatea si importanta cursului


•  Modelele si tiparele de rezolvare sunt folosite curent, unele
pe scara larga
–  Ex. Modelul Map-Reduce de la Google
•  Un calculator modern are mai multe procesoare sau
procesoare “multi-core”
•  Clustere de calculatoare sunt folosite curent
•  Compilatoarele pentru limbajele concurente (Java) si
bibliotecile de comunicare a mesajelor (MPI) sunt furnizate
de toate firmele mari de software
•  Un numar mare de aplicatii se bazeaza pe solutii paralele si
distribuite
9/28/17 9/28/17 Protocoale de comunicaţie – Curs
Algoritmi 1 si distribuiti
paraleli 11
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Utilitatea cursului
•  Dezvolta un nou mod de gandire
•  Usureaza intelegerea unor solutii prezentate in
cursurile de
–  sisteme de operare
–  retele de calculatoare
–  sisteme de programe pentru retele de
calculatoare
–  arhitecturi paralele si distribuite
–  baze de date etc.
•  Cursul usureaza si da sens activitatii de laborator

9/28/17 9/28/17 Protocoale de comunicaţie – Curs


Algoritmi 1 si distribuiti
paraleli 12
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Cum va asigurati succesul la examen?


•  Participarea vioaie la curs
•  Intelegerea din clasa
•  Invatarea cursului inainte de laborator
•  Rezolvarea problemelor propuse la laborator
•  Rezolvarea temelor de casa

•  NU lasa pe maine ce poti face azi!

9/28/17 9/28/17 Protocoale de comunicaţie – Curs


Algoritmi 1 si distribuiti
paraleli 13
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Reguli de notare
Nota = NotaCurs + NotaLab + NotaExam

NotaCurs 1.5 puncte - participare curs si teste


NotaLab 3 puncte – 3 teme de laborator
1.5 puncte - activitatea de laborator
si verificari finale
NotaExam 4 puncte – 3 subiecte, unul la alegere
Examenul este promovat numai dacă
•  NotaCurs + NotaLab >= 3
•  NotaExam >= 2
Detalii pe site
9/28/17 9/28/17 Protocoale de comunicaţie – Curs
Algoritmi 1 si distribuiti
paraleli 14
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Bibliografie
G.R.Andrews, Foundations of Multithreaded, Parallel, and
Distributed Programming, Addison Wesley, Inc., 2000
G.R.Andrews, Concurrent Programming. Principles and
Practice, The Benjamin/Cummings Publishing Company,
Inc., 1991
Gerard Tel, Introduction to Distributed Algorithms,
Cambridge University, 1994
A.G. Akl, Parallel Computation. Models and Methods
Prentice Hall 1997
Ian Foster, Designing and Building Parallel Programs
Addison-Wesley Publishing Company, 1995

9/28/17 9/28/17 Protocoale de comunicaţie – Curs


Algoritmi 1 si distribuiti
paraleli 15

Potrebbero piacerti anche