Ski Seminar Parallel Programming and Parallel Algorithms
Parallel and distributed computing has always played a major role in science: Forecasting the weather, analyzing DNA material, simulating earthquakes etc. requires enormous computing power to get the job done in an acceptable amount of time. More recently, parallel computing has become important to home users, too. Current computers are very likely to be equipped with multi-core CPUs (dual-/quad-core). Even the video card can nowadays be used as general purpose computing unit using GPGPUs. Taking this into consideration, the following consequences arise:
Announcements
Deadlines
Each of the following deadline expires at 23:59 p.m.:
Downloads
Topics
The following list provides an overview of the topics covered by the seminar. Each topic is annotated with relevant literature, the supervising assistant, and the student working on the topic. After the presentations, the textual workouts as well as the presentations can be downloaded here.
Literature
The following list is only intended as a starting point for the seminar topics. We expect you to investigate further literature on your own. Note that most of the literature is located in room 326.
Parallel and distributed computing has always played a major role in science: Forecasting the weather, analyzing DNA material, simulating earthquakes etc. requires enormous computing power to get the job done in an acceptable amount of time. More recently, parallel computing has become important to home users, too. Current computers are very likely to be equipped with multi-core CPUs (dual-/quad-core). Even the video card can nowadays be used as general purpose computing unit using GPGPUs. Taking this into consideration, the following consequences arise:
- Parallel programming will become increasingly vital.
- Future software has to support multi-core computers.
- Software developers must be familiar with parallel programming and its concepts.
Announcements
- Audience: Master and Diploma students
- Date: 06 January 2010, 01:00 a.m. - 15 January 2010
- Location: Kleinwalstertal, Austria
- Course overview in HISLSF
Deadlines
Each of the following deadline expires at 23:59 p.m.:
- Registration: Tuesday, 07 July 2009 (email to kley@wi.uni-muenster.de)
- Notification of acceptance: Friday, 10 July 2009.
- Draft: Sunday, 06 December 2009 (optional, but strongly recommended)
- Final workout: Sunday, 20 December 2009.
- Presentation: Sunday, 03 January 2009.
Downloads
- Announcement presentation
- Mandatory hints for the textual workout and the oral presentation
- Further useful hints for the textual workout
- Further useful hints for the oral presentation
- Document templates for Word and LaTeX
Topics
The following list provides an overview of the topics covered by the seminar. Each topic is annotated with relevant literature, the supervising assistant, and the student working on the topic. After the presentations, the textual workouts as well as the presentations can be downloaded here.
- Architectures of parallel computers. Paper Slides
- Literature: [5] chapters 2, 7, and 17
- Assistant: Philipp Ciechanowicz
- Student: Daniel Schulze Zumkley
- Literature: [5] chapters 2, 7, and 17
- Open Multi-Processing 3.0 (OpenMP).
- Literature: [5] chapters 17 and 18, [8]
- Assistant: Philipp Ciechanowicz
- Student: -
- Literature: [5] chapters 17 and 18, [8]
- Message Passing Interface 2.0 (MPI).
- Literature: [5] chapter 8 and [10]
- Assistant: Philipp Ciechanowicz
- Student: -
- Literature: [5] chapter 8 and [10]
- Threading Building Blocks 2.1 (TBB).
- Literature: [7]
- Assistant: Philipp Ciechanowicz
- Student: -
- Literature: [7]
- Matrix-vector multiplication. Paper Slides
- Literature: [5] chapter 8
- Assistant: Philipp Ciechanowicz
- Student: Annika Biermann
- Literature: [5] chapter 8
- Matrix-matrix multiplication. Paper Slides
- Literature: [5] chapter 11
- Assistant: Philipp Ciechanowicz
- Student: Matthias Dohm
- Literature: [5] chapter 11
- Storage schemes for sparse matrices.
- Literature: [9]
- Assistant: Philipp Ciechanowicz
- Student: -
- Literature: [9]
- Solving linear equation systems.
- Literature: [5] chapter 14
- Assistant: Christian Hermanns
- Student: -
- Literature: [5] chapter 14
- Sorting with Samplesort and Hyperquicksort.
- Literature: [5] chapter 16
- Assistant: Christian Hermanns
- Student: -
- Literature: [5] chapter 16
- Combinatorial search. Paper Slides
- Literature: [5] chapter 16
- Assistant: Christian Hermanns
- Student: Felix Potthoff
- Literature: [5] chapter 16
- Distributed file systems. Paper Slides
- Literature: [1] chapter 9, [4] chapter 8, and [6] chapter 14
- Assistant: Christian Hermanns
- Student: Thomas Hollstege
- Literature: [1] chapter 9, [4] chapter 8, and [6] chapter 14
- Distributed clocks and snapshots.
- Literature: [1] chapter 5 and [4] chapter 10
- Assistant: Philipp Ciechanowicz
- Student: -
- Literature: [1] chapter 5 and [4] chapter 10
- General purpose computation on graphics processing units (GPGPU). Paper Slides
- Literature: [11]
- Assistant: Philipp Ciechanowicz
- Student: Alexander Zibula
- Literature: [11]
Literature
The following list is only intended as a starting point for the seminar topics. We expect you to investigate further literature on your own. Note that most of the literature is located in room 326.
- [1] M. Singha and N. Shivaratri: Advanced Concepts in Operating Systems. WI 11 359.
- [2] G. Bengel, C. Baun, M. Kunze, K. Stucky: Masterkurs Parallele und Verteilte Systeme. WI 13 677.
- [3] A. Tanenbaum and M. van Stehen: Distributed Systems. WI 11 753.
- [4] G. Coulouris, J. Dollimore, and T. Kindberg: Distributed Systems - Concepts and Design. WI 19 19.
- [5] M. Quinn: Parallel Programming with C with MPI and OpenMP. WI 19 68.
- [6] S. Mullender: Distributed Systems. WI 19 8.
- [7] J. Reinders: Intel Threading Building Blocks: Outfitting C++ for Multi-Core Processor Parallelism. WI 19 80.
- [8] S. Hoffmann and R. Lienhart: OpenMP. WI 19 75.
- [9] S. Pissanetzky: Sparse Matrix Technology. I Piss, N Piss.
- [10] W. Gropp, E. Lusk, and A. Skjellum: Using MPI - Portable Parallel Programming with the Message-Passing Interface. WI 19 45.
- [11] R. Fernando, M. Pharr, and H. Nguyen: GPU gems 1-3. I GPU.



