Universitatea "Babes-Bolyai" Cluj-Napoca
Facultatea de Matematica si Informatica
FISA DISCIPLINEI

Metode de dezvoltare a algoritmilor paraleli
Cod
Semes-
trul
Ore: C+S+L
Credite
Tipul
Sectia
MI097
7
2+0+2
6
optionala
Informatică
MI097
7
2+0+2
6
optionala
Matematică-Informatică
Cadre didactice indrumatoare
Lect. Dr. NICULESCU Virginia, vniculescu@cs.ubbcluj.ro
Obiective
1. Cunoasterea unor notiuni fundamentale despre programarea paralela.
2. Cunoasterea si folosirea unor metode formale de dezvoltare a algoritmilor paraleli.
3. Implementarea de algoritmi paraleli folosind limbajul MPI si thread-uri Java.
Continut
Curs
Cursul introduce fundamentele teoretice ale programarii paralele, iar accentul este pus pe proiectarea si analiza algoritmilor paraleli.
Sunt prezentati si dezvoltati algoritmi din algebra liniara, transformate Fourier, algoritmi de cautare, sortare si din teoria grafelor.

1. Notiuni fundamentale ale calcului paralel:
- Clasificari ale sistemelor paralele
- Retele de interconectare a procesoarelor
- Comunicatia in sistemele paralele
- Masurarea performantei programelor paralele
2. Principii generale de constructie a programelor paralele: proiectare metodica, partitionare, comunicare, aglomerare, mapare.
3. Model bazat pe programare imperativa
- Procese parametrizate
- Distributii de date
- Derivare din specificatii
4. Modele bazate pe programare functionala
- Formalismul Bird-Meertens
- Formalismele PowerList, ParList, PList
Laborator
Dezvoltare de programe paralele folosind:
- Thread-uri Java,
- Programare in MPI (Message Passing Interface).
Bibliografie
1. Ian Foster, Designing and Building Parallel Programs, Addison-Wesley 1995.
2. L.D. Loyens, A Design Method for Parallel Programs, PhD. Thesis, University of Eindhoven, 1992.
3. J. Kornerup. PList: Taking PowerLists Beyond Base Two. CMPP'98 First International WorkShop on Constructive Methods for Parallel Programming, MIP-9805, May 1998.
4. J. Misra. PowerList: A structure for parallel recursion.ACM Transactions on Programming Languages and Systems, 16(6):1737-1767, November 1994.
5. D. Skillicorn, Foundations of Parallel Programming, Cambridge International Series on Parallel Computations, 1994.
6. D.B. Skillicorn, D. Talia. Models and Languages for Parallel Computation. ACM Computer Surveys, 30(2) pg.123-136, June 1998.
7. V. Niculescu, Modele de elaborare a algoritmilor paraleli, PhD. Thesis, Univ. Babes-Bolyai, 2002.
Evaluare
Nota finala va reflecta activitatea din timpul laboratorului si rezultatul de la colocviu.