Gerenciar eventos de manutenção do host da GPU

Este documento discute como minimizar as interrupções das cargas de trabalho de GPU durante um evento de manutenção.

Quando o Compute Engine realiza manutenção em uma instância do Compute Engine com unidades de processamento gráfico (GPUs) anexadas, a instância de computação precisa ser interrompida. Isso ocorre porque as instâncias de computação com GPUs anexadas não podem ser migradas em tempo real.

Defina essas instâncias de computação para interromper os eventos de manutenção de host. É possível configurar as instâncias de computação interrompidas para que sejam reiniciadas automaticamente após a conclusão do evento de manutenção.

Os eventos de manutenção do host geralmente ocorrem uma vez a cada duas semanas, mas podem ser executados com mais frequência. As instâncias de computação com GPUs anexadas podem levar até uma hora para serem encerradas após falhas ou erros de host.

Receber avisos com antecedência antes de eventos de manutenção

Você pode monitorar o cronograma de manutenção da instância do Compute Engine e preparar as cargas de trabalho para a transição durante a reinicialização do sistema.

Para receber aviso antecipado de eventos do host, monitore o valor de metadados /computeMetadata/v1/instance/maintenance-event. Se a solicitação ao servidor de metadados retornar NONE, a instância de computação não estará programada para ser interrompida. Por exemplo, execute o seguinte comando em uma instância de computação:

curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event -H "Metadata-Flavor: Google"

NONE

Se o servidor de metadados retornar TERMINATE_ON_HOST_MAINTENANCE, a instância de computação estará programada para ser encerrada. Para instâncias de computação com GPUs anexadas, o Compute Engine envia essa notificação uma hora antes da interrupção.

Para algumas séries de máquinas com GPU, como a A3, o Compute Engine envia uma notificação sobre a manutenção futura com mais de uma hora de antecedência usando o atributo de metadados upcoming-maintenance. Para saber mais, consulte Monitorar e planejar um evento de manutenção do host.

Configure seu aplicativo para a transição durante o evento de manutenção. Por exemplo, é possível usar uma das técnicas a seguir:

Use esses avisos para configurar seu aplicativo para a transição durante eventos de manutenção do host. Por exemplo, consulte Migrar seus dados temporários dos discos SSD locais neste documento.

Migrar seus dados temporários dos discos SSD locais

Devido à permanência de dados do SSD local, os dados em qualquer disco SSD local anexado a uma instância de computação são irrecuperáveis sempre que o Compute Engine interrompe a instância de computação para eventos de manutenção do host. Se quiser evitar a perda de dados, configure sua carga de trabalho para migrar os dados dos discos SSD locais antes que a instância de computação seja interrompida. Por exemplo, é possível usar uma das técnicas a seguir:

  • Configure seu aplicativo para migrar o trabalho em andamento temporariamente para um bucket do Cloud Storage e, em seguida, recupere esses dados após a reinicialização da instância de computação.

  • Grave os dados em um disco permanente secundário. Quando a instância de computação reiniciar automaticamente, o Persistent Disk poderá ser reanexado e o aplicativo retomará o trabalho.

A seguir