Dansk - English
Kort version - Fuld version
Parallel Programming (Efterår 2011) |
|||
Kursuskode : | IPARP-U1 | ||
ECTS Point : | 7,5 | Status : | Tilvalg |
Placering : | 5. & 6. semester | Timer pr. uge : | 4 |
Længde : | 1 semester | Undervisningssprog : | Engelsk hvis der er engelsksprogede tilstede |
Hovedindhold : | Upon completion of the course the students is expected to be able to: 1. Explain the different computer architectures as expressed in Floyds taxonomy. 2. For each of these architectures explain the programming principles and identify possible programming language environments such as Pthreads, Java, OpenMP and MPI. 3. Explain common mechanisms for managing processes/threads (such as creating and destroying processes/threads) and for process/thread interaction (such as semaphores, barriers, message passing). 4. Identify the concurrency in a software design problem and decompose it into concurrent tasks. 5. Suggest an algorithm structure implementing the identified concurrency. 6. Suggest a suitable programming environment and its APIs to implement the parallelism of the algorithm structure. 7. Explain common problems arising from concurrency such as critical race, deadlocks, and starvation. 8. Suggest possible solutions to such concurrency problems. 9. Implement the suggested solutions in the relevant programming environments. |
||
Undervisningsform : | The lessons consist of theory combined with practical exercises and a course assignment. | ||
Krævede forudsætninger : | Documented knowledge corresponding to PROG1 and PROG2. | ||
Ansvarlig underviser : | Henning Haugaard
, henhu@dtu.dk |