The course will introduce several programming environments used to implement parallel applications on modern parallel architectures. A detailed introduction of the available structured parallel programming environments will be given. Optimization problems relative to different non functional concerns (performance, power management, fault tolerance) will also be described and typical experiences in different applicative domains will be discussed. Overall, the course will give the student a good perspective on the kind of problems to be solved when tackling the efficient programming of (massively) parallel systems as well as a basic knowledge relative to state-of-the-art parallel programming frameworks.
Two different kind of exams will be possible: a) the student may agree with a teacher an argument and prepare a seminar illustrating the main results relative to argument, or b) the student may agree with the teacher an application and then proceed to parallelize the application using one of the programming frameworks presented in the course.
All lessons in Sala Seminari Ovest, unless differently stated
Day | Hour | Argument |
---|---|---|
May 13 | 11am-1pm | Introduction: hardware pressures |
May 15 | 11am-1pm | Parallelism: measures of interests, typical parallel patterns, sample parallel environments |
May 22 | 11am-1pm | Parallel Design patterns: an introduction |
May 27 | 9am-11am | Algorithmic skeletons: introduction |
May 29 | 11am-1pm | More on algorithmic skeletons/design patterns |
June 3 | 11am-1pm | Behavioural skeletons |
June 5 | 3-5pm | Parallel building blocks |
June 9 | 3-5pm | FastFlow (Seminari EST) |
June 10 | 3-5pm | Exam arguments (advanced environments + applications) (back to Seminari Ovest) |
No more lessons, waiting for student's seminars … | ||
Nov 24 | 3pm | T. De Matteis Introduction to Apache Storm (slides) |
Nov 27 | 3pm | D. De Sensi Reducing Power Consumption of Parallel Computations slides |
Dec 4 | 3 pm | D. Griebler Stream parallelism in multicores slides |