Entender os modelos de uso de cache

Os modelos de uso de cache permitem personalizar a forma como o Azure HPC Cache armazena arquivos para acelerar seu fluxo de trabalho.

Conceitos básicos de cache de arquivos

O cache de arquivos é a forma como o Azure HPC Cache acelera as solicitações do cliente. Ele usa estas práticas básicas:

  • Cache de leitura – o Azure HPC Cache mantém uma cópia dos arquivos que os clientes solicitam do sistema de armazenamento. Na próxima vez que um cliente solicitar o mesmo arquivo, o HPC Cache poderá fornecer a versão que já possui, sem precisar buscar o arquivo novamente do sistema de armazenamento de back-end. As solicitações de gravação são transmitidas para o sistema de armazenamento de back-end.

  • Cache de gravação – opcionalmente, o Azure HPC Cache pode armazenar uma cópia de todos os arquivos alterados enviados dos computadores cliente. Se vários clientes alterarem o mesmo arquivo em um curto período, o cache poderá coletar todas essas alterações sem precisar gravá-las individualmente no sistema de armazenamento de back-end. Após um período especificado sem alterações, o cache move o arquivo para o sistema de armazenamento de longo prazo.

  • Temporizador de verificação: a configuração do temporizador de verificação determina a frequência com que o cache compara a cópia local de um arquivo com a versão remota no sistema de armazenamento de back-end. Se a cópia de back-end for mais recente do que aquela armazenada em cache, o cache buscará a cópia remota e a armazenará para solicitações futuras.

    A configuração do temporizador de verificação mostra quando o cache compara automaticamente os respectivos arquivos com os arquivos de origem do armazenamento remoto. No entanto, você pode forçar o Azure HPC Cache a comparar arquivos executando uma operação de diretório que inclui uma solicitação readdirplus. Readdirplus é uma API NFS padrão (também chamada de leitura estendida) que retorna metadados do diretório, o que faz com que o cache compare e atualize arquivos.

  • Temporizador de write-back: para um cache com cache de leitura/gravação, o temporizador de write-back é o tempo máximo em segundos que o cache aguarda antes de copiar um arquivo alterado para o sistema de armazenamento de back-end.

Os modelos de uso incorporados ao Azure HPC Cache têm valores diferentes para essas configurações, para que se possa escolher a melhor combinação para o momento.

Escolha o modelo de uso certo para o seu fluxo de trabalho

Você deve escolher um modelo de uso para cada destino de armazenamento do protocolo NFS usado. Os destinos do Armazenamento de Blobs do Azure têm um modelo de uso interno que não pode ser personalizado.

Os modelos de uso de HPC Cache permitem escolher como equilibrar a resposta rápida e o risco de obter dados obsoletos. Se você quiser otimizar a velocidade de leitura de arquivos, talvez possa abrir mão da verificação dos arquivos no cache em relação aos arquivos de back-end. Por outro lado, se você quiser garantir que os arquivos estejam sempre atualizados com o armazenamento remoto, escolha um modelo e defina o temporizador de verificação com um número baixo para verificá-lo com frequência.

Estas são as opções de modelos de uso:

  • Cache somente leitura: use essa opção se desejar acelerar o acesso de leitura aos arquivos. Escolha essa opção quando o fluxo de trabalho envolver operações mínimas de gravação, como 0% a 5%.

    Essa opção armazena em cache as leituras do cliente, mas não as gravações. Grava a passagem para o armazenamento de back-end.

    Os arquivos armazenados no cache não são automaticamente comparados aos arquivos no volume de armazenamento NFS. (Leia a descrição do temporizador de verificação acima para saber como compará-los manualmente.)

    Ao escolher a opção Cache somente leitura, você poderá alterar o temporizador de verificação. O valor padrão é 30 segundos. O valor precisa ser um inteiro (sem decimais) entre 1 e 31.536.000 segundos (1 ano), inclusive.

  • Cache de leitura/gravação: essa opção armazena operações de leitura e gravação em cache. Com essa opção, a maioria dos clientes devem acessar os arquivos por meio do Azure HPC Cache, em vez de montar o armazenamento de back-end diretamente. Os arquivos armazenados em cache terão alterações recentes ainda não copiadas para o back-end.

    Nesse modelo de uso, por padrão, os arquivos do cache só são verificados em relação aos arquivos do armazenamento de back-end a cada oito horas. Pressupõe-se que a versão em cache do arquivo seja mais atual. Por padrão, um arquivo modificado no cache é gravado no sistema de armazenamento de back-end após permanecer no cache por uma hora.

    Ao escolher a opção Cache de leitura/gravação, você poderá alterar o temporizador de verificação e o temporizador de write-back. O valor padrão do temporizador de verificação é de 28.800 segundos (oito horas). O valor precisa ser um inteiro (sem decimais) entre 1 e 31.536.000, inclusive. O valor padrão do temporizador de write-back é de 3.600 segundos (uma hora). O valor precisa ser um inteiro (sem decimais) entre 1 e 31.536.000 segundos (1 ano), inclusive.

Esta tabela resume as diferenças dos modelos de uso:

Modelo de uso Modo de cache Temporizador de verificação Temporizador de write-back
Cache somente leitura Ler 30 segundos Nenhum
Cache de leitura/gravação Leitura/gravação 8 horas 1 hora

Aviso

A alteração dos modelos de uso causa uma interrupção do serviço. Os clientes do HPC Cache não receberão respostas durante a transição do modelo de uso. Se você precisar alterar os modelos de uso, recomendamos que a alteração seja feita durante uma janela de manutenção agendada para evitar a interrupção do cliente.

Em caso de dúvidas sobre o melhor modelo de uso para o fluxo de trabalho do Azure HPC Cache, fale com seu representante do Azure ou abra uma solicitação de suporte para obter ajuda.

Dica

Um utilitário está disponível para gravar arquivos individuais específicos em um destino de armazenamento sem gravar todo o conteúdo do cache. Saiba mais sobre o script flush_file.py em Personalizar o write-back de arquivo no Azure HPC Cache.

Próximas etapas