Sobre o projeto
O NVSentinel é um projeto de código aberto da NVIDIA para confiabilidade de infraestrutura de GPU no Kubernetes. Ele resolve o problema de uma única GPU defeituosa corromper silenciosamente execuções de treinamento ou deixar nós ociosos: o sistema detecta falhas conforme ocorrem, protege as cargas de trabalho isolando e drenando o nó afetado, e o corrige por meio de uma reinicialização direcionada da GPU ou um reboot completo, devolvendo-o ao serviço sem acionamento manual.
Capacidades principais:
- Detectar: detecção de falhas de GPU, NIC e em nível de sistema em tempo real por meio de DCGM, syslog/journalctl, eventos de manutenção de provedores de nuvem, monitoramento de objetos do Kubernetes e análise de eventos de saúde baseada em padrões.
- Proteger: isolar o nó defeituoso para que o agendador pare de colocar novos trabalhos nele e, opcionalmente, drenar as cargas de trabalho existentes. O modo somente isolamento é possível omitindo o drenador de nós.
- Corrigir: reparo automático por meio de um job privilegiado no nó (reinicialização da GPU ou reboot), com integração opcional de API de provedor de nuvem para reboots.
- Preflight (opcional): um contêiner de inicialização que verifica a prontidão do nó antes de um job começar, usando agendamento em gangue do Kubernetes; habilitado por namespace por meio de um rótulo.
Arquitetura: módulos independentes coordenados por meio de um armazenamento de eventos MongoDB compartilhado e da API do Kubernetes, sem comunicação direta entre módulos. Monitores de saúde (GPU, syslog, CSP, NIC, analisador de eventos de saúde, monitor de objetos do Kubernetes) enviam eventos via gRPC para conectores de plataforma, que os persistem e atualizam condições e eventos de nós. Componentes de gerenciamento de falhas (quarentena de falhas, drenador de nós, correção de falhas, janitor) reconciliam mudanças do armazenamento e agem na API do Kubernetes. O design é extensível com monitores de saúde, estratégias de drenagem e ações de correção plugáveis.
Pré-requisitos: Kubernetes 1.34+, Helm 3.0+, NVIDIA GPU Operator com modo autônomo do DCGM habilitado (dcgm.enabled=true), cert-manager v1.21+ e armazenamento persistente para um banco de dados.
Instalação e adoção: um único comando Helm instala ou atualiza o NVSentinel a partir de um gráfico OCI. Por padrão, apenas o monitoramento de saúde é habilitado, o que não é disruptivo. Os usuários podem habilitar progressivamente isolamento, drenagem, correção, janitor e preflight por meio de valores do Helm. Uma demonstração local de injeção de falhas é executada em um cluster KIND sem hardware de GPU, usando DCGM simulado para demonstrar detecção, quarentena e isolamento.
Hardware suportado: validado nas arquiteturas NVIDIA Volta, Ampere, Hopper, Ada Lovelace e Blackwell. A distribuição é exclusivamente por meio do gráfico Helm OCI, imagens de contêiner no GHCR, GitHub Releases e o site oficial de documentação; as imagens de contêiner carregam SBOM CycloneDX assinado com Sigstore e atestados de proveniência de build SLSA. O projeto é licenciado sob Apache 2.0 e é descrito como pronto para testes em produção, com APIs e configurações sujeitas a alterações entre versões.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.