====== Strumenti di programmazione per sistemi paralleli e distribuiti ======
**The page is currently under construction FIXME **
** Teacher: ** Dr. Massimo Coppola
**Contact info**\\
e-mail : massimo.coppola@isti.cnr.it \\
Phone : 050 315 2992 \\
Office location : CNR Reseach Area, ISTI-CNR, Building C, room 33\\
Alternate Office : C.S. Dept., Room 388
**Course info**\\
* This page concerns the SPD course (535AA) for the academic year 2015-2016, which gives you **6 credits**.
* Be sure to alway check the NEWS section in this page.
* Information about past editions of the SPD course can be found at the following links.
^ [[magistraleinformaticanetworking:spd:spd-09-10|SPD 2009-2010]] ^ [[magistraleinformaticanetworking:spd:spd-10-11|SPD 2010-2011]] ^ [[magistraleinformaticanetworking:spd:spd-11-12|SPD 2011-2012]] |
^ [[magistraleinformaticanetworking:spd:spd-12-13|SPD 2012-2013]] ^ [[magistraleinformaticanetworking:spd:spd-13-14|SPD 2013-2014]] ^ [[magistraleinformaticanetworking:spd:spd-14-15|SPD 2014-2015]] |
==== Timetable ====
{{ :magistraleinformaticanetworking:spd:tilepro64-block-diagram3.jpg?300|TILEPro64™ Processor Block Diagram}}
** Timetable **
|Tuesday | 11-13 | Room N1 ^ Moved to Friday |
^Wednesday | 16-18 | Room N1 | (Polo Fibonacci) |
^Friday | 11-13 | Room N1 | (Polo Fibonacci) |
* See also the Dept. official timetable.
* In case of exceptions, notice will be given in the News section below in this page and by email to the students.
** Question time **\\
Students should contact the teacher in advance by phone / e-mail. A different time can be agreed upon if needed.
^ Thursday | 16-18 | ISTI-CNR office |
=== News and Updates ===
* First lesson is on Tuesday 23/2
* Report time slot conflicts between SPD and other courses to the teacher, there //may// be the opportunity to avoid them.
* 08/03/2016 -- The schedule has changed, Tuesday's lesson moves to the Friday 11-13 slot, same room.
* 08/03/2016 -- Lab lessons (to be scheduled) will be held in the C.S. Dept. in the Parallel Architecture Lab room (Room 308 in the Dept. maps [[http://compass2.di.unipi.it/amministrazione/persone/mappe/mainjj.asp|Full map]] [[http://compass2.di.unipi.it/amministrazione/persone/mappe/destrajj.asp|Zoomed map]]).
* 11/03/2016 -- Lab time 11-13
* 18/03/2016 -- Lab time 10-12 (Room 308)
* 15/04, 20/04 -- Lessons postponed
* 29/04/2016 -- Lab time 9-12 (Room 308)
* 06/05/2016 -- Lab time 9-12 (Room 308)
* 09/05/2016 -- We will anticipate the lesson of Wednesday 11/05 to Monday morning, 9-11 **(Room N1)**
* 13/05/2016 -- Lab time 9-12 (Room 308)
* 20/05/2016 -- **Lab time 9.00-13.00 (Room 308)**
* 23/05/2016 -- Lesson from 9-11 (Room N1)
--------
==== Course Journal ====
The [[magistraleinformaticanetworking:spd:lezioni15.16|course journal]] is a separate page in this wiki.
==== Project Work ====
See the [[magistraleinformaticanetworking:spd:progetto15.16|Project work information page]]
--------
==== 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.
* Parallel Programming systems/frameworks
* **MPI** message-passing programming (the core part of the MPI 2.2 standard)
* **TBB** Thread Building Blocks Multicore oriented, shared-memory programming framework
* Massively Multicore computation and GPGPU frameworks: **OpenCL** (references to CUDA, Brooks+ possibly)
* **ASSIST** a framework for parallel high-level parallel programming with autonomic management
* Example Applications
* K-means
* Foundation, Technologies
* Elementary mechanisms to distribute computation: message passing, shared memory, massive multicore
* Basics of scheduling algorithms and resource management
* Basics of Service Oriented Architectures SOA
* Service oriented Platforms, Cloud Computing and Cloud Federations
* Contrail
* OpenNebula, Open Stack, //Rackspace//