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 guida come eseguire il tuo primo lavoro con 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.
Prerequisiti
-
AWS ParallelCluster è installato.
-
AWS CLI È installato e configurato.
-
Hai una coppia di chiavi Amazon EC2.
-
Hai un ruolo IAM con le autorizzazioni necessarie per eseguire la CLIpcluster.
Verifica dell'installazione
Innanzitutto, verifichiamo che AWS ParallelCluster sia installato e configurato correttamente, inclusa Node.js la dipendenza.
$node --versionv16.8.0$pcluster version{ "version": "3.16.1" }
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
Il valore Regione AWS da usare deve essere specificato 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 fornisce un messaggio sulla configurazione, è necessario 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 publicIpAddress privateIpAddress del 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.
$sinfoPARTITION 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.shSubmitted 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
$squeueJOBID 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.
$squeueJOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
Ora che non ci sono processi in coda, puoi verificare l'output nella directory corrente.
$ls -ltotal 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 i risultati del nostro lavoro:
$cat slurm-2.outHello 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 saperne di più sulla creazione e l'utilizzo dei cluster, consultaBest practice.
Se l'applicazione richiede software, librerie o dati condivisi, considera le seguenti opzioni:
-
Crea un'AMI personalizzata AWS ParallelCluster abilitata che includa il tuo software come descritto inCostruire un'usanza AWS ParallelCluster AMI.
-
Utilizzate l'StorageSettingsopzione nel file di AWS ParallelCluster configurazione per specificare un file system condiviso e archiviare il software installato nella posizione di montaggio specificata.
-
Azioni bootstrap personalizzateUsala per automatizzare la procedura di bootstrap di ogni nodo del cluster.