Ejecutar su primer trabajo en AWS ParallelCluster - AWS ParallelCluster

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejecutar su primer trabajo en AWS ParallelCluster

Este tutorial te muestra cómo ejecutar tu primer trabajo en Hello World AWS ParallelCluster

Si utiliza la interfaz de línea de AWS ParallelCluster comandos (CLI) oAPI, solo paga por los AWS recursos que se crean al crear o actualizar AWS ParallelCluster imágenes y clústeres. Para obtener más información, consulte AWS servicios utilizados por AWS ParallelCluster.

La AWS ParallelCluster interfaz de usuario se basa en una arquitectura sin servidor y, en la mayoría de los casos, se puede utilizar en la categoría de capa AWS gratuita. Para obtener más información, consulte AWS ParallelCluster Costes de la interfaz.

Requisitos previos

Comprobación de la instalación

En primer lugar, verificamos que AWS ParallelCluster esté correctamente instalada y configurada, incluida la dependencia de Node.js.

$ node --version v16.8.0 $ pcluster version { "version": "3.7.0" }

Esto devuelve la versión en ejecución de AWS ParallelCluster.

Creación de su primer clúster

Ahora ha llegado el momento de crear su primer clúster. Debido a que la carga de trabajo de este tutorial no es excesiva, podemos usar el tamaño de instancia predeterminado de t2.micro. (Para las cargas de trabajo de producción, puede elegir el tamaño de instancia que mejor se adapte a sus necesidades). Llamemos a su clúster hello-world.

$ pcluster create-cluster \ --cluster-name hello-world \ --cluster-configuration hello-world.yaml
nota

Debe especificarse Región de AWS lo que se debe utilizar para la mayoría de pcluster los comandos. Si no se especifica en la variable de entorno AWS_DEFAULT_REGION, o el ajuste region en la sección [default] del archivo ~/.aws/config, el parámetro --region debe proporcionarse en la línea de comando pcluster.

Si recibe un mensaje del resultado sobre la configuración, tiene que ejecutar lo siguiente para configurar :

$ pcluster configure --config hello-world.yaml

Si el comando pcluster create-cluster se ejecuta correctamente, verá un resultado similar al siguiente:

{ "cluster": { "clusterName": "hello-world", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:xxx:stack/xxx", "region": "...", "version": "...", "clusterStatus": "CREATE_IN_PROGRESS" } }

La creación del clúster se supervisa mediante:

$ pcluster describe-cluster --cluster-name hello-world

Los clusterStatus informes "CREATE_IN_PROGRESS" mientras se crea el clúster. clusterStatus pasa a “CREATE_COMPLETE” cuando el clúster se haya creado correctamente. El resultado también nos proporciona las publicIpAddress y privateIpAddress de nuestro nodo principal.

Inicio de sesión en su nodo principal

Utilice el archivo SSH pem abierto para iniciar sesión en el nodo principal.

$ pcluster ssh --cluster-name hello-world -i /path/to/keyfile.pem

Después de iniciar sesión, ejecute el comando sinfo para comprobar que sus nodos de computación se instalan y configuran.

$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 10 idle~ queue1-dy-queue1t2micro-[1-10]

El resultado muestra que tenemos una cola en nuestro clúster, con hasta diez nodos.

Ejecución de su primer trabajo con Slurm

A continuación, creamos un trabajo que entra en suspensión durante un tiempo y luego genera su propio nombre de host. Cree un archivo denominado hellojob.sh con el siguiente contenido.

#!/bin/bash sleep 30 echo "Hello World from $(hostname)"

A continuación, envíe el trabajo mediante sbatch y compruebe que se ejecuta.

$ sbatch hellojob.sh Submitted batch job 2

Ahora puede ver la cola y comprobar el estado del trabajo. El aprovisionamiento de una nueva EC2 instancia de Amazon se inicia en segundo plano. Puede monitorizar el estado de las instancias del clúster con el 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

El resultado muestra que se ha enviado el trabajo a queue1. Espere 30 segundos a que el trabajo se termine y, a continuación, vuelva a ejecutar squeue.

$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)

Ahora que no hay trabajos en la cola, podemos comprobar el resultado en nuestro directorio actual.

$ 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

En el resultado, vemos un archivo “out”. Podemos ver el resultado de nuestro trabajo:

$ cat slurm-2.out Hello World from queue1-dy-queue1t2micro-1

El resultado también muestra que nuestro trabajo se ha ejecutado correctamente en la instancia queue1-dy-queue1t2micro-1.

En el clúster que acaba de crear, solo el directorio principal se comparte entre todos los nodos del clúster.

Para obtener más información acerca de la creación y el uso de clústeres, consulte Prácticas recomendadas.

Si la aplicación requiere software, bibliotecas o datos compartidos, considere las siguientes opciones: