Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esecuzione del tuo primo lavoro su AWS ParallelCluster
Questo tutorial ti spiega come eseguire il tuo primo lavoro in Hello World su AWS ParallelCluster
Se utilizzi l'interfaccia a riga di AWS ParallelCluster comando (CLI) oppureAPI, paghi solo per le AWS risorse create quando crei o aggiorni AWS ParallelCluster immagini e cluster. Per ulteriori informazioni, consulta AWS servizi usati da AWS ParallelCluster.
PCUIÈ basato su un'architettura serverless ed è possibile utilizzarlo nella categoria AWS Free Tier nella maggior parte dei casi. Per ulteriori informazioni, consulta PCUIcosti.
Prerequisiti
-
AWS ParallelCluster è installato.
-
AWS CLI è installato e configurato.
-
Hai una coppia di EC2 chiavi Amazon.
-
Hai un IAM ruolo con le autorizzazioni necessarie per eseguire il pclusterCLI.
Verifica dell'installazione
Innanzitutto, verifichiamo che AWS ParallelCluster sia installato e configurato correttamente, inclusa la dipendenza Node.js.
$
node --version
v16.8.0
$
pcluster version
{ "version": "3.7.0" }
Ciò restituisce la versione in esecuzione di. AWS ParallelCluster
Creazione del primo cluster
Verrà ora creato il tuo primo cluster. Poiché il carico di lavoro per questo tutorial non ha elevati requisiti di prestazioni, possiamo utilizzare la dimensione dell'istanza predefinita di t2.micro
. (Per carichi di lavoro di produzione, scegli la dimensione dell’istanza più adatta alle tue esigenze.) Chiamiamo il tuo clusterhello-world
.
$
pcluster create-cluster \ --cluster-name hello-world \ --cluster-configuration hello-world.yaml
Nota
La modalità Regione AWS di utilizzo deve essere specificata per la maggior parte dei pcluster
comandi. Se non è specificato nella variabile di AWS_DEFAULT_REGION
ambiente o nell'region
impostazione nella [default]
sezione del ~/.aws/config
file, il --region
parametro deve essere fornito nella riga di pcluster
comando.
Se l'output mostra un messaggio sulla configurazione, devi eseguire quanto segue per configurare AWS ParallelCluster:
$
pcluster configure --config hello-world.yaml
Se il pcluster create-cluster comando ha esito positivo, viene visualizzato un output simile al seguente:
{ "cluster": { "clusterName": "hello-world", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:xxx:stack/xxx", "region": "...", "version": "...", "clusterStatus": "CREATE_IN_PROGRESS" } }
È possibile monitorare la creazione del cluster utilizzando:
$
pcluster describe-cluster --cluster-name hello-world
I clusterStatus
report "CREATE_IN_PROGRESS
" durante la creazione del cluster. Le clusterStatus
transizioni a "CREATE_COMPLETE
" quando il cluster viene creato correttamente. L'output ci fornisce anche la fine privateIpAddress
del publicIpAddress
nostro nodo principale.
Accedere al nodo principale
Usa il tuo file Open SSH pem per accedere al tuo nodo principale.
$
pcluster ssh --cluster-name hello-world -i /path/to/keyfile.pem
Dopo aver effettuato l'accesso, esegui il comando sinfo
per verificare che i nodi di calcolo siano impostati e configurati.
$
sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 10 idle~ queue1-dy-queue1t2micro-[1-10]
L'output mostra che abbiamo una coda nel nostro cluster, con un massimo di dieci nodi.
Esecuzione del primo lavoro con Slurm
Creiamo un processo che rimane in sospeso per alcuni secondi e che quindi fornisce in uscita il suo nome host. Crea un file denominato hellojob.sh
, con i seguenti contenuti:
#!/bin/bash sleep 30 echo "Hello World from $(hostname)"
Quindi, invia il processo utilizzando sbatch
e verifica che sia in esecuzione.
$
sbatch hellojob.sh
Submitted batch job 2
Puoi ora visualizzare la coda e verificare lo stato del processo. Il provisioning di una nuova EC2 istanza Amazon viene avviato in background. Puoi monitorare lo stato delle istanze del cluster con il sinfo
comando.
$
squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 2 queue1 hellojob ec2-user CF 3:30 1 queue1-dy-queue1t2micro-1
L'output mostra che il lavoro è stato inviato aqueue1
. Attendi 30 secondi per il completamento del processo, quindi esegui nuovamente squeue
.
$
squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
Ora che non ci sono processi in coda, puoi verificare l'output nella directory corrente.
$
ls -l
total 8 -rw-rw-r-- 1 ec2-user ec2-user 57 Sep 1 14:25 hellojob.sh -rw-rw-r-- 1 ec2-user ec2-user 43 Sep 1 14:30 slurm-2.out
Nell'output, vediamo un file out
"». Possiamo vedere il risultato del nostro lavoro:
$
cat slurm-2.out
Hello World from queue1-dy-queue1t2micro-1
L'output mostra anche che il processo è stato eseguito correttamente sull'istanza queue1-dy-queue1t2micro-1
.
Nel cluster appena creato, solo la home directory è condivisa tra tutti i nodi del cluster.
Per ulteriori informazioni sulla creazione e l'utilizzo dei cluster, consultaBest practice.
Se l'applicazione richiede software, librerie o dati condivisi, considera le seguenti opzioni:
-
Create una AWS ParallelCluster soluzione personalizzata abilitata AMI che includa il vostro software come descritto inCostruire una personalizzazione AWS ParallelCluster AMI.
-
Utilizzate l'StorageSettingsopzione nel file di AWS ParallelCluster configurazione per specificare un file system condiviso e archiviate il software installato nella posizione di montaggio specificata.
-
Azioni bootstrap personalizzateUtilizzatelo per automatizzare la procedura di bootstrap di ogni nodo del cluster.