- Oggetto:
- Oggetto:
Sistemi di calcolo parelleli e distribuiti
- Oggetto:
Parallel and distributed computer systems
- Oggetto:
Anno accademico 2019/2020
- Codice dell'attività didattica
- MFN0795
- Docente
- Prof. 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-104 Laurea Magistrale in Fisica ind. Fisica del Sistema Meteoclimatico 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
- Facoltativa
- Tipologia d'esame
- Orale
- Prerequisiti
- --- MUTUTATO da Informatica con organizzazione in 2 periodi didattici, prima lezione 26 febbraio 2020 ore 16.00 ---
http://magistrale.educ.di.unito.it/index.php/offerta-formativa/insegnamenti/elenco-completo/elenco-completo/scheda-insegnamento?cod=MFN0795&year=2019
Fondamenti di programmazione imperativa (C/C++).Basics of programming with C/C++. - Propedeutico a
-
NessunoNone
- 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).
The course introduces the parallel and distributed computing systems from architecture and programming viewpoints. Methodologically , the course first introduces the basic concepts and architectures for parallel and distributed programming, which are then instantiated and demonstrated on examples of interest for the student's curriculum ( eg . Scientific computing).
- 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.
Ability to design and implement a parallel program on different computing platforms (multi -core , GPGPU , distributed), ability to analyze the expected performance of parallel programs.
- Oggetto:
Modalità di insegnamento
Corso tradizionale con esercitazioni tenute dal docente con utilizzo alternato di lavagna tradizionale e proiezione di slide. Registro delle lezioni sul sito moodle del corso (inclusivo del materiale didattico ed esercizi proposti).
Traditional course with exercises held by the teacher with alternate use of the traditional blackboard and projection of slides. Agenda of lessons on the Moodle site of the course (inclusive of course material and the exercises).
- Oggetto:
Modalità di verifica dell'apprendimento
L'esame è costituito da un progetto e una prova orale, che verte su tutto il programma svolto.
Il progetto consiste nella progettazione, l'implementazione e l'analisi di un software parallelo medianti gli stumenti presentanti nel corso. La scelta del software da realizzare è proposta dallo studente e concordata con il docente. Il progetto può essere realizzato in gruppo o individualmente e deve essere accompagnato da una relazione scritta. La relazione deve riportare le scelte progettuali, le sperimentazione e l'analisi dei risultati ottenuti. L'ammissione alla prova orale è condizionata al conseguimento di un punteggio di almeno 18/30.La prova orale - sempre individuale - consiste in un colloquio sugli argomenti svolti durante il corso e prevede, in particolare:
- l'eventuale discussione del progetto e della relazione
- l'eventuale svolgimento di esercizi
- l'esposizione di argomenti e risultati trattati nel corso
Entrambe le prove devono essere superate nella stessa sessione d'esame.The exam consists of a project and an oral exam, which span on the program of the entire course.
The project consists of the design, implementation and analysis of a parallel software using tools introduced in the course. The choice of software to realize is proposed by the student but should be agreed with the teacher. The project can be carried out in groups or individually and must be accompanied by a written report. The report must include the design choices, the testing and analysis of the results obtained. Admission to the oral examination is subject to the attainment of a minimum score of 18/30.
The oral examination - which is always individual - consists of an interview on the arguments developed during the course, inter-alia:
- A discussion of the project and the written report
- Programming exercises;
- The elaboration fo concepts introduced during the courseBoth tests must be performed in the same examination session.
- Oggetto:
Attività di supporto
- Esercitazioni alla lavagna
- Dimostrazioni di uso di strumenti di programmazione e sviluppo software
- Partecipazione a conferenze, seminari, visite guidate altre attività su argomenti correlati
- Practice at the blackboard
- Practice of use of programming and software development tools
- Participation in conferences , seminars , guided tours other activities on related topics
- Oggetto:
Programma
1) Introduzione alle architetture parallele e distribuite (10 ore)
- architeture a memoria condivisa: SMP, multi-core, GPGPU (6 ore)
- distribuita: MPP, cluster, GPU (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 (10 hours)
- Shared-memory platforms: SMP, multi-core, GPGPU (6 hours)
- Distributed platforms: MPP, cluster, GPU (4 hours)
2) Programming paradigms (20 ore)
- low-level of abstraction: message passing, shared memory (8 hours)
- paradigmatic problems and case studies (8 hours)
- high-level of abstraction: skeletons, services, components, workflows (2 hours)
3) Examples and case studies (18 hours )
- Programming exercises with threads and MPI (10 hours)
- Programming SIMD/GPGPUs (8 hours)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)
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:
Orario lezioni
Nota: Per visualizzare l'orario seguire il link: http://magistrale.educ.di.unito.it/index.php/offerta-formativa/insegnamenti/elenco-completo/elenco-completo/scheda-insegnamento?cod=MFN0795&codA=&year=2016&orienta=FH
- Oggetto:
Note
Nessuna propedeuticità obbligatoria. Frequenza non obbligatoria, ma fortemente consigliata.
No prerequisites required. Regular attendance is not strictly mandatory but is strongly recommended.
- Oggetto:
Altre informazioni
http://magistrale.educ.di.unito.it/index.php/offerta-formativa/insegnamenti/elenco-completo/elenco-completo/scheda-insegnamento?cod=MFN0795&year=2019- Oggetto: