Vai al contenuto principale
Oggetto:
Oggetto:

Sistemi di calcolo parelleli e distribuiti

Oggetto:

Parallel and distributed computer systems

Oggetto:

Anno accademico 2013/2014

Codice dell'attività didattica
MFN0795
Docente
Marco Aldinucci (Titolare del corso)
Corso di studi
008510-102 Laurea Magistrale in Fisica ind. Astrofisica e Fisica Teorica
008510-103 Laurea Magistrale in Fisica ind. Fisica dell'Ambiente e delle Tecnologie Avanzate
008510-101 Laurea Magistrale in Fisica ind. Astrofisica e Raggi Cosmici
008510-103 Laurea Magistrale in Fisica ind. Fisica dell'Ambiente
008510-104 Laurea Magistrale in Fisica ind. Fisica delle Tecnologie Avanzate
008510-106 Laurea Magistrale in Fisica ind. Fisica Nucleare e Sub-nucleare
008510-107 Laurea Magistrale in Fisica ind. Fisica Teorica
Anno
3° anno
Periodo didattico
Terzo periodo didattico
Tipologia
C=Affine o integrativo
Crediti/Valenza
6
SSD dell'attività didattica
INF/01 - informatica
Modalità di erogazione
Tradizionale
Lingua di insegnamento
Italiano
Modalità di frequenza
Obbligatoria
Tipologia d'esame
Orale
Modalità d'esame
progetto ed orale su appuntamento con il docente.
Prerequisiti
Fondamenti di programmazione imperativa (C/C++).
Oggetto:

Sommario insegnamento

Oggetto:

Obiettivi formativi

Il corso introduce i sistemi di calcolo paralleli e distribuiti sia al livello di architettura che di metodologie e strumenti di programmazione. Metodologicamente, il corso prima introduce le architetture ed i concetti fondamentali per la programmazione parallela e distribuita, che poi vengono instanziati ed esemplificati su esempi di interesse per per i curriculum dello studente (es. calcolo scientifico).

Oggetto:

Risultati dell'apprendimento attesi

Capacità di progettare e implementare un programma parallelo su diverse piattaforme di calcolo (multi-core, GPGPU, distribuita), capacità di analizzarne le prestazioni attese.

Oggetto:

Modalità di verifica dell'apprendimento

Progetto ed esame orale.

Oggetto:

Attività di supporto

Esercitazioni alla lavagna.

Oggetto:

Contenuti

Vedi programma.

Oggetto:

Programma

1) Introduzione alle architetture parallele e distribuite (10 ore)
    - architeture a memoria condivisa: SMP, multi-core, GPGPU (6 ore)
    - distribuita: MPP, cluster, grid (4 ore)


2) Paradigmi di programmazione (20 ore)
    - a basso livello di astrazione: scambio di messaggi, memoria condivisa (8 ore)
    - esempi di parallelizzazione di problemi classici (8 ore)
    - ad alto livello di astrazione (cenni): componenti, servizi, workflow, skeleton (2 ore)

3) Esempi di uso ed esercitazioni (18 ore )
    - Programmazione con thread_POSIX e MPI, esercizi su casi di studio (10 ore)
    - Programmazione SIMD/GPGPUs (8 ore)

1) Introduction to the architecture of parallel and distributed computer systems; shared memory: SMP, multi-core; multicomputers: multiprocessor, cluster, GPGPUs 2) Programming paradigms ; low-level of abstraction: message passing, shared memory ; case studies ; high-level of abstraction: skeletons, services, components, workflows 3) Examples and case studies; programming exercises with threads and MPI; GPGPUs programming.

Testi consigliati e bibliografia

Oggetto:

Barry Wilkinson, Michael Allen Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers Prentice Hall; 2 edition ISBN-10: 0131405632

Marco Danelutto DISTRIBUTED SYSTEMS: PARADIGMS AND MODELS, 2011 (Dispensa)



Oggetto:

Note

Nessuna propedeuticità obbligatoria. Frequenza non obbligatoria, ma fortemente consigliata.

Oggetto:
Ultimo aggiornamento: 23/07/2014 09:12
Location: https://fisica.campusnet.unito.it/robots.html
Non cliccare qui!