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

Paralelizarea automată a programelor
Cod
Semes-
trul
Ore: C+S+L
Credite
Tipul
Specializarea
MI090
6
2+1+0
5
optionala
Informatică
Cadre didactice indrumatoare
Lect. Dr. VANCEA Alexandru Ioan,  vanceacs.ubbcluj.ro
Obiective
Familiarizarea studentului cu aspectele motivatiei trecerii la anumite forme de paralelism precum si cu problematica incorporarii in cadrul compilatoarelor a unor facilitati de paralelizare automata a programelor secventiale. Optimizarea executiei si generarea de cod pentru programele paralele obtinute sunt aspecte ce intregesc traseul cod sursa secvential - program paralel executabil, traseu des utilizat la nivelul pachetelor de programe de prelucrare paralela utilizate pe scara larga in lume. Se urmareste aprofundarea formalismului ce sta la baza exprimarii posibilitatilor de paralelizare automata precum si a optimizarii de cod paralel.
Continut
1. Conceptul de prelucrare paralela: interpretari, tipuri de paralelism,
motivatia trecerii spre prelucrarea paralela.
2. Ipostaze ale paralelismului la nivelul unui program.
3. Modele ale limbajelor de programare paralela: limbaje orientate
procedural, orientate spre mesaje, dirijate de operatii, orientate
spre date, limbaje functionale si logice.
4. Abordarea conceptelor de performanta si eficienta in programarea paralela.
5. Paralelizarea automata a programelor secventiale.
5.1. Dependenta de date. Vectori de dependenta. Directii de dependenta.
5.2. Calculul relatiilor de dependenta de date. Algoritmi de decizie.
5.3. Transformari echivalente ale ciclurilor orientate spre prelucrarea
paralela.
5.4. Generarea de cod paralel: metodele Lamport si Feautrier.
5.5. Studii de caz: proiectul OMEGA, pachetele ADARP, NESL si LOOPO.
6. Executia programelor paralele.
6.1. Incarcarea echilibrata a procesoarelor: tehnici si algoritmi.
6.2. Problema maparii in sistemele multiprocesor: abordari statice si
dinamice.
Bibliografie
1. E.V.KHRISHNAMURTHY - Parallel Processing, Addison-Wesley, 1990.
2. BARR E. BAUER - Practical Parallel Programming, Academic Press, 1992.
3. UTPAL BANERJEE - Data Dependence Analysis and Loop Transformations, Kluwer Academic Publishers, 1997.
4. H.ZIMA AND B.CHAPMAN - Supercomputers for Parallel and Vector Computers, ACM Press, 1991.
5. C.D.POLYCHRONOPOULOS - Parallel Programming and Compilers, Kluwer Academic Publishers, 1988.
6. MICHAEL WOLFE - Optimizing supercompilers for supercomputers, MIT Press, 1990.
7. Reteaua Internet.

Evaluare
Examen scris la sfirsitul semestrului. Nota este calculata ca medie ponderata intre nota la lucrarea scrisa , nota pe activitatea practica de la laborator si o nota obtinuta in urma prezentarii unei sinteze (proiect de semestru) care sa reflecte preocupari actuale in domeniul procesarii paralele la nivel mondial.