Actualización deAWS ParallelCluster 2.x a 3.x - 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.

Actualización deAWS ParallelCluster 2.x a 3.x

Acciones de arranque personalizadas

ConAWS ParallelCluster 3, puede especificar diferentes scripts de acciones de arranque personalizados para el nodo principal y los nodos de cómputo mediante los parámetrosOnNodeStart (pre_installen laAWS ParallelCluster versión 2) yOnNodeConfigured (post_installen laAWS ParallelCluster versión 2) en las HeadNodeSlurmQueuessecciones Schedulingy/. Para obtener más información, consulte Acciones de arranque personalizadas.

Los scripts de acciones de arranque personalizados que se desarrollen paraAWS ParallelCluster 2 deben adaptarse para usarse enAWS ParallelCluster 3:

  • No recomendamos usar/etc/parallelcluster/cfnconfig nicfn_node_type diferenciar entre nodos principales y nodos de cómputo. En su lugar, le recomendamos que especifique dos scripts diferentes en HeadNodey Scheduling/SlurmQueues.

  • Si prefieres seguir cargando/etc/parallelcluster/cfnconfig para usarlo en el script de acciones de arranque, ten en cuenta que el valor decfn_node_type ha cambiado deMasterServer «» a «HeadNode» (consulte:Lenguaje inclusivo).

  • EnAWS ParallelCluster 2, el primer argumento de entrada para los scripts de acción de arranque era la URL de S3 del script y estaba reservado. EnAWS ParallelCluster 3, solo los argumentos configurados en la configuración se pasan a los scripts.

aviso

No se admite oficialmente el uso de variables internas proporcionadas a través del/etc/parallelcluster/cfnconfig archivo. Es posible que este archivo se elimine como parte de una versión future.

AWS ParallelCluster2.x y 3.x utilizan una sintaxis de archivos de configuración diferente

AWS ParallelClusterLa configuración 3.x usa la sintaxis YAML. La referencia completa puede consultarse enArchivos de configuración.

Además de requerir un formato de archivo YAML, en la versiónAWS ParallelCluster 3.x se actualizaron varias secciones de configuración, ajustes y valores de parámetros. En esta sección, observamos los cambios clave en laAWS ParallelCluster configuración junto con side-by-side ejemplos que ilustran estas diferencias en cada versión deAWS ParallelCluster.

Ejemplo de configuración de múltiples colas de programadores con hipersubprocesos habilitados y deshabilitados

AWS ParallelCluster2:

[cluster default] queue_settings = ht-enabled, ht-disabled ... [queue ht-enabled] compute_resource_settings = ht-enabled-i1 disable_hyperthreading = false [queue ht-disabled] compute_resource_settings = ht-disabled-i1 disable_hyperthreading = true [compute_resource ht-enabled-i1] instance_type = c5n.18xlarge [compute_resource ht-disabled-i1] instance_type = c5.xlarge

AWS ParallelCluster3:

... Scheduling: Scheduler: slurm SlurmQueues: - Name: ht-enabled Networking: SubnetIds: - compute_subnet_id ComputeResources: - Name: ht-enabled-i1 DisableSimultaneousMultithreading: true InstanceType: c5n.18xlarge - Name: ht-disabled Networking: SubnetIds: - compute_subnet_id ComputeResources: - Name: ht-disabled-i1 DisableSimultaneousMultithreading: false InstanceType: c5.xlarge

Ejemplo del nuevo FSx para la configuración del sistema de archivos Lustre

AWS ParallelCluster2:

[cluster default] fsx_settings = fsx ... [fsx fsx] shared_dir = /shared-fsx storage_capacity = 1200 imported_file_chunk_size = 1024 import_path = s3://bucket export_path = s3://bucket/export_dir weekly_maintenance_start_time = 3:02:30 deployment_type = PERSISTENT_1 data_compression_type = LZ4

AWS ParallelCluster3:

... SharedStorage: - Name: fsx MountDir: /shared-fsx StorageType: FsxLustre FsxLustreSettings: StorageCapacity: 1200 ImportedFileChunkSize: 1024 ImportPath: s3://bucket ExportPath: s3://bucket/export_dir WeeklyMaintenanceStartTime: "3:02:30" DeploymentType: PERSISTENT_1 DataCompressionType: LZ4

Ejemplo de configuración de clúster que monta un sistema de archivos FSx for Lustre existente

AWS ParallelCluster2:

[cluster default] fsx_settings = fsx ... [fsx fsx] shared_dir = /shared-fsx fsx_fs_id = fsx_fs_id

AWS ParallelCluster3:

... SharedStorage: - Name: fsx MountDir: /shared-fsx StorageType: FsxLustre FsxLustreSettings: FileSystemId: fsx_fs_id

Ejemplo de un clúster con el paquete de software Intel HPC Platform Specification

AWS ParallelCluster2:

[cluster default] enable_intel_hpc_platform = true ...

AWS ParallelCluster3:

... AdditionalPackages: IntelSoftware: IntelHpcPlatform: true

Notas:

Ejemplo de configuraciones de IAM personalizadas, que incluyen: perfil de instancia, rol de instancia, políticas adicionales para las instancias y el rol de las funciones lambda asociadas al clúster

AWS ParallelCluster2:

[cluster default] additional_iam_policies = arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess,arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess ec2_iam_role = ec2_iam_role iam_lambda_role = lambda_iam_role ...

AWS ParallelCluster3:

... Iam: Roles: CustomLambdaResources: lambda_iam_role HeadNode: ... Iam: InstanceRole: ec2_iam_role Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: InstanceProfile: iam_instance_profile - Name: queue2 ... Iam: AdditionalIamPolicies: - Policy: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess - Policy: arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess

Notas:

  • En el casoAWS ParallelCluster 2, la configuración de IAM se aplica a todas las instancias de un clúster y no seadditional_iam_policies puede usar junto conec2_iam_role.

  • ParaAWS ParallelCluster 3, puede tener diferentes configuraciones de IAM para los nodos principal y de procesamiento e incluso especificar diferentes configuraciones de IAM para cada cola de procesamiento.

  • ParaAWS ParallelCluster 3, puede utilizar un perfil de instancia de IAM como alternativa a un rol de IAM. InstanceProfile,InstanceRole o no seAdditionalIamPolicies pueden configurar juntos.

Ejemplo de acciones de arranque personalizadas

AWS ParallelCluster2:

[cluster default] s3_read_resource = arn:aws:s3:::bucket_name/* pre_install = s3://bucket_name/scripts/pre_install.sh pre_install_args = 'R curl wget' post_install = s3://bucket_name/scripts/post_install.sh post_install_args = "R curl wget" ...

AWS ParallelCluster3:

... HeadNode: ... CustomActions: OnNodeStart: Script: s3://bucket_name/scripts/pre_install.sh Args: - R - curl - wget OnNodeConfigured: Script: s3://bucket_name/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName: bucket_name Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... CustomActions: OnNodeStart: Script: s3://bucket_name/scripts/pre_install.sh Args: ['R', 'curl', 'wget'] OnNodeConfigured: Script: s3://bucket_name/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName: bucket_name

Ejemplo de un clúster con acceso de lectura y escritura a los recursos del bucket de S3

AWS ParallelCluster2:

[cluster default] s3_read_resource = arn:aws:s3:::bucket/read_only/* s3_read_write_resource = arn:aws:s3:::bucket/read_and_write/* ...

AWS ParallelCluster3:

... HeadNode: ... Iam: S3Access: - BucketName: bucket_name KeyName: read_only/ EnableWriteAccess: False - BucketName: bucket_name KeyName: read_and_write/ EnableWriteAccess: True Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: S3Access: - BucketName: bucket_name KeyName: read_only/ EnableWriteAccess: False - BucketName: bucket_name KeyName: read_and_write/ EnableWriteAccess: True

Lenguaje inclusivo

AWS ParallelCluster3 usa las palabras «nodo principal» en los lugares donde se usó «maestro» enAWS ParallelCluster 2. Estas incluyen las siguientes:

  • La variable exportada en el entorno deAWS Batch trabajo cambió: deMASTER_IP aPCLUSTER_HEAD_NODE_IP.

  • Todas lasAWS CloudFormation salidas cambiaron deMaster* aHeadNode*.

  • Todos NodeType y las etiquetas cambiaron deMaster aHeadNode.

Support para programadores

AWS ParallelCluster3.x no admite los programadores Son of Grid Engine (SGE) ni Torque.

LosAWS Batch comandosawsbhostsawsbkill,awsbout,awsbqueuesawsbstat, yawsbsub se distribuyen como un paqueteaws-parallelcluster-awsbatch-cli PyPI independiente. Este paquete se instalaAWS ParallelCluster en el nodo principal. Puede seguir utilizando estosAWS Batch comandos desde el nodo principal del clúster. Sin embargo, si desea utilizarAWS Batch comandos desde una ubicación que no sea el nodo principal, primero debe instalar el paqueteaws-parallelcluster-awsbatch-cli PyPI.

AWS ParallelCluster CLI

Se ha cambiado la interfaz de línea deAWS ParallelCluster comandos (CLI). La nueva sintaxis se describe enComandos de la CLI de AWS ParallelCluster. El formato de salida de la CLI es una cadena JSON.

Configuración de un nuevo clúster

Elpcluster configure comando incluye parámetros diferentes enAWS ParallelCluster 3 en comparación conAWS ParallelCluster 2. Para obtener más información, consulte pcluster configure.

Tenga en cuenta también que la sintaxis del archivo de configuración ha cambiado deAWS ParallelCluster 2. Para obtener una referencia completa de los parámetros de configuración del clúster, consulteArchivo de configuración de clústeres.

Crear un nuevo clúster

AWS ParallelClusterElpcluster create comando 2 ha sido reemplazado por el pcluster create-clustercomando.

Tenga en cuenta que el comportamiento predeterminado en laAWS ParallelCluster versión 2.x, sin la-nw opción, es esperar a que se produzcan los eventos de creación del clúster, mientras que el comandoAWS ParallelCluster 3.x se devuelve inmediatamente. El progreso de la creación del clúster se puede supervisar mediante pcluster describe-cluster.

Un archivo de configuraciónAWS ParallelCluster 3 contiene una única definición de clúster, por lo que el-t parámetro ya no es necesario.

A continuación se muestra un ejemplo de archivo

# AWS ParallelCluster v2 $ pcluster create \ -r REGION \ -c V2_CONFIG_FILE \ -nw \ -t CLUSTER_TEMPLATE \ CLUSTER_NAME # AWS ParallelCluster v3 $ pcluster create-cluster \ --region REGION \ --cluster-configuration V3_CONFIG_FILE \ --cluster-name CLUSTER_NAME

Listar clústeres

El comandopcluster listAWS ParallelCluster 2.x se debe reemplazar por el pcluster list-clusterscomando.

Nota: Necesita la CLIAWS ParallelCluster v2 para enumerar los clústeres creados con las versiones 2.x deAWS ParallelCluster. InstalaciónAWS ParallelCluster en un entorno virtual (recomendado)Consulte cómo instalar varias versiones delAWS ParallelCluster uso de entornos virtuales.

# AWS ParallelCluster v2 $ pcluster list -r REGION # AWS ParallelCluster v3 $ pcluster list-clusters --region REGION

Iniciar y detener un clúster

Los comandospcluster start ypcluster stopAWS ParallelCluster 2.x se deben reemplazar por pcluster update-compute-fleetcomandos.

Iniciar una flota de cómputos:

# AWS ParallelCluster v2 $ pcluster start \ -r REGION \ CLUSTER_NAME # AWS ParallelCluster v3 - Slurm fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status START_REQUESTED # AWS ParallelCluster v3 - AWS Batch fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status ENABLED

Detener una flota de cómputos:

# AWS ParallelCluster v2 $ pcluster stop \ -r REGION \ CLUSTER_NAME # AWS ParallelCluster v3 - Slurm fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status STOP_REQUESTED # AWS ParallelCluster v3 - AWS Batch fleets $ pcluster update-compute-fleet \ --region REGION \ --cluster-name CLUSTER_NAME \ --status DISABLED

Conectarse a un clúster

El comandopcluster sshAWS ParallelCluster 2.x tiene diferentes nombres de parámetros enAWS ParallelCluster 3.x. Consulte pcluster ssh.

Conexión a un clúster:

# AWS ParallelCluster v2 $ pcluster ssh \ -r REGION \ CLUSTER_NAME \ -i ~/.ssh/id_rsa # AWS ParallelCluster v3 $ pcluster ssh \ --region REGION \ --cluster-name CLUSTER_NAME \ -i ~/.ssh/id_rsa

Actualización

A partir de la versión 3.0.0,AWS ParallelCluster se introdujo la posibilidad de restringir el acceso al IMDS del nodo principal (y a las credenciales del perfil de la instancia) a un subconjunto de superusuarios, de forma predeterminada. Para obtener más información, consulte Propiedades de Imds.