Strumenti Utente

Strumenti Sito


magistraleinformaticanetworking:spd:start

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
magistraleinformaticanetworking:spd:start [20/02/2017 alle 17:11 (9 anni fa)] – [Timetable] Massimo Coppolamagistraleinformaticanetworking:spd:start [26/02/2025 alle 18:52 (5 mesi fa)] (versione attuale) – [Aim of the Course] Massimo Coppola
Linea 1: Linea 1:
 ====== Strumenti di programmazione per sistemi paralleli e distribuiti ====== ====== Strumenti di programmazione per sistemi paralleli e distribuiti ======
- 
-**The page is currently under construction FIXME ** 
  
 ** Teacher: ** Dr. Massimo Coppola ** Teacher: ** Dr. Massimo Coppola
  
 **Contact info**\\ **Contact info**\\
 +Official CNR-ISTI web page [[https://www.isti.cnr.it/en/about/people-detail/71/Massimo_Coppola|Massimo Coppola at ISTI]]\\
 e-mail : massimo.coppola@isti.cnr.it \\ e-mail : massimo.coppola@isti.cnr.it \\
 Phone :  050 315 2992 \\ Phone :  050 315 2992 \\
 Office location :  CNR Reseach Area, ISTI-CNR, Building C, room 33\\  Office location :  CNR Reseach Area, ISTI-CNR, Building C, room 33\\ 
-Alternate Office C.SDept., Room 388 + 
 +^ **IMPORTANTthe first lesson will be on THURSDAY 27/02/2025**   | 
 +^  **Interested students are kindly asked to contact the teacher via email.**  | 
 + 
 +^  ** The course this year will be more experimental, see below the notes to the program.**  | 
  
 **Course info**\\ **Course info**\\
-  * This page concerns the SPD course (535AA) for the academic year 2016-2017, which gives you **6 credits**.+  * This page concerns the SPD course (535AA) for the academic year 2024-2025, which gives you **6 credits**.
   * Be sure to alway check the NEWS section in this page.   * 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.+  * Information about latest 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-14-15|SPD 2014-2015]]  ^  [[magistraleinformaticanetworking:spd:spd-15-16|SPD 2015-2016]]  ^ [[magistraleinformaticanetworking:spd:spd-16-17|SPD 2016-2017]] ^ [[magistraleinformaticanetworking:spd:spd-17-18|SPD 2017-2018]]  [[magistraleinformaticanetworking:spd:spd-18-19|SPD 2018-2019]] ^ [[magistraleinformaticanetworking:spd:spd-20-21|SPD 2020-2021]] ^ [[magistraleinformaticanetworking:spd:spd-21-22|SPD 2021-2022]]  ^ [[magistraleinformaticanetworking:spd:spd-22-23|SPD 2022-2023]]  |
- [[magistraleinformaticanetworking:spd:spd-12-13|SPD 2012-2013]]   [[magistraleinformaticanetworking:spd:spd-13-14|SPD 2013-2014]]   [[magistraleinformaticanetworking:spd:spd-14-15|SPD 2014-2015]]  ^  [[magistraleinformaticanetworking:spd:spd-15-16|SPD 2015-2016]]  |+
  
 ==== Timetable ==== ==== Timetable ====
  
-{{  :magistraleinformaticanetworking:spd:tilepro64-block-diagram3.jpg?300|TILEPro64™ Processor Block Diagram}} 
  
-** Timetable ** +{{  http://fpga.org/wp-content/uploads/2017/01/1-32-1680-RISC-Vs.jpg?250|1-core, 32-core and 1680-core RISC-V development boards. 
-^ Monday |  9-11 | L1  | (Polo Fibonacci) +See http://fpga.org/2017/01/12/grvi-phalanx-joins-the-kilocore-club/ }}
-^ Wednesday |  16-18 | L1  | (Polo Fibonacci) |+
  
-  * See also the Dept. [[https://www.di.unipi.it/en/education/mcsn/timetable-wtw|official timetable]]. + 
 +^ Wednesday |  **11:00-13:00** | Room FIB X3 |    
 +^ Thursday |  **16:00-18:00** | Room FIB X3 | 
 + 
 +[[https://unipi.prod.up.cineca.it/calendarioPubblico/linkCalendarioId=6319dae0e209821793111be9|Here the official time table]]  
 + 
 +  * See also the Dept. [[https://didattica.di.unipi.it/laurea-magistrale-in-informatica-e-networking/orario-magistrale-informatica-e-networking/|official timetable]] and the virtual room links on [[https://esami.unipi.it/|esami.unipi.it]]. 
   * In case of exceptions, notice will be given in the News section below in this page and by email to the students.    * In case of exceptions, notice will be given in the News section below in this page and by email to the students. 
  
 ** Question time **\\ ** Question time **\\
-Students should contact the teacher in advance by phone / e-mailA different time can be agreed upon if needed.  +Please contact the teacher to set up either individual or joint telco sessions, or in person meetings.
-^ Thursday | 16-18 | ISTI-CNR office | +
  
 === News and Updates === === News and Updates ===
-  * First lesson is on Monday 20/2 +   26/02/2024 First lesson will be held next Thursday 27/216:00-18:00.
-  * <del>There is a conflict with the P2P course on Monday morning, schedule will change starting next week.</del> **Conflict solved**P2P is no longer using that timeslot. Who wishes to attend the SPD course as a result should contact me via email. +
- +
-  * Report time slot conflicts between SPD and other courses to the teacher, there //may// be the opportunity to change the timetable and avoid them+
  
--------- 
 ==== Course Journal ==== ==== Course Journal ====
  
-The [[magistraleinformaticanetworking:spd:lezioni16.17|course journal]] is a separate page in this wiki. +The [[magistraleinformaticanetworking:spd:lezioni24.25|course journal]] is a separate page in this wiki.
- +
-==== Project Work ==== +
- +
-TBD+
  
 -------- --------
 ==== Aim of the Course ==== ==== 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. 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.
-  * See the presentation slides [[http://backus.di.unipi.it/~marcod/MCSN/Slides2016/Coppola-SPD.pdf|here]] on the C.S. Dept. website. 
  
 +^ **The overall program reported below is a preliminary one** |  
 +
 +  - The course this year will be more flexible in the topics and in the definition of the students' projects. 
 +  - Specific topics can be expanded according to the interest of the students,
 +  - Interdisciplinary projects proposed by the student will be evaluated for the final assignment.
  
 ==== Overall Program ==== ==== Overall Program ====
Linea 62: Linea 63:
   * Parallel Programming systems/frameworks   * Parallel Programming systems/frameworks
     * **MPI** message-passing programming (the core part of the MPI 2.2 standard)     * **MPI** message-passing programming (the core part of the MPI 2.2 standard)
-    * **TBB** Thread Building Blocks Multicore oriented, shared-memory programming framework  +    * **ONEAPI** as a unifying meta-approach toward programming several architectural layers, encapsulating other existing programming frameworks 
-    * Massively Multicore computation and GPGPU frameworks: **OpenCL** (references to CUDA, Brooks+ possibly)  +    * **TBB** Thread Building Blocks Multicore oriented, shared-memory programming framework 
-    * **ASSIST** a framework for parallel high-level parallel programming with autonomic management +    * **SYCL** Common source CPU/GPU C++ programming framework  
-  * Example Applications +    * Massively Multicore computation and GPU programming frameworks: mainly **OpenCL** but also references to CUDA  
-    * K-means +    * other topics and parallel/distributed formalisms we may partially address 
-  * Foundation, Technologies+         Software defined processors: FPGA-based open source processors, OpenCL to FPGA compilation  
 +         High-Level SPP languages for Clusters/Clouds, dynamic and autonomic management 
 +         * SPC++ 
 +         * BSP-based approaches (e.g. Apache Hama / Giraph, or MulticoreBSP) 
 +  * **Example Applications** may include 
 +    * Data mining (K-means, classification...), machine learning algorithms; computational simulation algorithms 
 +  * Managing HPC experiments with **SLURM** 
 +  * Further technology topics if time allows 
 +    * Scripting HPC applications with **Python** 
 +  * Foundation, Technologies we may cover if needed
     * Elementary mechanisms to distribute computation: message passing, shared memory, massive multicore     * Elementary mechanisms to distribute computation: message passing, shared memory, massive multicore
     * Basics of scheduling algorithms and resource management     * Basics of scheduling algorithms and resource management
     * Basics of Service Oriented Architectures SOA     * Basics of Service Oriented Architectures SOA
-  * Service oriented Platforms, Cloud Computing and Cloud Federations +    * Service oriented Platforms, Cloud Computing and Cloud Federations
-    * Contrail +
-    * OpenNebula, Open Stack, //Rackspace//+
  
 +--------
 +
 +==== Project Work ====
 +
 +TBD
 +
 +--------
 +
 +==== Teaching material ====
 +=== Books ===
 +  * [[http://mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf|Standard MPI 3.1, 2015]] Only those parts that we will specify during the lessons. Please check the [[http://mpi-forum.org/docs/mpi-3.1/errata-31.pdf//example.com|MPI 3.1 errata]] as there are errors in a couple of code examples.\\ On the [[http://www.mpi-forum.org/|MPI forum web site]] you will find //alternate formattings//  and //translations// of the same material. 
 +  * **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 .
 +  * **Michael Mc Cool, Arch D. Robinson and James Reinders -- Structured Parallel Programming (patterns for Efficient Computation)** 2012, Morgan Kaufmann. \\ Chapters 1 to 3 cover background topics which should be already known from previous courses (SPA, SPD courses). Stundents need to focus on the TBB material throughout the book: Appendix C and D, and the TBB examples in the book that appendix C references from chapters 4, 5, 8 and 9. Check also Chapter 11 on k-means. 
 +  * //Alternate book:// An introduction to TBB is also found in **James Reinders -- Intel Threading Building Blocks** 2007, O'Reilly Media. More focused on TBB alone, but describes a quite old release of the framework, hence you need to look at online documentation for some of the features.
 +  * **M. Voss, R. Asejo, J. Reinders -- Pro TBB Book code samples ported to oneAPI** Open access book on Springer  [[https://link.springer.com/book/10.1007%2F978-1-4842-4398-5|Pro TBB Open Access]] 
 +  * **J. Reinders et al. - Data Parallel C++ ** Open access book on Springer [[https://link.springer.com/book/10.1007%2F978-1-4842-5574-2|Data Parallel C++ Open Access]]
 +
 +=== Papers and reading material ===
 +
 +TBD
magistraleinformaticanetworking/spd/start.1487610691.txt.gz · Ultima modifica: 20/02/2017 alle 17:11 (9 anni fa) da Massimo Coppola

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki