A Amazon Web Services (AWS) anunciou suporte ao SOCI snapshotter e índice nas suas imagens Deep Learning AMIs (DLAMI) e Deep Learning Containers (DLC). Essa novidade traz uma redução significativa nos tempos de cold start de containers, um desafio crítico para workloads de inteligência artificial (IA) e machine learning (ML) em escala.

\n\n

O que é SOCI e como melhora a inicialização de containers

\n

Seekable OCI (SOCI) é uma tecnologia que permite o gerenciamento eficiente de imagens de containers por meio do download seletivo de arquivos. Utilizando um sistema de indexação baseado em camadas, o SOCI mapeia a localização dos arquivos dentro da imagem, possibilitando que o container inicie apenas com os arquivos essenciais carregados — um processo conhecido como lazy loading.

\n

Essa abordagem reduz o uso de banda de rede e acelera o tempo de inicialização dos containers, especialmente útil para organizações que lidam com imagens de containers grandes em ambientes cloud.

\n\n

Desafios que o SOCI ajuda a superar

\n

\n\n

Modos de pull disponíveis: Docker padrão, SOCI paralelo e SOCI lazy loading

\n

Ao puxar uma imagem para seus workloads, DLAMI e DLC oferecem três opções de pull:

\n

    \n

  1. Docker padrão: download sequencial e lento da imagem completa.
  2. \n

  3. SOCI parallel pull: download mais rápido via chunks paralelos, consumindo mais recursos computacionais.
  4. \n

  5. SOCI lazy loading: inicia o container quase instantaneamente puxando apenas os arquivos necessários, com o restante sendo carregado sob demanda.
  6. \n

\n

A escolha entre lazy loading e parallel pull depende do perfil da imagem, especificações da instância e desempenho do armazenamento. Instâncias com menor capacidade se beneficiam do lazy loading para economizar recursos, enquanto instâncias mais potentes tiram proveito do parallel pull para acelerar o download completo da imagem.

\n\n

Exemplos práticos de redução de tempo

\n

Lazy loading com SOCI

\n

Usando a imagem vLLM Deep Learning Container com índice SOCI, o tempo de inicialização caiu de 6 minutos e 59 segundos (pull Docker padrão) para apenas 21 segundos com lazy loading. Isso ocorre porque o snapshotter SOCI baixa somente os arquivos essenciais para iniciar o container, carregando o restante conforme a necessidade.

\n\n

Parallel pull com SOCI

\n

Em um cenário com uma imagem privada de 19,32 GB, o tempo de pull foi reduzido de 4 minutos e 44 segundos (Docker padrão) para 2 minutos e 12 segundos usando o modo paralelo do SOCI — uma melhora de 2,2 vezes no desempenho.

\n\n

Como habilitar e configurar o SOCI

\n

O SOCI snapshotter está disponível publicamente para DLAMI e Deep Learning Containers. Para ativar o modo paralelo, é necessário editar o arquivo de configuração /etc/soci-snapshotter-grpc/config.toml e reiniciar o serviço:

\n

# Habilitar modo parallel pull\n[pull_modes.parallel_pull_unpack]\nenable = true\nmax_concurrent_downloads_per_image = 20\nmax_concurrent_unpacks_per_image = 10\n

\n

Após a alteração, execute:

\n

sudo systemctl restart soci-snapshotter.service\n

\n

Para validar se o modo paralelo está ativo, monitore os logs do snapshotter:

\n

journalctl -u soci-snapshotter -f\n

\n

Procure por mensagens indicando parallel pull/unpack.

\n\n

Requisitos para usar o modo lazy loading

\n

\n\n

Impactos práticos para usuários AWS

\n

Com SOCI, organizações que rodam workloads de IA/ML na AWS podem:

\n

\n\n

Disponibilidade e acesso

\n

Deep Learning AMIs e Deep Learning Containers com suporte a SOCI estão disponíveis publicamente hoje na AWS. Para começar a usar, consulte:

\n

\n\n

Links úteis

\n

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *