Strumenti di programmazione per sistemi paralleli e distribuiti

This page concerns the SPD course (308AA) for the academic year 2011-2012

Please see the NEWS section

Information about SPD for the 2009-2010 academic year can be found here

Information about SPD for the 2010-2011 academic year can be found here

Timetable

This is expected to be the final timetable from 10/10/2011 on

Monday

11-13

Room N1 (Polo Fibonacci)

Wednesday

9-11

Room L1 (Polo Fibonacci)

Thursday

11-13

Room N1 (Polo Fibonacci)

In case of exceptions, notice will be given in the News section below in this page.

Question time
Students should contact the teacher in advance by phone / e-mail. A different time can be agreed upon if needed.

Tuesday

15.30-17

ISTI-CNR room 25a or C.S. Dept. Room 385

News and Updates

7/03/2012 FINAL SEMINARS TOMORROW for students of the 2010-2011 course, students from the 2011-2012 course are invited.
Thursday 8/3 from 14-16, in the C.S. Dept., room Seminari EST.
Code projects developed for the course final examination are described.

09/11/2011 FOR TOMORROW 10/11/2011 : note that we will have another lab session.

08/11/2011 We will have a lab time tomorrow 09/11. Tomorrow the designated room is L1, may not be available (because of technical problems several courses are being moved). We will meet there and possibly move to a different room.

26/10/2011 Tomorrow, 27/10, we will continue the MPI lab session.

25/10/2011 As stated on Monday, lesson on the 26/10 will be an MPI lab session.

13/10/2011 Lesson tomorrow 14/10/2011, slot 9-11 in room L1. NOTE THAT NEXT WEEK, from 17/10 to 21/10, THERE WILL BE NO LESSONS.

10/10/2011 Lesson today was unfortunately cancelled this morning, notice was given via the personnel at the Polo Fibonacci. Next lessons will be Wednesday and Thursday.

9/10/2011 Final timetable (except extra slot) valid from this week on. For this week we'll also have an extra slot either on Tuesday or on Friday.

20/09/2011 Tomorrow lesson (Wed. 21 September) will be 9-11 in Room I 1. The meeting after the lesson to discuss projects is moved to 16:00 at CNR (same time, different place)

09/9/11 The SPD course for the 2011-2012 academic year has been moved to the 1st teaching term. Due to work constraint, the lessons will NOT start next week. The first lesson will be on Monday 19/09/2011.

Course Journal

Aim of the Course

The course will provide a description and analysis of a few key parallel and distributed programming platforms and models, starting from their theoretical foundations, where not covered by previous courses, and focusing on (1) existing standards for platforms and programming systems and (2) State-of-the-art solutions. The course will include practical use of those systems to develop simple applications.

Overall Program

The course will cover the following topics.

Foundation, Technologies

Elementary mechanisms to distribute computation

Basics of scheduling algorithms and resource management

Basics of Service Oriented Architectures SOA

Platforms

Grids and Clouds

XtreemOS

Contrail

OpenNebula

Programming systems/frameworks

MPI (the core part of the MPI 2.2 standard)

ASSIST

Multicore oriented frameworks : Thread Building Blocks

Massively Multicore computation

GPGPU frameworks : CUDA, Brooks+

Example Applications

Further details are given in the first lesson (see online slides in the course journal).

Teaching material

Books

Standard MPI 2.2 Only those parts that we will specify during the lessons.
On the MPI forum web site you will find alternate formattings and some translations; version 2.2 of the MPI standard collects all the material from previous versions of the standard (1.0, 1.1, 2.0 and so on) within a single document.

B. Wilkinson, M. Allen Parallel Programming, 2nd edition. 2005, Prentice-Hall. This book will be also used; at least the 1st edition is available in the University Library of Math/Comp.Sc./Physiscs, under code C.1.2 w74 INF .

Prerequisites

Final test

Final test: Project + short colloquium to be held during one of the exam sessions. Topic to be previously agreed with the teacher.

Individual projects are assigned to the students by the teacher, but can be proposed by the students.
For difficult projects, 2 students, no more than that, can work on the same project.
The projects can be assigned during the second half of the lesson period, or later on, during the academic year, when the student ask for it.
Project can be experimental (coding + testing + written relation) and discussed with the teacher, or seminarial (relation and public talk about assigned papers) to be presented during one exam session. Experimental projects are usually strongly encouraged.
As the project topic is agreed, you are expected to send a two-page summary of the problem to tackle / application to write with enough insight to explain it, and stating which parallel/distributed tools are you going to use and how the code produced will be evaluated.

Almost obviously, the same project cannot be discussed/presented twice unless substantial changes are made.