View a markdown version of this page

Substitua ou reinicialize manualmente um nó usando o Slurm - SageMaker IA da Amazon

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á.

Substitua ou reinicialize manualmente um nó usando o Slurm

Esta seção fala sobre quando você deve reinicializar ou substituir manualmente um nó, com instruções sobre como fazer as duas coisas.

Quando reinicializar ou substituir manualmente um nó

A funcionalidade de HyperPod retomada automática monitora se o estado dos seus nós do Slurm muda para ou. fail down Você pode verificar o estado dos nós do Slurm executando sinfo.

Se um nó permanecer preso ou sem resposta e o processo de retomada automática não o recuperar, você poderá iniciar a recuperação manualmente. A escolha entre reinicializar e substituir um nó depende da natureza do problema. Considere a reinicialização ao enfrentar problemas temporários ou relacionados ao software, como travamentos do sistema, vazamentos de memória, problemas no driver da GPU, atualizações do kernel ou processos interrompidos. No entanto, se você encontrar problemas persistentes ou relacionados ao hardware, como falhas, falhas de memória ou de rede GPUs, falhas repetidas na verificação de integridade ou nós que permanecem sem resposta após várias tentativas de reinicialização, a substituição do nó é a solução mais apropriada.

Formas de reinicializar ou substituir manualmente os nós

SageMaker HyperPod oferece dois métodos para recuperação manual de nós. A abordagem preferida é usar o SageMaker HyperPod Reboot and Replace APIs, que fornece um processo de recuperação mais rápido e transparente que funciona em todos os orquestradores. Como alternativa, você pode usar comandos tradicionais do Slurmscontrol update, como, embora esse método legado exija acesso direto ao nó controlador do Slurm. Ambos os métodos ativam os mesmos processos SageMaker HyperPod de recuperação.

Reinicialize manualmente um nó usando a API de reinicialização

Você pode usar o BatchRebootClusterNodespara reinicializar manualmente um nó com defeito no seu SageMaker HyperPod cluster.

Aqui está um exemplo de como executar a operação de reinicialização em duas instâncias de um cluster usando o AWS Command Line Interface:

aws sagemaker batch-reboot-cluster-nodes \ --cluster-name arn:aws:sagemaker:ap-northeast-1:123456789:cluster/test-cluster \ --node-ids i-0123456789abcdef0 i-0fedcba9876543210

Substituir manualmente um nó usando a API de substituição

Você pode usar o BatchReplaceClusterNodespara substituir manualmente um nó com defeito no seu SageMaker HyperPod cluster.

Aqui está um exemplo de execução da operação de substituição em duas instâncias de um cluster usando o AWS Command Line Interface:

aws sagemaker batch-replace-cluster-nodes \ --cluster-name arn:aws:sagemaker:ap-northeast-1:123456789:cluster/test-cluster \ --node-ids i-0123456789abcdef0 i-0fedcba9876543210

Reinicialize manualmente um nó usando o Slurm

Você também pode usar os comandos scontrol Slurm para acionar a recuperação do nó. Esses comandos interagem diretamente com o plano de controle do Slurm e invocam os mesmos mecanismos de recuperação subjacentes SageMaker HyperPod .

No comando a seguir, <ip-ipv4>substitua pelo nome do nó Slurm (nome do host) da instância com defeito que você deseja reinicializar.

scontrol update node=<ip-ipv4> state=fail reason="Action:Reboot"

Isso marca o nó como FAIL com o motivo especificado. SageMaker HyperPod detecta isso e reinicia a instância. Evite alterar o estado do nó ou reiniciar o controlador Slurm durante a operação.

Substituir manualmente um nó usando o Slurm

Você pode usar o comando scontrol update da seguinte forma para substituir um nó.

No comando a seguir, <ip-ipv4> substitua pelo nome do nó Slurm (nome do host) da instância com defeito que você deseja substituir.

scontrol update node=<ip-ipv4> state=fail reason="Action:Replace"

Depois de executar esse comando, o nó entrará no fail estado, aguardará a conclusão dos trabalhos atualmente em execução, será substituído por uma instância íntegra e será recuperado com o mesmo nome de host. Esse processo leva tempo, dependendo das instâncias disponíveis em sua zona de disponibilidade e do tempo necessário para executar seus scripts de ciclo de vida. Durante os processos de atualização e substituição, evite alterar o estado do nó manualmente novamente ou reiniciar o controlador Slurm; isso pode causar uma falha na substituição. Se o nó não for recuperado nem voltar ao estado idle após um longo período, entre em contato com a Ajuda da AWS.

Forçar manualmente a mudança de um nó

Se o nó com defeito estiver continuamente preso no estado fail, o último recurso que você pode tentar é forçar manualmente a alteração do estado do nó para down. Isso requer privilégios de administrador (permissões sudo).

Atenção

Prossiga com cuidado antes de executar o comando a seguir, pois ele força o encerramento de todas as tarefas e você poderá perder todo o trabalho não salvo.

scontrol update node=<ip-ipv4> state=down reason="Action:Replace"