Strumenti Utente

Strumenti Sito


Journal of Lessons, SPD year 2010-2011


  • 07/03/2010 Introduction to the course — Aim and purpose, program, structure, rules and kind of final tests. — Message Passing Interface, Part 1 — The MPI standard, brief history and purpose. Message Passing programming and portability, functional and performance portability. The library approach of MPI. MPI basic concepts: communicators.
  • 08/03 Message Passing Interface, Part 1 continued — MPI basic concepts: communicators, point to point primitives, collective primitives, datatypes; communication semantics in MPI: envelopes, local/global completion, (non)blocking operations, communication modes. Opaque Objects. Primitive datatypes.
  • 11/03 MPI, Part 2 — MPI Datatypes: role in MPI, primitive datatypes, derived datatypes. Datatypes and data conversion/packing/unpacking. Basic Send and Receive and their differences: checking communication result, count of received items, asymmetric receives (wildcard TAG and SOURCE) and the status opaque object in receives. Derived datatypes as local opaque objects. Typemaps and type signatures of an MPI datatype. Type signatures and send-receive compatibility, different typemaps corresponding to a same type signature. Basic datatype constructors MPI_CONTIGUOUS, MPI_VECTOR.
  • 14/03 No lesson
  • 15/03 No lesson
  • 18/03 MPI, Part 3 — Array and Struct Datatype Constructors: MPI_HVECTOR, MPI_INDEXED, MPI_HINDEXED, MPI_INDEX_BLOCK, MPI_STRUCT; effect of extent and size in composing datatypes in memory, upper bound and lower bound markers, related auxiliary functions: MPI_GET_ADDRESS, MPI_TYPE_SIZE, MPI_TYPE_GET_EXTENT, MPI_TYPE_CREATE_RESIZED, MPI_TYPE_GET_TRUE_EXTENT. Commit and free operations, MPI_TYPE_DUP. MPI_INIT and MPI_FINALIZE.
  • 21/03 MPI, Part 4 — MPI Collective operations (except the ALLTOALLW and reduce/scan operations).
  • 22/03 MPI, Part 5 — MPI Collective operations ALLTOALLW and reduce/scan; user-defined reduction operators. Groups and Communicators: semantics (local versus global), creation and manipulation primitives.
  • 25/03 24/03 MPI, Part 6 — Communication modes: Buffered, Ready, Synchronous. Attaching buffers to MPI: semantics and primitives. Incomplete communications: semantics, MPI_REQUEST opaque objects, MPI_GET_STATUS. Semantics of Incomplete Sends with modes, Incomplete Receive. Semantics and use of MPI_TEST and MPI_WAIT primitives in the plain, *SOME, *ANY and *ALL variants. Brief description of MPI_CANCEL and MPI_REQUEST_FREE.
  • 28/03 Assist, Part 1 — Recap on Parallel Skeleton Languages, introduction to a line of SPP languages (co-)developed at the C.S. Dept. : P3L, OcamlP3L, SKIE, ASSIST. See Assist Tutorials on the course main page.
  • 29/03 MPI lab time bring your laptops!
  • 01/04 Assist, Part 2
  • 04/04 Assist, Part 3
  • 05/04 No lesson
  • 08/04 MPI recap — we will have a short survey of MPI to help who started the course late to get on par with the rest of the class.
  • 11/04 Assist Part 4
  • 12/04 MPI Lab Program with multiple parallel modules in MPI. See document at the end of this web page.
  • 15/04 MPI Lab Program with multiple parallel modules in MPI. See document at the end of this web page. POLL FOR SETTING UP AN EXTRA LESSON EACH WEEK IN MAY : Doodle poll Correction : please disregard previous doodle poll.
  • 29/04 Coarse grain and Parallel Bridging models — Recap of the RAM model; the Parallel RAM (PRAM) model of algorithmic cost. Theoretical vs realistic cost models, and the quest for parallel bridging models. Modeling communication abstracting away from the network structure: QSM and LogP (mention) and the BSP model. Superstep model, cost of a superstep, cost of an algorithm. BSP can be a programming model: mention of BSPlib and NestStep / BlockLib
    Doodle poll to fill : New Doodle poll – please report NO for unavailable times, YES if you are sure that the time slot is free, and (yes) if you don't know for sure.
  • 02/05 Lesson canceled for illness
  • 03/05 Lesson canceled for illness
  • 06/05 Lesson canceled for illness
  • 09/05 XtreemOS to be completed, see slides
  • 10/05 MPI Lab time
  • 12/05 Lesson room: Blue Room at S.Anna building, 16-18 hours (see news in the main page) BSP practice.
  • 13/05 MPI Lab Time
  • 16/05 From Grids to Clouds (and beyond ?) Very short survey of Grids and Service oriented architectures. Differences between Grids and Clouds. Basic definitions related to Clouds: Public/Private/Hybrid clouds, Cloudbursting. Introduction to the Contrail Research Project and to Cloud Federations.
  • 17/05 Cloud computing: Open Nebula
  • 19/05 Cloud computing: Open Nebula
  • 20/05
  • 23/05 GPU computing
  • 24/05 Discussion on projects
  • 26/05 GPU computing continued
  • 27/05 The Cell Broadband Engine processor (CBE)
  • 30/05 The Intel Thread Building Block Library (TBB) Introduction, story of the library, approach: high-level constructs, implementation over thread sets; general concepts; current structure of classes+templates over C++ with a runtime library to support them; constructs (parallel_for, parallel_reduce); use of lambda expressions; partitioners; containers (hash_map, vector, queue); types of mutexes.

Slides, Notes and References to papers

Date Slides Student notes Other information
7-8/3/2011 Intro MPI part 1 Relevant Material from MPI standard:
Chapter 1: have a look at it;
Chapter 2: sec. 2.3, 2.4, 2.5.1, 2.5.4, 2.5.6, 2.6.3, 2.6.4, 2.7, 2.8;
Chapter 3: sec. 3.1, 3.2.3, 3.4; 3.5, (skim through 3.7).
11-18/3/2011 Relevant Material from MPI standard:
Chapter 3: sec. 3.2.2 - 3.2.6, 3.3;
Chapter 4: sec. 4 up to 4.1.2; 4.1.5 – 4.1.11
21-22/3/2011 Relevant Material from MPI standard:
Chapter 5: sec up to 5.2.1, 5.3 – 5.8, 5.9, 5.11, 5.12
Chapter 6: up to 6.4 skipping intercommunicators
24/3/2011 Relevant Material from MPI standard:
Chapter 3: sec 3.4, 3.5, 3.6, 3.7; (skim through 3.8 – 3.10); 3.11
28/3-11/4/2011 Slides about ASSIST, part I Assist coding examples
Slides about ASSIST, part II
Slides about ASSIST, part III Slides on ASSIST, part III B
Lab time exercises
29/4/2011 "Hierarchical Models and Software Tools for Parallel Programming" - LNCS 2625, cap 15
Articolo di Valiant sui Parallel Bridging Models
Link al position paper di T.H.Cormen
Pagina degli articoli di Cormen
9/05/2011 XtreemOS slides (used for the lesson)
XtreemOS slides (longer presentation, for reference)
See paper Virtual Organization Support within a Grid-Wide Operating System
16/5/2011 Grid and Cloud Introductory Slides
presentation was updated, uploaded on 19/05
Foster, Kesselman, Tuecke, The Anatomy of the Grid
Craig Lee, A perspective on scientific cloud computing - HPDC2010
“The Future Of Cloud Computing” – report of EU expert group
Tutorial about OpenNebula
Contrail overview
Contrail and Cloud federations
27/5/2011 Articolo sul processore Cell BE
30/5/2011 Introduction to the Thread Building Blocks
magistraleinformaticanetworking/spd/lezioni10.11.txt · Ultima modifica: 19/07/2011 alle 13:47 (8 anni fa) da Massimo Coppola