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.
Transición de AWS ParallelCluster 2.x a 3.x
Acciones de arranque personalizadas
Con AWS ParallelCluster 3, puede especificar diferentes scripts de acciones de arranque personalizados para el nodo principal y los nodos de computación utilizando los parámetros OnNodeStart
(pre_install
en la versión 2 de AWS ParallelCluster) y OnNodeConfigured
(post_install
en la versión 2 de AWS ParallelCluster) en las secciones HeadNode y 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
nicfn_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 usarlo en su script de acciones de arranque, tenga en cuenta que el valor decfn_node_type
ha cambiado de “MasterServer” a “HeadNode” (consulte: Lenguaje inclusivo). -
En AWS ParallelCluster 2, el primer argumento de entrada para los scripts de acciones de arranque era la URL S3 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 2.x y 3.x utilizan una sintaxis de archivo de configuración diferente
La configuración de AWS ParallelCluster 3.x usa la sintaxis YAML. La referencia completa se encuentra en Archivos de configuración.
Además de requerir un formato de archivo YAML, en 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 configuración de AWS ParallelCluster junto con ejemplos paralelos 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 nueva configuración de sistema de archivos FSx for 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://
bucket
export_path = s3://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://
bucket
ExportPath: s3://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 FSx for Lustre existente
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 plataforma Intel HPC
AWS ParallelCluster 2:
[cluster default] enable_intel_hpc_platform = true ...
AWS ParallelCluster 3:
... AdditionalPackages: IntelSoftware: IntelHpcPlatform: true
Notas:
-
La instalación del software de especificación de plataforma HPC Intel está sujeta a los términos y condiciones del acuerdo de licencia de usuario final de Intel
aplicable.
Ejemplo de configuraciones de IAM personalizadas, que incluyen: el perfil de la instancia, el rol de la instancia, las políticas adicionales para las instancias y el rol de las funciones de 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 de AWS ParallelCluster 2, la configuración de IAM se aplica a todas las instancias de un clúster y no se puede usar
additional_iam_policies
junto conec2_iam_role
. -
En el caso de AWS ParallelCluster 3, puede tener diferentes configuraciones de IAM para los nodos principales y de computación e incluso especificar diferentes configuraciones de IAM para cada cola de computación.
-
En el caso de AWS ParallelCluster 3, puede utilizar un perfil de instancia de IAM como alternativa a un rol de IAM.
InstanceProfile
,InstanceRole
oAdditionalIamPolicies
no se pueden configurar juntos.
Ejemplo de acciones de arranque personalizadas
AWS ParallelCluster 2:
[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 ParallelCluster 3:
... 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 ParallelCluster 2:
[cluster default] s3_read_resource = arn:aws:s3:::
bucket
/read_only/* s3_read_write_resource = arn:aws:s3:::bucket
/read_and_write/* ...
AWS ParallelCluster 3:
... 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 ParallelCluster 3 usa los términos “nodo principal” en los lugares donde se usó “maestro” en AWS ParallelCluster 2. Estas incluyen las siguientes:
-
La variable exportada en el entorno de trabajo de AWS Batch ha cambiado de
MASTER_IP
aPCLUSTER_HEAD_NODE_IP
. -
Todas las salidas de AWS CloudFormation han cambiado de
Master*
aHeadNode*
. -
Todos los NodeType y las etiquetas han cambiado de
Master
aHeadNode
.
Compatibilidad con el programador
AWS ParallelCluster 3.x no es compatible con los programadores Son of Grid Engine (SGE) y Torque.
Los comandos de AWS Batch awsbhosts
, awsbkill
, awsbout
, awsbqueues
, awsbstat
y awsbsub
se distribuyen como un paquete PyPI aws-parallelcluster-awsbatch-cli
independiente. Este paquete lo instala AWS ParallelCluster en el nodo principal. Puede seguir utilizando estos comandos de AWS Batch 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 la línea de comandos (CLI) de AWS ParallelCluster. La nueva sintaxis se describe en Comandos de la CLI de AWS ParallelCluster. El formato de salida de la CLI es una cadena JSON
Configuración de un clúster nuevo
El comando pcluster configure
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 desde AWS ParallelCluster 2. Para obtener una referencia completa de los ajustes de configuración del clúster, consulteConfiguración del clúster.
Creación de un clúster
El comando pcluster create
de AWS ParallelCluster 2 se ha sustituido por el comando pcluster
create-cluster.
Tenga en cuenta que el comportamiento predeterminado en AWS ParallelCluster 2.x, sin la opción -nw
, es esperar a que se creen los clústeres, mientras que el comando de AWS ParallelCluster 3.x realiza una devolución inmediata. El progreso de la creación del clúster se puede monitorear mediante pcluster describe-cluster.
Un archivo de configuración de AWS ParallelCluster 3 contiene una única definición de clúster, por lo que el parámetro -t
ya no es necesario.
A continuación, se muestra un ejemplo de archivo de configuración.
# AWS ParallelCluster v2
$
pcluster create \ -r
REGION
\ -cV2_CONFIG_FILE
\ -nw \ -tCLUSTER_TEMPLATE
\CLUSTER_NAME
# AWS ParallelCluster v3
$
pcluster create-cluster \ --region
REGION
\ --cluster-configurationV3_CONFIG_FILE
\ --cluster-nameCLUSTER_NAME
Mostrar clústeres
El comando AWS ParallelCluster de pcluster list
2.x debe sustituirse por el comando pcluster
list-clusters.
Nota: Necesita la CLI de AWS ParallelCluster versión 2 para mostrar 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 stop
y AWS ParallelCluster de pcluster start
2.x deben sustituirse por los 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-nameCLUSTER_NAME
\ --statusSTART_REQUESTED
# AWS ParallelCluster v3 - AWS Batch fleets
$
pcluster update-compute-fleet \ --region
REGION
\ --cluster-nameCLUSTER_NAME
\ --statusENABLED
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-nameCLUSTER_NAME
\ --statusSTOP_REQUESTED
# AWS ParallelCluster v3 - AWS Batch fleets
$
pcluster update-compute-fleet \ --region
REGION
\ --cluster-nameCLUSTER_NAME
\ --statusDISABLED
Conexión a un clúster
El comando AWS ParallelCluster de pcluster ssh
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-nameCLUSTER_NAME
\ -i~/.ssh/id_rsa
Actualización de la configuración de IMDS
A partir de la versión 3.0.0, AWS ParallelCluster introdujo la compatibilidad para 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.