Passando do 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 do AWS ParallelCluster 2.x para 3.x

As seções a seguir descrevem o que acontece quando você muda a versão 2.x para 3.x do AWS ParallelCluster, incluindo as mudanças de uma versão para outra.

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 parâmetros OnNodeStart (pre_install no AWS ParallelCluster versão 2) e OnNodeConfigured (post_install no AWS ParallelCluster versão 2) nas seções HeadNode e Scheduling / SlurmQueues. Para ter mais informações, consulte Ações de bootstrap personalizadas.

Os scripts de ações de bootstrap personalizados desenvolvidos para o AWS ParallelCluster 2 devem ser adaptados para serem usados no 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 cfn_node_type de foi alterado de "MasterServer" para "HeadNode" (consulte: Linguagem inclusiva).

  • No AWS ParallelCluster 2, o primeiro argumento de entrada para scripts de ação de bootstrap foi o URL do S3 para o script e era 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

A configuração do AWS ParallelCluster 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 configuração do AWS ParallelCluster, juntamente com exemplos lado a lado 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://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

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 o AWS ParallelCluster 2, as configurações do IAM são aplicadas a todas as instâncias de um cluster e additional_iam_policies não pode ser usado em conjunto com ec2_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 um perfil do IAM. InstanceProfile, InstanceRole ou AdditionalIamPolicies não podem ser configurados juntos.

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

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:::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

Linguagem inclusiva

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

  • A variável exportada no ambiente de trabalho AWS Batch foi alterada: de MASTER_IP para PCLUSTER_HEAD_NODE_IP.

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

  • Todos os NodeType e tags foram alterados de Master para HeadNode.

Compatibilidade com agendadores

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

Os comandos AWS Batch awsbhosts, awsbkill, awsbout, awsbqueues, awsbstat e awsbsub são distribuídos como um pacote PyPI aws-parallelcluster-awsbatch-cli separado. Este pacote é instalado pelo AWS ParallelCluster no nó principal. Você ainda pode usar esses comandos AWS Batch a partir 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 comandos (CLI) do AWS ParallelCluster 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 comando pcluster configure inclui parâmetros diferentes no AWS ParallelCluster 3 em comparação com o AWS ParallelCluster 2. Para ter mais informações, consulte pcluster configure.

Observe também que a sintaxe do arquivo de configuração foi alterada em relação ao 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

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

Observe que o comportamento padrão no AWS ParallelCluster 2.x, sem a opção -nw, é aguardar os eventos de criação do cluster, enquanto o comando do 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 parâmetro -t 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 do AWS ParallelCluster 2.x deve ser substituído pelo comando pcluster list-clusters.

Observação: você precisa da CLI do 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 pcluster start e pcluster stop do AWS ParallelCluster 2.x devem ser substituídos por comandos pcluster update-compute-fleet.

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 do AWS ParallelCluster 2.x tem nomes de parâmetros diferentes no 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, o AWS ParallelCluster introduziu compatibilidade para restringir o acesso ao IMDS do nó principal (e às credenciais do perfil de instância) a um subconjunto de superusuários, por padrão. Para ter mais informações, consulte Propriedades do Imds.

Regiões compatíveis do AWS ParallelCluster

AWS ParallelCluster versão 3 está disponível nas seguintes Regiões da AWS:

Nome da região Região
Leste dos EUA (Ohio) us-east-2
Leste dos EUA (N. da Virgínia) us-east-1
Oeste dos EUA (N. da Califórnia) us-west-1
Oeste dos EUA (Oregon) us-west-2
África (Cidade do Cabo) af-south-1
Ásia-Pacífico (Hong Kong) ap-east-1
Ásia-Pacífico (Mumbai) ap-south-1
Ásia-Pacífico (Seul) ap-northeast-2
Ásia-Pacífico (Singapura) ap-southeast-1
Ásia-Pacífico (Sydney) ap-southeast-2
Ásia-Pacífico (Tóquio) ap-northeast-1
Canadá (Central) ca-central-1
China (Pequim) cn-north-1
China (Ningxia) cn-northwest-1
Europa (Frankfurt) eu-central-1
Europa (Irlanda) eu-west-1
Europa (Londres) eu-west-2
Europa (Milão) eu-south-1
Europa (Paris) eu-west-3
Europa (Estocolmo) eu-north-1
Oriente Médio (Barém) me-south-1
América do Sul (São Paulo) sa-east-1
AWS GovCloud (Leste dos EUA) us-gov-east-1
AWS GovCloud (Oeste dos EUA) us-gov-west-1
Israel (Tel Aviv) il-central-1