Passando de AWS ParallelCluster 2.x para 3.x - AWS ParallelCluster

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Passando de AWS ParallelCluster 2.x para 3.x

Ações de bootstrap personalizadas

Com o AWS ParallelCluster 3, você pode especificar diferentes scripts de ações de bootstrap personalizados para o nó principal e os nós de computação usando OnNodeStart (pre_installna AWS ParallelCluster versão 2) e OnNodeConfigured (post_installna AWS ParallelCluster versão 2) parâmetros nas seções HeadNodee Scheduling//SlurmQueues. Para ter mais informações, consulte Ações de bootstrap personalizadas.

Os scripts de ações de bootstrap personalizados desenvolvidos para AWS ParallelCluster 2 devem ser adaptados para serem usados em AWS ParallelCluster 3:

  • Não recomendamos usar /etc/parallelcluster/cfnconfig e cfn_node_type para diferenciar entre nós principais e de computação. Em vez disso, recomendamos que você especifique dois scripts diferentes em HeadNode e Scheduling / SlurmQueues.

  • Se você preferir continuar carregando /etc/parallelcluster/cfnconfig para uso em seu script de ações de bootstrap, observe que o valor de cfn_node_type foi alterado de "MasterServer" para "HeadNode" (consulte:Linguagem inclusiva).

  • Em AWS ParallelCluster 2, o primeiro argumento de entrada para scripts de ação de bootstrap foi a URL do S3 para o script e foi reservado. No AWS ParallelCluster 3, somente os argumentos definidos na configuração são passados para os scripts.

Atenção

O uso de variáveis internas fornecidas pelo arquivo /etc/parallelcluster/cfnconfig não é oficialmente compatível. Esse arquivo pode ser removido como parte de uma versão futura.

AWS ParallelCluster 2.x e 3.x usam sintaxe de arquivo de configuração diferente

AWS ParallelCluster A configuração 3.x usa a sintaxe YAML. A referência completa pode ser encontrada em Arquivos de configuração.

Além de exigir um formato de arquivo YAML, várias seções de configuração, definições de atributos e valores de parâmetros foram atualizados na versão AWS ParallelCluster 3.x. Nesta seção, observamos as principais mudanças na AWS ParallelCluster configuração, juntamente com side-by-side exemplos que ilustram essas diferenças em cada versão do AWS ParallelCluster.

Exemplo de configuração de várias filas do programador com hyperthreading ativado e desativado

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

Exemplo da nova configuração do sistema de arquivos FSx para 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

Exemplo de uma configuração de cluster montando um sistema de arquivos FSx para 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

Exemplo de um cluster com a pilha de software Intel HPC Platform Specification

AWS ParallelCluster 2:

[cluster default] enable_intel_hpc_platform = true ...

AWS ParallelCluster 3:

... AdditionalPackages: IntelSoftware: IntelHpcPlatform: true

Observações:

Exemplo de configurações personalizadas do IAM, incluindo: perfil da instância, função da instância, políticas adicionais para instâncias e o perfil das funções do lambda associadas ao cluster

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

Observações:

  • Para AWS ParallelCluster 2, as configurações do IAM são aplicadas a todas as instâncias de um cluster e não additional_iam_policies podem ser usadas em conjunto comec2_iam_role.

  • Para AWS ParallelCluster 3, você pode ter configurações de IAM diferentes para nós principais e de computação e até mesmo especificar configurações de IAM diferentes para cada fila de computação.

  • Para AWS ParallelCluster 3, você pode usar um perfil de instância do IAM como alternativa a uma função do IAM. InstanceProfile, InstanceRole ou não AdditionalIamPolicies podem ser configurados juntos.

Exemplo de ações de bootstrap 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

Exemplo de um cluster com acesso de leitura e gravação aos recursos do bucket do 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

Linguagem inclusiva

AWS ParallelCluster 3 usa as palavras “nó principal” em lugares onde “mestre” foi usado em AWS ParallelCluster 2. Essa transmissão inclui o seguinte:

  • Variável exportada no ambiente de AWS Batch trabalho alterada: de MASTER_IP paraPCLUSTER_HEAD_NODE_IP.

  • Todas as AWS CloudFormation saídas foram alteradas de Master* paraHeadNode*.

  • Tudo NodeType e as tags foram alteradas de Master paraHeadNode.

Compatibilidade com programadores

AWS ParallelCluster 3.x não suporta programadores Son of Grid Engine (SGE) e Torque.

Os AWS Batch comandosawsbhosts,awsbkill,awsbout, awsbqueuesawsbstat, e awsbsub são distribuídos como um pacote aws-parallelcluster-awsbatch-cli PyPI separado. Este pacote é instalado pelo AWS ParallelCluster no nó principal. Você ainda pode usar esses AWS Batch comandos do nó principal do cluster. No entanto, se você deseja usar comandos AWS Batch de um local diferente do nó principal, você deve primeiro instalar o pacote PyPI aws-parallelcluster-awsbatch-cli.

AWS ParallelCluster CLI

A interface de linha de AWS ParallelCluster comando (CLI) foi alterada. A nova sintaxe é descrita em Comandos da CLI do AWS ParallelCluster. O formato de saída para a CLI é uma string JSON.

Como configurar um novo cluster

O pcluster configure comando inclui parâmetros diferentes em AWS ParallelCluster 3 em comparação com AWS ParallelCluster 2. Para ter mais informações, consulte pcluster configure.

Observe também que a sintaxe do arquivo de configuração foi alterada de AWS ParallelCluster 2. Para obter uma referência completa das configurações do cluster, consulte Arquivo de configuração do cluster.

Como criar um novo cluster

AWS ParallelCluster O pcluster create comando do 2 foi substituído pelo pcluster create-clustercomando.

Observe que o comportamento padrão no AWS ParallelCluster 2.x, sem a -nw opção, é aguardar os eventos de criação do cluster, enquanto o comando AWS ParallelCluster 3.x retorna imediatamente. O progresso da criação do cluster pode ser monitorado usando pcluster describe-cluster.

Um arquivo de configuração AWS ParallelCluster 3 contém uma única definição de cluster, portanto, o -t parâmetro não é mais necessário.

Veja a seguir um exemplo do arquivo de configuração.

# 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

Como listar clusters

O comando pcluster list AWS ParallelCluster 2.x deve ser substituído pelo pcluster list-clusterscomando.

Observação: você precisa da CLI AWS ParallelCluster v2 para listar clusters criados com versões 2.x do. AWS ParallelCluster Consulte Instalar AWS ParallelCluster em um ambiente virtual (recomendado) para ver como instalar várias versões do AWS ParallelCluster usando ambientes virtuais.

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

Como iniciar e interromper um cluster

Os comandos A pcluster start e pcluster stop AWS ParallelCluster 2.x devem ser substituídos por pcluster update-compute-fleetcomandos.

Iniciando uma frota de computação:

# 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

Interrompendo uma frota de computação:

# 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

Conexão com um cluster

O comando pcluster ssh AWS ParallelCluster 2.x tem nomes de parâmetros diferentes em AWS ParallelCluster 3.x. Consulte pcluster ssh.

Conexão com um cluster:

# 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

Atualização da configuração do IMDS

A partir da versão 3.0.0, AWS ParallelCluster introduziu o suporte para restringir o acesso ao IMDS do nó principal (e às credenciais do perfil da instância) a um subconjunto de superusuários, por padrão. Para ter mais informações, consulte Propriedades do Imds.