Strumenti di programmazione per sistemi paralleli e distribuiti

Teacher: Dr. Massimo Coppola

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

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

Contact info
e-mail :
Phone : 050 315 2992
Office : CNR Reseach Area, ISTI-CNR, Building C, room 33

Wafer picture from Tilera


Monday 9-11 Room O1 (Polo Fibonacci)
Tuesday 16-18 Room 27B (S.Anna - CNR Research Area)
Thursday 16-18 time slot for extra lessons in May
Friday 16-18 Room B (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

  • 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.
  • 30/5/11 After the end of the course, there will be one or two short seminars given by your colleagues from the previous course; the seminars will be scheduled on a day in July. A doodle pool will be set to check avaiability, all students are invited to attend these seminars.
  • 20/5/11 The MPI Lab Exercise with triangular column-based matrices will not work correctly due to a bug in the datatype routines of OpenMPI (column 2 of the upper triangular has incorrect typemap). The bug has been verified at least in OpenMPI v 1.2.8 and v1.4.3. Mpich is reported to work correctly.
  • 19/5/11 Lesson today is in S. Anna building, Room 27B. Lesson on Thursday 26/5 will be in the same building, Computer Room.
  • 19/5/11 There will be extra lessons today and on Thursday 26/5, as confirmed last monday.
  • 11/5/11 Extra lesson for tomorrow 12/5 is confirmed, 16-18 hours, Blue Room at S.Anna building, CNR Research Area. Other extra lessons will likely be scheduled on Thu 19/05 and 26/05.
  • 10/5/11 During May there will be an extra lesson on Thursday 16-18 hours, room TBD.
  • 6/5/11 Also today's lesson will not be held. Teaching will restart regularly on Monday 9/5.
  • 2/5/11 Today's lesson is canceled due to illness; if I get better, tomorrow afternoon (3/3) there will be a lab time. News will be posted on the site.
  • 27/4/11 Please note that my office location at CNR has changed. Office locationat the C.S. Dept. is about to change too.
  • (04/04/11) As noted in the course calendar and confirmed last week, the teacher is on travel and the lesson tomorrow (5/04) has to be canceled. This week on Friday (8/04) the course time slot is taken by a fundamental course of the 2nd year. A recap on MPI will be presented instead.
  • (23/03/11) The lesson for next Friday has been be moved to tomorrow Thursday 24/03/2011, 11-13, at the PC room in S.Anna Buildings due to an exceptional superposition with other courses.
  • (11/03/2011) There will be no lessons on next Monday and Tuesday (14-15/3), the next lesson will be on Friday afternoon (18/03).
  • (11/03/2011) As all the students which follow the course are at their 2nd year, the timetable has been modified concerning Tuesday, on order to avoid that students need to from S.Anna to Fibonacci Area buildings between morning lessons.
  • (07/03/2011) Agreement on changing the time table shall be reached tomorrow . Either attend the lesson or write the teacher.
  • (07/03/2011) Last-minute change to the timetable brought the Tuesday lesson to the morning.
  • (02/03/2011) Monday lesson moved to 9:00-11:00. First lesson will be on Monday 07/03/2011
  • (25/02/2011) New page created

Course Journal

TILEPro64™ Processor Block Diagram

The course journal is a separate page in this wiki.

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
  • Programming systems/frameworks
    • MPI (the core part of the MPI 2.2 standard)
    • ASSIST
    • Multicore oriented frameworks
  • Example Applications

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

Teaching material


  • 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 .
  • Tutorial on the Assist Compiler. Old version:Tutorial ASSIST Febbraio 2007
    Slightly newer version (in English) Assist Tutorial Nov 2007
    Tutorial of the deployment server GEA GEA documentation, November 2006.

Papers and reading material

The content in this subsection has not yet been updated for year 2010-2011; please check the table of references at the end of the course journal


Data Mining Algorithms


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. 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. The same project cannot be discussed/presented twice unless substantial changes are made.

Project Person(s) Status
Mura M. Assigned
Hirschberg's Algorithm with MPI (and threads?) Giuliani S. Exploration
Prim's Algorithm for Min Support Tree Martinelli F. Exploration
Dantzig-Wolfe decomposition with TBB Buccarella M. Assigned
Dancing Links with MPI/threads De Sensi D. Assigned
Parallel Shortest Paths with TBB (Bellman-Ford, Thresold) De Leo D. Assigned
Map&Reduce engine in python+MPI Bozzi A., Piccinno F. Assigned
Serban T.
magistraleinformaticanetworking/spd/spd-10-11.txt · Ultima modifica: 13/12/2011 alle 18:29 (6 anni fa) da Massimo Coppola