Insegnamento HIGH PERFORMANCE COMPUTING

Corso
Informatica
Codice insegnamento
55961406
Curriculum
Comune a tutti i curricula
Docente
Osvaldo Gervasi
Docenti
  • Osvaldo Gervasi
Ore
  • 78 ore - Osvaldo Gervasi
CFU
9
Regolamento
Coorte 2022
Erogato
2022/23
Attività
Caratterizzante
Ambito
Discipline informatiche
Settore
ING-INF/05
Tipo insegnamento
Obbligatorio (Required)
Tipo attività
Attività formativa monodisciplinare
Lingua insegnamento
INGLESE
Contenuti
Introduzione all’High Performance Computing (HPC) e all'High Throughput Computing (HTC); Implementazione e amministrazione di Cluster. Costruzione di servizi scalabili ed in alta affidabilità. Il progetto Condor per High Throughput Computing. GPGPU Computing; OpenCL. Calcoli Matriciali e Filtri di Immagini in GPGPU; Cloud Computing. Piattaforme Software per Cloud; Implementazione di infrastrutture per Deep learning e l’ analisi di Big Data
Testi di riferimento
1. J. Garrison and K. Nova, Cloud Native Infrastructure-Patterns for Scalable Infrastructure and Applications in a Dynamic Environment, O’Reilly and Associates, 2018, ISBN: 978-1-492-03969-3
2. R. Buyya, J. Broberg, A. M. Goscinsky: Cloud Computing: Principles and Paradigms, Wiley, 2011, ISBN 978-0-470-88799-8
3. Materiale didattico fornito dal docente con riferimenti bibliografici
Obiettivi formativi
L'obiettivo principale del corso è quello di introdurre lo studente allo studio di sistemi emergenti che sono tra l'altro alla base della realizzazione dei moderni data center e al rilascio di ambienti in alta affidabilità, oltre a presentare i sistemi ad alte prestazioni, fondamentali per l'avanzamento della conoscenza e della scienza, e per erogare servizi moderni, inclusi quelli in ambiente mobile.
Le principali conoscenze acquisite saranno:
• disegno e implementazione di sistemi Cluster: principali problematiche e modalità di istallazione e configurazione
• Servizi ad alta affidabilità e sistemi ad alte prestazioni
• L'ambiente Condor per la realizzazione di Cluster High Throughput
• GPGPU Computing e programmazione OpenCL di GPU: come incrementare le performances di molti applicativi.
• Cloud Computing: disegno e implementazione di cloud ibride. 
• Data Analysis: Deep Learning e Big Data Analysis.
Le principali abilità (vale a dire la capacità di applicare le conoscenze) acquisite sono:
• Capacità di disegnare e implementare un Cluster di computer, evitandone le possibili criticità
• Capacità di disegnare e implementare i servizi di rete e applicazioni in alta affidabilità
• Capacità di pianificare ed implementare GPGPU computing per calcolo ad alte prestazioni e per l'aumento di prestazioni in ambienti Multi/many core.
• Capacità di pianificare ed implementare un ambiente Cloud ibrido
• Implementazione di infrastrutture per Deep learning e Big Data Analysis.
Prerequisiti
Nessun prerequisito è richiesto allo studente; si considera che lo studente abbia comunque dimestichezza con il disegno e la configurazione dei servizi della rete Internet.
La conoscenza approfondita dei sistemi operativi open source come Linux agevola l'acquisizione dei concetti del corso.
Nel corso delle lezioni verranno comunque forniti esempi e casi d'uso volti ad agevolare l'apprendimento dei concetti illustrati a lezione.
Metodi didattici
Lezione frontale con l'ausilio di strumenti multimediali (slides, video, etc). Esercitazione in sala computer.
In caso di lockdown le lezioni e le esercitazioni verranno erogate a distanza.
Altre informazioni
Il docente è disponibile ad erogare lezioni e sessioni di laboratorio in inglese, francese e spagnolo. Il docente è disponibile a svolgere le sessioni di esame in inglese, francese e spagnolo.
Modalità di verifica dell'apprendimento
L'esame prevede un esame scritto su sistema LibreEOL ed una prova orale di circa 10 minuti nel quale lo studente deve presentare le relazioni inerenti le attività di laboratorio e dimostrare la padronanza dei concetti richiesti, una adeguata proprietà di linguaggio e la capacità di organizzare i concetti da esporre in modo adeguato.
Programma esteso
Il corso introduce gli studenti alle moderne tecnologie che permettono la realizzazione di data center e di erogare applicazioni in ambienti di alta affidabilità e bilanciamento del carico. In particolare verranno trattati i temi seguenti:
Introduzione all'High Performance Computing (HPC) e all'High Throughput Computing (HTC); Beowulf clusters; Implementazione e amministrazione di Cluster: OpenMosix, Oscar, Roks; Costruzione di servizi scalabili; Realizzazione di servizi ad alta affidabilità in ambiente Cluster: Heartbeat, Corosync, PaceMaker. Condor: istallazione, implementazione e design di un Cluster High Throughput. GPGPU Computing. linguaggio di programmazione OpenCL. Cloud Computing: presentazione  e implementazione di una Cloud ibrida.
Data Analysis: Depp Learning e Big Data Analysis
Condividi su