magistraleinformaticanetworking:spd:lezioni10.11
Journal of Lessons, SPD year 2010-2011
Journal
- 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/0324/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 pollCorrection : 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 | |||
29/3/2011 12/4/2011 15/4/2011 10/5/2011 | 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 | |
12/5/2011 | |||
13/5/2011 | |||
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 |
|
17/5/2011 19/5/2011 20/5/2011 | 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 (13 anni fa) da Massimo Coppola