"Sistemi e applicazioni informatiche ad alte prestazioni" - corso 40.000 rubli. da MSU, formazione 8 settimane. (2 mesi), data: 27 novembre 2023.
Miscellanea / / November 27, 2023
Scopo L'attuazione del programma costituisce una formazione di base per le persone che desiderano acquisire conoscenze e competenze nello sviluppo di applicazioni ad alte prestazioni per supercomputer.
Il programma studia i concetti e i principi di base della costruzione di sistemi di supercomputer, l'architettura e la funzionalità del software di sistema di supercomputer, Tecnologie di programmazione parallela MPI e OpenMP, metodi per il debug e l'ottimizzazione dell'efficienza dei programmi paralleli per supercomputer che utilizzano tecnologie di passaggio di messaggi MPI e OpenMP.
Particolare attenzione è posta allo studio e allo sviluppo pratico delle tecnologie oggetto di studio e dei metodi utilizzati costruire programmi paralleli usando l'esempio dei supercomputer installati presso l'Università statale di Mosca: i sistemi Lomonosov e Blue Gene/P. In particolare vengono studiate le caratteristiche di utilizzo dei moderni compilatori per i linguaggi di programmazione C, C++, Fortran installati su questi sistemi, l'utilizzo librerie matematiche parallele, sistemi strumentali per il debug e la regolazione dell'efficienza di programmi paralleli, metodi per organizzare il lavoro parallelo File.
Forma di studio
Tempo pieno
Ambito del programma (ore accademiche)
Totale - 72
Aula - 60
Requisiti per l'ammissione: persone con istruzione superiore, attività professionale - scienziati nel campo delle tecnologie dell'informazione e della comunicazione, utilizzo della modellazione matematica sistemi informatici ad alte prestazioni, insegnanti di istituti di istruzione superiore, ingegneri e tecnici di organizzazioni associate all'uso del calcolo ad alte prestazioni tecnologia.
Risultati di apprendimento:
Competente nelle tecnologie di programmazione parallela MPI e OpenMP, lavorando con supercomputer e reti di informazione; comprensione dei principi di costruzione delle architetture dei supercomputer e del loro software, conoscenza dei metodi e degli strumenti di base per lo sviluppo di programmi paralleli per supercomputer.
Come risultato della padronanza del corso, lo studente dovrebbe:
Sapere:
· fondamenti di metodi per lo sviluppo di programmi paralleli per supercomputer;
· principi di progettazione dell'architettura dei supercomputer;
· specifica della tecnologia di programmazione parallela MPI-1 e MPI-2, composizione e caratteristiche di varie librerie aperte che implementano gli standard MPI;
· Direttive e funzioni OpenMP;
· concetti di base e direttive dei sistemi di gestione delle attività per i supercomputer;
· metodi di accesso remoto ai supercomputer, protocolli ssh e ftp per l'accesso remoto e la copia delle informazioni;
· metodi per valutare l'efficacia dei programmi paralleli
essere in grado di:
· applicare efficacemente le tecnologie studiate nella pratica di sviluppo di programmi paralleli per i supercomputer Lomonosov e Blue Gene/P.
Possedere tecnologie per lo sviluppo di programmi paralleli per supercomputer.
Modulo 1. Introduzione al tema del calcolo ad alte prestazioni.
1.1. Definizioni fondamentali e concetti fondamentali.
1.2. Giustificazione della necessità di sviluppare supercomputer. Compiti della "Grande Sfida".
1.3. Principali direzioni di sviluppo delle tecnologie dei supercomputer. Problemi di calcolo exaflop.
1.4. Problemi di esempio
2. Principi di progettazione di architetture per sistemi di calcolo ad alte prestazioni.
2.1. Elementi di base delle architetture dei sistemi informatici multiprocessore.
2.1.1. Nodi del processore. Esempi di implementazioni.
2.1.2. Organizzazione della memoria multilivello dei supercomputer.
2.1.3. Metodi per implementare sottosistemi di comunicazione dei nodi del processore.
2.1.4. Metodi di organizzazione hardware dei sistemi input-output.
2.2. Revisione delle architetture di sistemi informatici multiprocessore.
2.2.1. Sistemi multiprocessore con memoria condivisa.
2.2.2. Sistemi multiprocessore con memoria distribuita.
2.2.3. Sistemi informatici eterogenei ad alte prestazioni
2.2.4. Sistemi di calcolo massivamente paralleli.
2.2.5. Sistemi di cluster.
2.3. Metodi per valutare le prestazioni dei sistemi informatici.
2.4. Tendenze nello sviluppo di sistemi informatici ad alte prestazioni. La legge di Moore. Elenco Top500 e Top50.
2.5. Esempi di architetture di sistemi informatici ad alte prestazioni.
2.5.1. Architettura del supercomputer dell'Università statale di Mosca "Lomonosov"
2.5.2. Architettura del sistema multiprocessore a memoria condivisa IBM Regatta.
2.5.3. Architettura del sistema di calcolo massivamente parallelo BlueGene/P
3. Elementi di base del software per sistemi informatici multiprocessore.
3.1. sistema operativo.
3.2. File system paralleli.
3.3. Sistemi di gestione del lavoro.
3.4. Librerie matematiche parallele.
3.5. Sistemi di programmazione e ambienti di strumenti per lo sviluppo e il debug di programmi paralleli.
3.6. Software del supercomputer Lomonosov, BlueGene/P.
Modulo 2. Nozioni di base sulla tecnologia OpenMP.
2.1 Concetti di base. Funzioni secondarie. Aree parallele e sequenziali. Distribuzione del lavoro. Cicli paralleli.
2.2 Sezioni parallele. Compiti. Metodi di sincronizzazione.
Modulo 3. Fondamenti della tecnologia di scambio messaggi MPI.
3.1. Gli standard MPI: implementazione, direzioni di sviluppo.
3.2. Concetti di base, principi di costruzione di programmi paralleli utilizzando la tecnologia MPI.
3.3. Il concetto di modalità di trasmissione dei messaggi.
3.4. Organizzazione di scambi punto-punto.
3.5. Operazioni MPI collettive.
3.6. Tipi di dati derivati.
3.7. Topologie virtuali e operazioni sui comunicatori.
3.8. Intercomunicatori. Comunicazioni unidirezionali. Errore nell'elaborazione.
3.9. Controllo dinamico del processo. I/O parallelo.