Configurações baseadas em perfil para cargas de trabalho de IA/ML

As configurações baseadas em perfil no Cloud Storage FUSE permitem aplicar um conjunto predefinido e otimizado de recursos para armazenamento em cache, threading e tamanhos de buffer com base no tipo de carga de trabalho de inteligência artificial ou machine learning (IA/ML). Os perfis ajudam a simplificar a configuração do Cloud Storage FUSE e a alcançar alto desempenho com menos esforço.

Para aplicar um perfil, use o campo profile ou a opção --profile com um dos seguintes valores: aiml-training para cargas de trabalho de treinamento, aiml-checkpointing para cargas de trabalho de checkpoint ou aiml-serving para cargas de trabalho de disponibilização.

Considerações

  • Só é possível definir a opção --profile ou o campo profile durante uma operação de montagem. Se você precisar atualizar a opção --profile ou o campo profile, será necessário remontar o bucket do Cloud Storage FUSE.

  • Quando você usa configurações baseadas em perfil, o Cloud Storage FUSE define a capacidade do cache de metadados e o time to live (TTL) como ilimitados, o que significa que as entradas nunca são removidas do cache de metadados. Se a máquina virtual não tiver memória suficiente, talvez ocorram erros de falta de memória (OOM, na sigla em inglês). Portanto, recomendamos revisar sua capacidade de memória antes de aplicar configurações baseadas em perfil. Os erros de OOM têm mais probabilidade de ocorrer em máquinas com menos de um TiB de memória.

  • Quando um parâmetro do Cloud Storage FUSE é configurado de várias maneiras, a seguinte ordem de precedência é aplicada (da mais alta para a mais baixa):

    1. Valores definidos diretamente em um comando gcsfuse ou em um arquivo de configuração do Cloud Storage FUSE.
    2. Valores definidos por um perfil, em que o perfil é especificado usando a opção --profile em um comando gcsfuse ou o campo profile em um arquivo de configuração do Cloud Storage FUSE.
    3. Valores padrão aplicados automaticamente quando o Cloud Storage FUSE detecta um tipo de máquina de alto desempenho. Para mais informações, consulte Valores de configuração automatizados para tipos de máquina de alto desempenho.
  • Os volumes CSI do Cloud Storage FUSE em pods do Google Kubernetes Engine não são compatíveis com o campo profile ou a opção --profile.

  • Não é possível ativar o armazenamento em cache de arquivos usando configurações baseadas em perfil porque ele requer o uso de campos de configuração do Cloud Storage FUSE e opções da CLI do Cloud Storage FUSE que não podem ser generalizadas. Para ativar o armazenamento em cache de arquivos para cargas de trabalho de exibição, treinamento ou checkpoint, é necessário configurar as opções ou os campos de armazenamento em cache de arquivos explicitamente.

Aplicar configurações baseadas em perfil para cargas de trabalho de treinamento

O perfil específico de treinamento otimiza o desempenho para leituras de alta capacidade de processamento de grandes conjuntos de dados e evita que o hardware das Cloud GPUs e Cloud TPU fique esperando dados.

Para aplicar o perfil específico de treinamento, especifique profile: aiml-training usando um arquivo de configuração do Cloud Storage FUSE ou --profile=aiml-training usando a CLI do Cloud Storage FUSE. As seguintes configurações são aplicadas:

   # Create implicit directories locally when accessed:
   - implicit-dirs
   # Disable caching for lookups of files or directories that don't exist:
   - metadata-cache:negative-ttl-secs:0
   # Keep cached metadata (file attributes, types) indefinitely time-wise:
   - metadata-cache:ttl-secs:-1
   # Allow unlimited size for the file attribute (stat) cache:
   - metadata-cache:stat-cache-max-size-mb:-1

Aplicar configurações baseadas em perfil para cargas de trabalho de checkpointing

O perfil específico de checkpoint otimiza o desempenho para gravações de alta capacidade de processamento em arquivos grandes, reduzindo drasticamente o tempo necessário para salvar checkpoints de vários gigabytes e minimizando as pausas no treinamento.

Para aplicar o perfil específico de checkpoint, especifique profile: aiml-checkpointing usando um arquivo de configuração do Cloud Storage FUSE ou --profile=aiml-checkpointing usando a CLI do Cloud Storage FUSE. As seguintes configurações são aplicadas:

  # Create implicit directories locally when accessed:
  - implicit-dirs
  # Disable caching for lookups of files/dirs that don't exist:
  - metadata-cache:negative-ttl-secs:0
  # Keep cached metadata (file attributes, types) indefinitely time-wise:
  - metadata-cache:ttl-secs:-1
  # Allow unlimited size for the file attribute (stat) cache:
  - metadata-cache:stat-cache-max-size-mb:-1
  # Cache the entire file when any part is read sequentially:
  - file-cache:cache-file-for-range-read:true
  # Allow renaming directories with a lot of files in non-HNS buckets.
  - file-system:rename-dir-limit:200000

Aplicar configurações baseadas em perfil para veicular cargas de trabalho

A veiculação otimiza o desempenho para veicular cargas de trabalho, melhorando os mecanismos de acesso e armazenamento em cache de dados.

Para aplicar o perfil específico de exibição, especifique profile: aiml-serving usando um arquivo de configuração do Cloud Storage FUSE ou --profile=aiml-serving usando a CLI do Cloud Storage FUSE. As seguintes configurações são aplicadas:

  # Create implicit directories locally when accessed:
  - implicit-dirs
  # Disable caching for lookups of files/dirs that don't exist:
  - metadata-cache:negative-ttl-secs:0
  # Keep cached metadata (file attributes, types) indefinitely time-wise:
  - metadata-cache:ttl-secs:-1
  # Allow unlimited size for the file attribute (stat) cache:
  - metadata-cache:stat-cache-max-size-mb:-1
  # Cache the entire file when any part is read sequentially:
  - file-cache:cache-file-for-range-read:true
  # Enable kernel-list-cache to make listing faster as this is a readonly file system hierarchy.
  - file-system:kernel-list-cache-ttl-secs:-1

A seguir