Esecuzione del tuo primo lavoro su AWS ParallelCluster - AWS ParallelCluster

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

Quando si utilizza l'interfaccia a riga di AWS ParallelCluster comando (CLI) o l'API, si pagano solo le AWS risorse create quando si creano o si aggiornano AWS ParallelCluster immagini e cluster. Per ulteriori informazioni, consulta AWS servizi usati da AWS ParallelCluster.

L' AWS ParallelCluster interfaccia utente è basata su un'architettura serverless ed è possibile utilizzarla nella categoria AWS Free Tier nella maggior parte dei casi. Per ulteriori informazioni, consulta AWS ParallelClusterCosti dell'interfaccia utente.

Prerequisiti

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'regionimpostazione 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 pem OpenSSH 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 istanza Amazon EC2 viene avviato in background. Puoi monitorare lo stato delle istanze del cluster con il comando. sinfo

$ 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: