Indice

Strumenti di programmazione per sistemi paralleli e distribuiti

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

Timetable

Temporary timetable

Tuesday 11-13 Room N1 (Polo Fibonacci)
Wednesday 16-18 Room N1 (Polo Fibonacci)

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


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.

The content in the following sections has been only partially updated for the current academic year, some references and books may be missing. Please also check the table of references at the end of the course journal

Teaching material

Books

Papers and reading material

Virtualization

Data Mining Algorithms

Prerequisites

Specific prerequisite knowledge from the first-level degree, which we assume known, includes in particular the basics of Computer Architecture (AE) as well as programming in C/C++ (AIL, PRL). Knowledge of basic techniques for testing program performance and behaviour is also assumed known.

Typical prerequisites of this course within the Master Degree are presented in the SPA course, and some topics are closely related to the SPM course, which is a suggested prerequisite although within the same year.

For transfer students and students belonging to a different Master course, we shall say that while all the topics in the SPA and SPM courses are related to SPD, a minimal subset of topics the student shall master includes

Final test

The final test is composed of two parts - a software development project, including a written short report with discussion on the implementation and experimental results of the project. - oral examination with the teacher, discussing the project and the report, as well as the topics within the course program. Project-related discussion can be at a different time than the rest of the oral examination, upon student's request.

Final projects can be assigned in one of two alternative ways.

In both cases the target is developing a parallel application using one of the technologies seen during the course (MPI, TBB, OpenCL) or a combination of them.

The project must solve a well specified problem, with a known algorithm, and the project result must include test results and a short report about the issues in the parallelization and in the performance/ efficiency optimization of the application developed. Students are not required to invent new parallel solutions, but they shall show their ability in coding with at least one of the frameworks studied during the course.

How to get a project assigned: there are two ways.

  1. Student proposes a topic, details are agreed with the teacher, a one-page project proposal is written detailing the problem, the technology to use and how the project app will be tested (datasets to use and the like). In this case the final report shall contain the proposal and a description of the application implemented.
  2. A proposal is made by the teacher. These proposals apply by default to all students (possibly with a choice of the implementation method). More students can share this topic (but they cannot work together and share the work results). In this case the emphasis in the report is on test results and their discussion, in order to show the performance, efficiency and level of parallelism obtained.

Things to do

Common rules for projects

OLD rules for course 535AA

Rules that apply to students of course 535AA from previous academic years
Final test: Project + short colloquium to be held during one of the exam sessions. Topic to be previously agreed with the teacher. The project will typically involve the use of one or more of the frameworks presented during the course, possibly developing more in-depth knowledge on one of the topics of the course.

OLD rules for course 308AA

Rules for students who need to get the previous SPD exam (code 308AA, 9 credits)
An integration of the program or a different project assignment will be defined on a by-need basis.
Project Person(s) Status