Dansk - English

Kort version - Fuld version


Parallel Programming (Forår 2011)

Kursuskode : IPARP-U1
ECTS Point : 7,5 Status : Tilvalg
Revideret : 17/11 2010 Oprettet : 28/04 2010
Placering : 5. & 6. semester Timer pr. uge : 4
Længde : 1 semester Undervisningssprog : Engelsk

Målsætning : Students will learn the fundamentals of programming for concurrency. This includes both theoretical foundations, and practical experience with multithreaded programs. POSIX (PThreads) environments will be discussed in detail, and significant programming will be required.
Upon completion of the course, students should have a good understanding of concurrent programming concepts and constructs and how to use them effectively and correctly.
Hovedindhold : Upon completion of the course the students is expected to be able to:

1. Explain the concepts of threads and processes including scheduling principles and corresponding states and context switching.
2. Explain the concepts of critical section and mutual exclusion and identify and explain methods and principles for synchronisation.
3. Explain the concepts of deadlock and livelock and starvation and how to deal with those phenomena.
4. Explain the concept of priority inversion and possible solutions to this.
5. Explain methods for inter-process communication (IPC)
6. Apply processes and threads in programming languages as C/C++
7. Identify when critical sections and/or mutual exclusion are required.
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.
Anbefalede forudsætninger : Some experience in C.
Relationer : -
Prøveform : Se under bemærkninger
Censur : Ekstern
Bedømmelse : 7-trinsskala
Bemærkninger : Oral examination. Questions will be based on the final course assignment. Moreover general questions to the topics of the principal content will be raised.
Undervisningsmateriale : Notes.
Multithreaded Programming Guide, Sun Microsystems. (pdf document)
Recommended Readings:
Modern Operating Systems, A. S. Tanenbaum et.al.
PThreads Primer, Bil Lewis et.al. (pdf document)
Ansvarlig underviser : Henrik Kold Mikkelsen , hokm@dtu.dk