Strumenti di programmazione per sistemi paralleli e distribuiti

Teacher: Dr. Massimo Coppola

This page concerns the SPD course for the academic year 2009-2010

For this first year, the course is co-organized with
Complementi di piattaforme abilitanti distribuite taught by Dr. Nicola Tonellotto

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

The Marenostrum supercomputer, BSC Barcelona, Spain.

Lessons Timetable

Tuesday 11.30-13.30 Room 10B
Wednesday 16-18 Room 10B
Friday 9.30-11.30 Room 10B

Teaching room: Room 10B, S.Anna/CNIT building in CNR Research Area, ground floor.

In addition to normal hours, additional hours on Friday morning (in the range 11.30-13.30) will be added as necessary in order to compensate for lessons skipped due to external reasons.
Occasionally we might use rooms within the Polo Fibonacci, or other rooms in the CNR buildings of the CNR Research Area.

In case of these 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

  • 20/04/2010 time changed for the lesson of Wed May 5th : only for that day, lesson will be 14 - 16, same room.
  • 20/04/2010 tomorrow 21/4 and on Friday 23/4 there will be practicals, students should bring their laptops.
  • 9/04/2010 NEXT LESSONS : Tuesday 13/4 there will be lesson. The students should bring their laptops for a Hadoop Lab session. Wednesday 14/4 there is regular lesson. MPI-lab time is rescheduled to Friday 16/4, please bring laptops and complete exercises from previous MPI lab.
    We remind everybody that Lab work is part of the course expected workload, and prerequisite to the final projects: the students are expected to participate and complete the exercises discussed, eventually on their own.
  • 8/04/2010 the two lessons tomorrow and next Tuesday will be laboratories : MPI Lab on Friday 9/04 and Hadoop Lab on Tuesday. The lab is not available, we will have lesson in the normal room, students are reminded to bring their laptop and, if they cannot access the wifi network, adviced to bring a network cable.
  • 5/03/2010 the lesson on Friday 5th of March will be from 9.30 to 12.30, same room.
  • 24/02/2010 second lesson to be held in Room 10B, S.Anna/CNIT building in CNR Research Area, ground floor.
  • 23/02/2010 first lesson held in Room R1, Fibonacci area

Course Journal

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 overed 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
    • Virtualization
    • Basics of scheduling algorithms and resource management
    • Basics of Service Oriented Architectures SOA
  • Platforms
    • Grids
    • Clouds
    • XtreemOS
  • Programming systems/frameworks
    • MPI (the core part of the MPI 2.2 standard)
    • ASSIST
    • Map&Reduce
  • 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 di utilizzo del compilatore Assist. Contattare il docente per la versione aggiornata a febbraio 2008. Vecchia versione:Tutorial ASSIST Febbraio 2007
    Tutorial del server di esecuzione GEA, versione Novembre 2006.

Papers and reading material


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.

Assigned projects

Project Person(s) Status
Extension of a generic D&C skeleton support to deal with irregular problems Anardu Agreed Completed
Evaluation of parallel sorting algorithms on large data sets w.r.t. varying processor and core numbers Luporini, Giangrandi, Desogus parameters and platform TBD Completed
Extension of a source to source compiler for high-level stencil-based parallel programs Lottarini Agreed, gathering documentation & writing proposal
D&C parallelisation of tridiagonal matrix eigenvalue computation with a Macro-dataflow approach in MPI Farruggia First proposal accepted with some revisions
magistraleinformaticanetworking/spd/spd-09-10.txt · Ultima modifica: 03/10/2011 alle 14:37 (13 anni fa) da Massimo Coppola