Usar o armazenamento em cache de arquivos do Cloud Storage FUSE

O recurso de cache de arquivos do Cloud Storage FUSE é um cache de leitura baseado em cliente que permite repetir leituras de arquivos a serem disponibilizadas em um armazenamento de cache mais rápido de sua escolha. Nesta página, descrevemos como ativar e usar o armazenamento em cache de arquivos do Cloud Storage FUSE. Para ter uma visão geral do armazenamento em cache de arquivos, de estatísticas ou de tipos, consulte Visão geral do armazenamento em cache.

Antes de começar

O cache de arquivos exige que um caminho de diretório seja usado para armazenar arquivos em cache. É possível criar um novo diretório em um sistema de arquivos atual ou um novo no armazenamento provisionado. Se você estiver provisionando um novo armazenamento a ser usado, siga as instruções a seguir para criar um novo sistema de arquivos:

  1. Para o Google Cloud Hyperdisk, consulte Criar um novo volume do Google Cloud Hyperdisk.

  2. Para o Persistent Disk, consulte Criar um novo volume de disco permanente.

  3. Para SSDs locais, consulte Adicionar um SSD local à VM.

  4. Para discos RAM na memória, consulte Como criar discos RAM na memória.

Ativar e configurar o comportamento do armazenamento em cache

  1. Ative e configure o armazenamento em cache de arquivos usando o campo file-cache em um arquivo de configuração do Cloud Storage FUSE e especifique o diretório de cache que você quer usar no campo cache-dir. O cache de arquivos é desativado por padrão. Para ativar o armazenamento em cache de arquivos, transmita um diretório para o campo cache-dir.

  2. Opcional: configure o armazenamento em cache de estatísticas e de tipos usando o campo metadata-cache em um arquivo de configuração. Para saber mais sobre caches de estatísticas e tipos, consulte Visão geral do armazenamento em cache de tipos ou Visão geral do armazenamento em cache de estatísticas.

  3. Opcional: aumente o TTL das entradas em cache definindo a opção ttl-secs como um valor baseado no tempo esperado entre as leituras repetidas enquanto equilibra as necessidades de consistência. Recomendamos definir o valor de ttl-secs como o máximo permitido pela carga de trabalho. É possível configurar o TTL em um arquivo de configuração do Cloud Storage FUSE. Para mais informações sobre como configurar um TTL para entradas em cache, consulte Time to live.

    Por exemplo, o arquivo de configuração a seguir ativa o armazenamento em cache de arquivos, de estatísticas e de tipos com um TTL de 3600 segundos e o diretório de cache definido como /path/to/a/directory/. Observe que max-size-mb está definido como -1, o que configura o cache de arquivos para usar toda a capacidade disponível.

    file-cache:
      max-size-mb: -1
      cache-file-for-range-read: false
    
    metadata-cache:
      stat-cache-max-size-mb: 32
      ttl-secs: 3600
      type-cache-max-size-mb: 4
    
    cache-dir: /path/to/a/directory
    
  4. Opcional: acelere a leitura de arquivos grandes, incluindo a primeira leitura, ativando a propriedade enable-parallel-downloads, que usa vários workers para fazer o download de um arquivo grande em paralelo usando o diretório de cache de arquivos como um buffer de pré-busca. Para mais informações sobre downloads paralelos e como configurar as propriedades de suporte, consulte Melhore o desempenho de leitura usando downloads paralelos.

  5. Execute manualmente o comando ls -R no bucket ativado antes de executar a carga de trabalho para pré-preencher os metadados e garantir que o cache de tipos seja preenchido antes da primeira leitura em um método mais rápido e em lote. Para mais informações sobre como melhorar a performance da leitura pela primeira vez, consulte Melhorar a leitura pela primeira vez.

Fazer o download de vários arquivos em paralelo usando downloads paralelos

É possível melhorar o desempenho de leitura ativando e configurando recurso de download paralelo, que usa vários trabalhadores para baixar um arquivo em usando o diretório de cache de arquivos como buffer de pré-busca. Recomendamos o uso de downloads paralelos para cenários de leitura de linha única que carregam arquivos grandes, como a veiculação de modelos e restaurações de pontos de controle.

Antes de ativar os downloads paralelos, considere o seguinte:

  • Caso seu aplicativo tenha alto paralelismo de leitura em oito segmentos, você pode ter uma leve degradação do desempenho.

  • Não recomendamos o uso de downloads paralelos para cargas de trabalho de treinamento devido ao o alto paralelismo de leitura deles.

  • Para usar downloads paralelos, primeiro ative e configure o cache de arquivos.

  • O arquivo lido precisa caber na capacidade disponível do diretório de cache de arquivos, que pode ser controlada usando a propriedade max-size-mb.

Configurar downloads paralelos

  1. Em um arquivo de configuração do Cloud Storage FUSE, defina a propriedade enable-parallel-downloads como true e, opcionalmente, configure as seguintes configurações de suporte:

    • parallel-downloads-per-file: o número máximo de workers que podem ser gerados por arquivo para fazer o download do objeto do Cloud Storage para no cache de arquivos. O valor padrão é 16.

    • max-parallel-downloads: o número máximo de workers que podem gerados a qualquer momento em todos os jobs de download de arquivos. O padrão é definido como o dobro do número de núcleos de CPU na máquina. Para não especificar um limite, insira um valor de -1.

    • download-chunk-size-mb: o tamanho de cada solicitação de leitura em MiB que cada worker faz no Cloud Storage ao fazer o download do objeto no cache de arquivos. O tamanho padrão é 50 MiB. Um download paralelo só é acionado se o arquivo que está sendo lido tiver o tamanho especificado.

A seguir