Offerta Didattica

 

ENGINEERING AND COMPUTER SCIENCE

HIGH PERFORMANCE COMPUTING

Classe di corso: LM-32, 18 - Classe delle lauree magistrali in Ingegneria informatica
AA: 2022/2023
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
ING-INF/05A scelta dello studenteLiberaLiberaNo
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
64024824024
Legenda
CFU: n. crediti dell’insegnamento
CFU LEZ: n. cfu di lezione in aula
CFU LAB: n. cfu di laboratorio
CFU ESE: n. cfu di esercitazione
FREQUENZA:Libera/Obbligatoria
MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli
ORE: n. ore programmate
ORE LEZ: n. ore programmate di lezione in aula
ORE LAB: n. ore programmate di laboratorio
ORE ESE: n. ore programmate di esercitazione
SSD:sigla del settore scientifico disciplinare dell’insegnamento
TAF:sigla della tipologia di attività formativa
TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio

Obiettivi Formativi

Fornire i concetti fondamentali della programmazione parallela, delle tematiche e problematiche relative la parallelizzazione degli algoritmi e delle metodologie di decomposizione, comunicazione aggregazione e mapping di task a risorse computazionali parallele e distribuite. Applicazione delle conoscenze e tecniche acquisite nell’ambito dei sistemi paralleli e distribuiti, HPC e calcolo parallelo. Capacità di applicare le tecniche acquisite nella progettazione, sviluppo e manutenzione di sistemi paralleli e distribuiti e nella parallelizzazione di sistemi preesistenti o revisione di soluzioni parallele. Capacità di effettuare scelte sulla parallelizzazione di un algoritmo e sull’implementazione di soluzioni parallele che possano ottimizzare prestazioni, affidabilità e costi, valutando in autonomia eventuali trade-off tra tali grandezze, sfruttando le competenze acquisite durante il corso ed applicate in fase sperimentale/di progetto Acquisizione di abilità nella risoluzione di problemi, in particolare attraverso lo sviluppo di algoritmi paralleli e soprattutto di rappresentarli e specificarli attraverso specifica documentazione o comunicarli direttamente ai membri del team attraverso progetti di gruppo. Acquisizione di autonomia nell’analisi e nello studio di problemi da parallelizzare e nell’apprendimento di nuove tecniche così come nella ricerca di middleware, tools, librerie e package di classi utili alla risoluzione di problemi complessi. Adozione di approcci di programmazione parallela e loro adattamento al problema in oggetto.

Learning Goals

Knowledge and understanding of the concepts of parallel programming, with specific regard to message passing, shared address space/shared memory and dataflow parallelism approaches. Overview of issues and problems related to algorithm parallelization and decomposition methodologies, communication, aggregation, and mapping of tasks to parallel and distributed computational resources. Application of PP theories, methodologies and techniques in the context of parallel and distributed systems, HPC and parallel computing. Ability to apply the techniques acquired in the design, development and maintenance of parallel and distributed systems and in the parallelization of existing systems or improving existing parallel algorithms and solutions. Ability to parallelize an algorithm choosing among the approaches acquired during the course and applied in the experimental / project phase Ability to make choices on the implementation of parallel solutions that can optimize performance, reliability and costs, independently evaluating any trade-offs between these quantities, taking advantage of the skills acquired during the course and applied in the experimental phase / project. Acquisition of problem solving skills, in particular through the development of parallel algorithms, with specific regard to their representation and specification through documentation or direct communication to team members through group projects and assignments. Autonomy in the analysis and study of problems to be parallelized and in learning new techniques as well as looking for middleware, tools, libraries and class packages useful for solving complex problems. Adoption of parallel programming approaches and their adaptation to the problem in question

Metodi didattici

Teaching Methods


Prerequisiti

Conoscenze di base relative alle architetture e ai sistemi operativi degli elaboratori elettronici. Conoscenza di un linguaggio di programmazione.

Prerequisites

Basic knowledge of computer architectures and operating systems. Knowledge of a programming language.

Verifiche dell'apprendimento

Assessment


Programma del Corso

Course Syllabus


Testi di riferimento:

Elenco delle unità didattiche costituenti l'insegnamento

Docente: SALVATORE DISTEFANO

Orario di Ricevimento - SALVATORE DISTEFANO

GiornoOra inizioOra fineLuogo
Lunedì 11:00 12:00Ingegneria, Piano 7, Blocco B
Note: Il ricevimento è previa appuntamento, si prega di contattare il docente e concordare la data e l'ora di ricevimento, non necessariamente il lunedi'.
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti