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

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

Ações personalizadas do Bootstrap

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 obter 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 o S3 URL 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 YAML sintaxe. A referência completa pode ser encontrada em Arquivos de configuração.

Além de exigir um formato de YAML arquivo, várias seções de configuração, configurações 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 de novo FSx para a configuração do sistema de arquivos 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 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

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 IAM configurações personalizadas, incluindo: perfil da instância, função da instância, políticas adicionais para instâncias e a função das funções 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 IAM configurações são aplicadas a todas as instâncias de um cluster e não additional_iam_policies podem ser usadas em conjunto com o. ec2_iam_role

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

  • Para AWS ParallelCluster 3, você pode usar um perfil de IAM instância como alternativa a uma IAM função. 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:::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 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.

Suporte ao agendador

AWS ParallelCluster 3.x não é compatível com os agendadores 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 da 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 o CLI é uma JSONstring.

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 obter 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 AWS ParallelCluster v2 CLI 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

IMDSatualização de configuração

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

Regiões suportadas para AWS ParallelCluster

AWS ParallelCluster a versão 3 está disponível da seguinte forma 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