Pasar de AWS 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.

Pasar de AWS ParallelCluster 2.x a 3.x

En las siguientes secciones se describe lo que ocurre al pasar de la versión AWS ParallelCluster 2.x a la 3.x, incluidos los cambios de una versión a otra.

Acciones personalizadas de Bootstrap

Con AWS ParallelCluster 3, puede especificar diferentes scripts de acciones de arranque personalizados para el nodo principal y los nodos de cómputo utilizando OnNodeStart (pre_installen la AWS ParallelCluster versión 2) y OnNodeConfigured (post_installen la AWS ParallelCluster versión 2) los parámetros de las secciones HeadNodey Scheduling/SlurmQueues. Para obtener más información, consulte Acciones de arranque personalizadas.

Los scripts de acciones de arranque personalizados que se han desarrollado para AWS ParallelCluster 2 deben adaptarse para su uso en AWS ParallelCluster 3:

  • No recomendamos usar /etc/parallelcluster/cfnconfig ni cfn_node_type para diferenciar entre nodos principales y de computación. En su lugar, le recomendamos que especifique dos scripts diferentes en HeadNode y Scheduling/SlurmQueues.

  • Si prefiere seguir cargando /etc/parallelcluster/cfnconfig para utilizarlos en su script de acciones de bootstrap, tenga en cuenta que el valor de cfn_node_type ha cambiado de "" a MasterServer "HeadNode"» (consulte:Lenguaje inclusivo).

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

aviso

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

AWS ParallelCluster Las versiones 2.x y 3.x utilizan una sintaxis de archivo de configuración diferente

AWS ParallelCluster La configuración 3.x usa la sintaxis. YAML La referencia completa se encuentra en Archivos de configuración.

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

Ejemplo de configuración de varias colas del programador con el hiperprocesamiento habilitado y deshabilitado

AWS ParallelCluster 2:

[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 ParallelCluster 3:

... 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 de configuración nueva FSx para el sistema de archivos de Lustre

AWS ParallelCluster 2:

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

AWS ParallelCluster 3:

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

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

AWS ParallelCluster 2:

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

AWS ParallelCluster 3:

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

Ejemplo de un clúster con la pila de software de especificación de HPC plataforma Intel

AWS ParallelCluster 2:

[cluster default] enable_intel_hpc_platform = true ...

AWS ParallelCluster 3:

... AdditionalPackages: IntelSoftware: IntelHpcPlatform: true

Notas:

Ejemplos de IAM configuraciones personalizadas, que incluyen: el perfil de la instancia, la función de la instancia, las políticas adicionales para las instancias y la función de las funciones lambda asociadas al clúster

AWS ParallelCluster 2:

[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 ParallelCluster 3:

... 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 caso AWS ParallelCluster 2, la IAM configuración se aplica a todas las instancias de un clúster y no se additional_iam_policies puede usar junto con ellasec2_iam_role.

  • En el caso de la versión AWS ParallelCluster 3, puede tener diferentes IAM configuraciones para los nodos principales y de cómputo e incluso especificar IAM configuraciones diferentes para cada cola de cómputo.

  • En el caso de AWS ParallelCluster 3, puede utilizar un perfil de IAM instancia como alternativa a un IAM rol. InstanceProfile, InstanceRole o no se AdditionalIamPolicies pueden configurar juntos.

Ejemplo de acciones de arranque personalizadas

AWS ParallelCluster 2:

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

AWS ParallelCluster 3:

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

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

AWS ParallelCluster 2:

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

AWS ParallelCluster 3:

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

Lenguaje inclusivo

AWS ParallelCluster 3 usa las palabras «nodo principal» en los lugares donde se usó «maestro» en AWS ParallelCluster 2. Esta incluye lo siguiente:

  • La variable exportada en el entorno de AWS Batch trabajo cambió: de MASTER_IP aPCLUSTER_HEAD_NODE_IP.

  • Todas las AWS CloudFormation salidas cambiaron de Master* aHeadNode*.

  • Todas NodeType y las etiquetas cambiaron de Master aHeadNode.

Soporte de programador

AWS ParallelCluster La versión 3.x no es compatible con los programadores de par Son of Grid Engine (SGE).

Los AWS Batch comandosawsbhosts,awsbkill, awsbout awsbqueuesawsbstat, y awsbsub se distribuyen como un paquete aws-parallelcluster-awsbatch-cli PyPI independiente. Este paquete lo instala AWS ParallelCluster en el nodo principal. Puede seguir utilizando estos AWS Batch comandos desde el nodo principal del clúster. Sin embargo, si desea utilizar los comandos AWS Batch desde una ubicación que no sea el nodo principal, primero debe instalar el paquete PyPI aws-parallelcluster-awsbatch-cli.

AWS ParallelCluster CLI

Se ha cambiado la interfaz de línea de AWS ParallelCluster comandos (CLI). La nueva sintaxis se describe en Comandos de la CLI de AWS ParallelCluster. El formato de salida de CLI es una JSONcadena.

Configuración de un clúster nuevo

El pcluster configure comando incluye parámetros diferentes en AWS ParallelCluster 3 en comparación con AWS 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 de AWS ParallelCluster 2. Para obtener una referencia completa de los ajustes de configuración del clúster, consulte Configuración del clúster.

Creación de un clúster

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

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

Un archivo de configuración AWS 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 de configuración.

# 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

Mostrar clústeres

El comando pcluster list AWS ParallelCluster 2.x debe sustituirse por el pcluster list-clusterscomando.

Nota: Necesita la AWS ParallelCluster versión 2 CLI para enumerar los clústeres creados con las versiones 2.x de. AWS ParallelCluster Consulte Instalar AWS ParallelCluster en un entorno virtual (recomendado) para descubrir cómo instalar varias versiones de AWS ParallelCluster usando entornos virtuales.

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

Inicio y detención de un clúster

Los comandos pcluster start y pcluster stop AWS ParallelCluster 2.x deben sustituirse por comandos. pcluster update-compute-fleet

Inicio de una flota de computación:

# 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

Detención de una flota de computación:

# 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

Conexión a un clúster

El comando pcluster ssh AWS ParallelCluster 2.x tiene diferentes nombres de parámetros en AWS 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

IMDSactualización de configuración

A partir de la versión 3.0.0, AWS ParallelCluster se introdujo la posibilidad de restringir el acceso al nodo principal IMDS (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.

Regiones compatibles para AWS ParallelCluster

AWS ParallelCluster la versión 3 está disponible en las siguientes versiones Regiones de AWS:

Nombre de la región Región
Este de EE. UU. (Ohio) us-east-2
Este de EE. UU. (Norte de Virginia) us-east-1
Oeste de EE. UU. (Norte de California) us-west-1
Oeste de EE. UU. (Oregón) us-west-2
África (Ciudad del Cabo) af-south-1
Asia-Pacífico (Hong Kong) ap-east-1
Asia Pacífico (Bombay) ap-south-1
Asia-Pacífico (Seúl) ap-northeast-2
Asia-Pacífico (Singapur) ap-southeast-1
Asia-Pacífico (Sídney) ap-southeast-2
Asia-Pacífico (Tokio) ap-northeast-1
Canadá (centro) ca-central-1
China (Beijing) cn-north-1
China (Ningxia) cn-northwest-1
Europe (Frankfurt) eu-central-1
Europa (Irlanda) eu-west-1
Europa (Londres) eu-west-2
Europa (Milán) eu-south-1
Europa (París) eu-west-3
Europa (Estocolmo) eu-north-1
Medio Oriente (Baréin) me-south-1
América del Sur (São Paulo) sa-east-1
AWS GovCloud (Este de EE. UU.) us-gov-east-1
AWS GovCloud (Estados Unidos-Oeste) us-gov-west-1
Israel (Tel Aviv) il-central-1