Strumenti Utente

Strumenti Sito


Questa è una vecchia versione del documento!

Distributed systems: paradigms and models

This page will host all the support material relative to the course: useful links, teacher's notes, articles, etc. The notes relative to the structured parallel programming models that were supposed to be available before Christmas will not be published before end of January (presumably). We apologize for this. All the course lessons are now available on the course web pages (slides and recordings) and we updated the support material web page in such a way most of the arguments dealt with in the course have some pointers to online documentation and/or already published papers.



  • Link to the secretary web page for the Master
  • Link to the page with all the (preliminary) programs of the courses (in English)
  • Link to St. Anna master web page (mainly for registration/enrollment process)===== Course support material and links =====

Course introduction and motivations

  • Link to the home page
  • Presentation by Prof. Antonio González on Elastic Parallel Architectures, at Europar'2009
  • Intel 80 core teraflop chip
  • Tilera multicore chip home page
  • The book Introduction to parallel computing (Amazon pointer) by Grama, Karypis, Kumar and Gupta, has in Chapter 5 a good introduction to performance modelling of parallel forms. Most of the analytical modelling presented in SPM lessons is discussed in the book by M. Vanneschi “Architettura degli elaboratori”, PLUS ed. 2010 in chapter X (this is in Italian, however).

Structured parallel/distributed programming


Design patterns

  • Amazon pointer to Design Patterns: Elements of Reusable Object-Oriented Software book by Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides (this is not relative to “parallel” patterns, actually)
  • Amazon pointer to Patterns for Parallel Programming by Mattson, Sanders and Massingill, this is the book of parallel design patterns mentioned during the lessons
  • Parallel design pattern resource page
  • 1 2 3 4 : pointers to papers by Massingill et al. illustrating parallel design patterns.


  • A fresh look at the parallel programming problems: A View of the Parallel Computing Landscape by Krste AsAnoViC, rAstisLAV boDiK, JAmes DemmeL, tonY KeAVenY, Kurt KeutZer, John KubiAtoWiCZ, neLson morGAn, DAViD PAtterson, KoushiK sen, John WAWrZYneK, DAViD WesseL, AnD KAtherine YeLiCK.

Target architectures (sw)

Non structured

  • Sample POSIX/TCP code (pipeline)
    • Code for opening two connections (server and client) with pthreads
    • Code for opening two connections (server and client) with OpenMP
    • Code for the Pipeline example (naif version, only integers, connections opened for each communication)
    • Code for the RTS answering discovery messages
    • Code for the discoverer process
    • Code for the enhanced, standalone Pipeline example
  • OpenMP
  • MPI
  • TBB


C(++) + MPI based

  • eSkel
    • eSkel home page. This is the skeleton library maintained at the group of Murray Cole in Edinburgh.
  • Muesli
    • Muesli is the skeleton library by Herbert Kuchen at Muenster University. Here is the library homepage.
  • SkeTo
    • SkeTo is the skeleton library running on top of MPI by Tokyo skeleton group. The home page has links to download the library and the relative documentation.
    • This is a project run by Spanish Univ. Here is the project home page
    • This is not targeting MPI, actually (it uses a POSIX/TCP target). Most of the concepts in ASSIST come from the skeleton and coordination language frameworks. ASSIST home page is here

Java based

  • ProActive/Calcium home page
  • Behavioural skeletons
    • Behavioural skeletons run on top of ProActive and provide rule based autonomic managers of non functional features (performance). This is the home page within the GridCOMP project web pages.
  • Muskel

AOP/annotations based

  • Joao Sobral AOP skeletons
    • Joao Sobral at Departamento de Informática, Universidade do Minho in Portugal developed some nice libraries merging AOP (Aspect Oriented Programming) and skeleton concepts (home page and papers 1 2 related to the subject)

ML based

  • OcamlP3L
    • This is an implementation of P3L written in Ocaml, the french dialect of ML (home page).
  • Skipper
    • Several version of Skipper was developed by J. Serot at LASMEA, here is the home page of the last version, Skipper-D. Skipper adopts a macro data flow implementation.
magistraleinformaticanetworking/spm/sdpm09support.1261477993.txt.gz · Ultima modifica: 22/12/2009 alle 10:33 (13 anni fa) da Marco Danelutto