Riepilogo e Programma
Questo workshop è un’introduzione all’uso efficace dei sistemi di calcolo ad alte prestazioni. Non è possibile coprire tutti i casi o fornire un corso esaustivo sulla programmazione parallela in soli due giorni di lezione. Questo workshop intende invece fornire agli studenti una buona introduzione e una panoramica degli strumenti disponibili e di come utilizzarli in modo efficace.
Prerequisiti
Per questa lezione è necessaria un’esperienza a riga di comando. Si consiglia ai partecipanti di seguire shell-novice, se sono alle prime armi con la riga di comando (nota anche come terminale o shell).
Alla fine di questo workshop, gli studenti sapranno come:
- Identificare i problemi che un cluster può aiutare a risolvere
- Utilizzare la shell UNIX (nota anche come terminale o linea di comando) per connettersi a un cluster.
- Trasferimento di file su un cluster.
- Inviare e gestire lavori su un cluster utilizzando uno scheduler.
- Osservare i vantaggi e i limiti dell’esecuzione parallela.
Iniziare
Per iniziare, seguire le “Istruzioni per la configurazione per assicurarsi di avere un terminale e un’applicazione SSH.
Si noti che questa è la bozza della release di HPC Carpentry. Commenti e feedback sono benvenuti.
Per gli istruttori
Se insegnate questa lezione in un workshop, consultate le [Note per gli istruttori] (instructors/instructor-notes.md).
Istruzioni di Configurazione | Scarica i file richiesti per la lezione | |
Duration: 00h 00m | 1. Perché usare un cluster? |
Perché dovrei essere interessato al calcolo ad alte prestazioni
(HPC)? Cosa posso aspettarmi di imparare da questo corso? |
Duration: 00h 20m | 2. Connessione a un sistema HPC remoto | Come si accede a un sistema HPC remoto? |
Duration: 00h 55m | 3. Lavorare su un sistema HPC remoto |
“Che cos’è un sistema HPC?” “Come funziona un sistema HPC?” “Come si accede a un sistema HPC remoto?” |
Duration: 01h 30m | 4. Fondamenti di scheduler |
Cos’è uno scheduler e perché un cluster ne ha bisogno? Come si lancia un programma da eseguire su un nodo di calcolo del cluster? Come posso catturare l’output di un programma eseguito su un nodo del cluster? |
Duration: 02h 45m | 5. Variabili d’ambiente |
Come si impostano e si accede alle variabili nella shell Unix? Come si possono usare le variabili per cambiare l’esecuzione di un programma? |
Duration: 03h 00m | 6. Accesso al software tramite moduli | Come si caricano e scaricano i pacchetti software? |
Duration: 03h 45m | 7. Trasferimento di file con computer remoti | Come si trasferiscono i file al (e dal) cluster? |
Duration: 04h 15m | 8. Esecuzione di un lavoro parallelo |
Come si esegue un’attività in parallelo? Quali vantaggi derivano dall’esecuzione parallela? Quali sono i limiti dei guadagni derivanti dall’esecuzione in parallelo? |
Duration: 05h 45m | 9. Usare le risorse in modo efficace |
Come posso rivedere i lavori passati? Come posso utilizzare queste conoscenze per creare uno script di invio più accurato? |
Duration: 06h 15m | 10. Usare le risorse condivise in modo responsabile |
Come posso essere un utente responsabile? Come posso proteggere i miei dati? Come posso ottenere grandi quantità di dati da un sistema HPC? |
Duration: 06h 35m | Fine |
L'orario effettivo può variare leggermente a seconda degli argomenti e degli esercizi scelti dall'istruttore.
Ci sono diversi software che si desidera installare prima del workshop. Anche se la guida all’installazione sarà fornita durante il workshop, si consiglia di installare (o almeno scaricare) questi strumenti in anticipo.
Bash e SSH
Questa lezione richiede un’applicazione terminale (bash
,
zsh
o altre) con la capacità di connettersi in modo sicuro
a una macchina remota (ssh
).
Dove digitare i comandi: Come aprire una nuova shell
La shell è un programma che ci permette di inviare comandi al computer e di ricevere l’output. Viene anche chiamata terminale o riga di comando.
Alcuni computer includono un programma Unix Shell predefinito. I passi che seguono descrivono alcuni metodi per identificare e aprire un programma Unix Shell se ne avete già uno installato. Esistono anche opzioni per identificare e scaricare un programma Unix Shell, un emulatore Linux/UNIX o un programma per accedere a Unix Shell su un server.
Gusci Unix su Windows
I computer con sistema operativo Windows non hanno automaticamente installato un programma di shell Unix. In questa lezione, vi invitiamo a usare un emulatore incluso in Git per Windows, che vi dà accesso sia ai comandi della shell Bash sia a Git. Se avete partecipato a una sessione di workshop di Software Carpentry, è probabile che abbiate già ricevuto istruzioni su come installare Git per Windows.
Una volta installato, è possibile aprire un terminale eseguendo il programma Git Bash dal menu di avvio di Windows.
Programmi di shell per Windows
- Git per Windows – raccomandato
- Sottosistema Windows per Linux – opzione avanzata per Windows 10
Alternative a Git per Windows
Sono disponibili altre soluzioni per eseguire i comandi Bash su Windows. È ora disponibile uno strumento a riga di comando della shell Bash per Windows 10. Inoltre, è possibile eseguire i comandi Bash su un computer o server remoto che dispone già di una shell Unix, dal proprio computer Windows. Di solito questo può essere fatto attraverso un client Secure Shell (SSH). Uno di questi client, disponibile gratuitamente per i computer Windows, è PuTTY. Per informazioni sull’installazione e l’uso di PuTTY, sull’uso dello strumento a riga di comando di Windows 10 o sull’installazione e l’uso di un emulatore Unix/Linux, consultare il riferimento riportato di seguito.
Per gli utenti avanzati, è possibile scegliere una delle seguenti alternative:
- Installare il sottosistema Windows per Linux
- Utilizzare il programma PowerShell di Windows
- Leggere [Utilizzo di un emulatore Unix/Linux][emulatore unix] (Cygwin) o di un client Secure Shell (SSH) (PuTTY)
Avviso
I comandi del sottosistema Windows per Linux (WSL), di PowerShell o di Cygwin possono differire leggermente da quelli mostrati nella lezione o presentati nel workshop. In caso di mancata corrispondenza, chiedete pure: probabilmente non siete i soli.
Shell Unix su macOS
Su macOS, la shell Unix predefinita è accessibile eseguendo il
programma Terminal dalla cartella /Application/Utilities
nel Finder.
Per aprire il Terminale, provate a eseguire una o entrambe le operazioni seguenti:
- Nel Finder, selezionare il menu Vai, quindi selezionare Utilità. Individuare Terminale nella cartella Utilità e aprirlo.
- Usate la funzione di ricerca del computer Mac ‘Spotlight’. Cercare:
Terminal
e premere Return.
Per un’introduzione, vedere Come usare il terminale su Mac.
Shell Unix su Linux
Nella maggior parte delle versioni di Linux, la shell Unix predefinita è accessibile eseguendo il (Gnome) Terminal o (KDE) Konsole o xterm, che possono essere trovati tramite il menu delle applicazioni o la barra di ricerca.
SSH per connessioni sicure
Tutti gli studenti devono avere installato un client SSH. SSH è uno strumento che ci permette di connetterci a un computer remoto e di utilizzarlo come se fosse il nostro.
SSH per Windows
Git per Windows viene fornito con SSH preinstallato: non è necessario fare nulla.
Supporto dell’interfaccia grafica per Windows
Se si sa che il software che si eseguirà sul cluster richiede un’interfaccia utente grafica (una finestra GUI deve essere aperta perché l’applicazione funzioni correttamente), installare MobaXterm Home Edition.
SSH per macOS
macOS viene fornito con SSH preinstallato: non è necessario fare nulla.
Supporto GUI per macOS
Se si sa che il software da eseguire richiede un’interfaccia grafica, installare XQuartz.