Indice

SPM 2013-2014 Project

Exam procedure

The SPM course exam consists in two parts:

Project

The project will be available beginning of December 2013.

Text

Version Date File
0.1 Dec. 9, 2013 Project text

Methodology

The steps leading to the preparation of a successful project include:

  1. the analysis of the requirements. This includes figuring out the missing specifications and discussing with the teacher the suitability of the additional requirements
  2. the design of alternative implementations and the evaluation of the possible performance outcome for the different solutions. This includes figuring out proper costs associated to the sequential portions of code, possibily through some kind of simple profiling activity
  3. the implementation of the most promising solution investigated during the design phase, exploiting the existing tools potentialities, both in case the tools used are provided by some algorithmic skeleton programming framework, and in case the tools used are lower level concurrency and communication libraries
  4. measuring the performances achieved and comparing these values with the ones predicted by using the performance models, during the design phase. In case of sensible differences, and in particular in all those cases where the shapes of the performance curves are radically different, the student must consider moving back to the design step and continuing with a different, alternative implementation
  5. the collection of performance measurements on a dedicated machine, and the production of the performance plots and tables to be included in the final project report
  6. the preparation of a synthetic and effective final project report
  7. sending a .tar.gz (or .zip) file with all the sources of the project code (including test cases, makefiles, script files used, etc.) and the PDF of the final project report in an email with subject “SPM project 2013 submission”

Assignments

A student (or a group of two students, when allowed) wishing to start working on the project should first “negotiate” the project. He/she should communicate to the professor the project chosen by sending an email (subject “SPM project choice”). The email text should give an idea of

In case of “free application”, as an example, the application chosen should be introduced; in case of any application, the framework chosen for the implementation is to be specified; etc. This information may also be provided during the lesson break or question time. Upon reception of the email, the professor will insert the student name, project chosen and date of the choice in the table below, and he will send back an email confirming the choice and hosting account details to access the machine(s) to be used to test the project prototype.

Student Project Tools Architecture Agreed on Completed
Heleno Campos Graph search Skandium Multicore Dec 2013
Claudio Parisi Free app: Astroimage processing SKEPU/FF GPU Dec 2013
Roberta Montefusco Matrix multiplication Fastflow Multicore Dec 2013 Mar 2014
Jacopo Lipilini DPI FastFlow Multicore Dec 2013
Emanuele Simonelli Skeleton per Simulazione Monte Carlo FastFlow Multicore Dec. 2013
Michele Carignani Free app: genetic process discovery FastFlow Multicore Jan 2014
Jørgen Kvalsvik D&C ??? Multicore Jan 2014 Mar 2014
Lorenzo Isoni Hello World genetic Skandium Multicore Feb 2014 Feb 2014
Giulio Ermanno Pibiri Free app: page ranking Skandium Multicore Feb 2014
Gioacchino Marfia Hello world genetico FastFlow Multicore Mar 2014
Daniele Antuzzi Free skeleton: adaptive pipeline C/C++ Multicore Mar 2014
Luigi Di Sotto Matrix multiplication Fastflow Multicore Jul 2014
Giampiero Di Paolo Matrix multiplication FastFlow Multicore Jul 2014
Lenzi, Atzori Matrix multiplication FastFlow Multicore Jul 2014
Roberto Zicaro Hello world genetico Skandium Multicore Jul 2014

Exam dates

These are the dates representing the deadlines for the submission of the project. After submission, I'll take about a week to mark projects, then I'll publish dates for oral exams.

Exam session Deadline for project submission
First winter session January 13th, 2014
Second winter session February 10th, 14 (postponed!) 2014
First summer session June 3rd, 2014
Second summer session June 24th, 2014
Third summer session July 15th, 2014
Early autumn session September 12th, 2014

In case you are close to finish the project at the deadline of the second winter session, but not ready to deliver the final version, you may write an email to the professor with the already developed code in attachment, and you'll be given one some more time to complete the project (please specify in the email how much time you need).

Resources

Students implementing the project on multicore architectures may have a temporary, local account on a dual quad core Intel of our department (andromeda.di.unipi.it). Andromeda is not integrated with the cli.di.unipi.it facilities so you cannot use your “student” account to access it. The procedure to obtain the account (only for those that already registered the project with the professor and appear in the list of assignments in this page) requires you come in my studio (during question time or in any other time I'm in) in such a way I immediately activate you an account and you can set your own password to access it.

The accounts assigned on andromeda may be used without reservation any time, provided when you log in there is no “Active reservation” message in the /etc/motd (the text (file) you see right before shell prompt on the terminal. The contents of the message may be seen any time with a cat /etc/motd command from the shell prompt, or with a ssh [email protected] cat /etc/motd from any other (Unix/Linux/BSD) machine shell prompt). Code development, debugging and initial tuning may took place on the unreserved machine. The reservation mechanism is only recommended to be sure you'll take time with no other users on the machine for the final tests, those needed to generate the plots included in the final project report. Remember that I suggested you to prepare scripts to be able to run tests offline, in such a way you may also use nightime reservations.

More information on the usage of andromeda may be found at this web page.

This year we will have access to a Xeon PHI machine for the projects. Instructions for accessing the machine are here