Dansk - English

Kort version - Fuld version


Parallel Programming 4 (Forår 2011)

Kursuskode : IPARP4-U1
ECTS Point : 5 Status : Obligatorisk
Revideret : 17/11 2010 Oprettet : 01/09 2009
Placering : 4. semester Timer pr. uge : 4
Længde : 1 semester Undervisningssprog : Dansk og 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.
Krævede forudsætninger : Documented knowledge corresponding to PROG1 and PROG2.
Anbefalede forudsætninger : Some experience in C.
Relationer : Parallel Programming (PARP4) is normally taken in parallel with PROI4 and OSLX4. In PROI4 the product must involve practical use of threads.
Prøveform : Se under bemærkninger
Censur : Ekstern
Bedømmelse : 7-trinsskala
Bemærkninger : Oral examination based on a specified project (PROI4) and probing of the students’ knowledge about the theoretical background.
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