Entender os modelos de uso de cache

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

Conceitos básicos de cache de arquivo

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

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

  • Cache de gravação – opcionalmente, o HPC Cache do Azure pode armazenar uma cópia de todos os arquivos alterados enviados dos computadores cliente. Se vários clientes fizerem alterações no mesmo arquivo em um curto período, o cache poderá coletar todas as alterações no cache em vez de precisar gravar cada alteração individualmente no sistema de armazenamento de back-end. Depois de 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 com que frequência o cache compara sua 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 que a cópia 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 seus arquivos com arquivos de origem no 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 é a quantidade máxima de tempo em segundos que o cache aguarda antes de copiar um arquivo alterado para o sistema de armazenamento de back-end.

Os modelos de uso integrados ao HPC Cache do Azure têm valores diferentes para essas configurações para que você possa escolher a melhor combinação para sua situação.

Escolha o modelo de uso correto para o fluxo de trabalho

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

Os modelos de uso do HPC Cache permitem que você escolha como equilibrar a resposta rápida com 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 verificar se os arquivos estão sempre atualizados com o armazenamento remoto, escolha um modelo e defina o temporizador de verificação como um número baixo para verificar com frequência.

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

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

    Essa opção armazena em cache as leituras do cliente, mas não armazena gravações em cache. As escritas passam 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ê pode alterar o timer de verificação. O valor padrão é 30 segundos. O valor deve ser um inteiro (sem decimais) entre 1 e 31536000 segundos (1 ano) inclusivo.

  • Cache de leitura/gravação – essa opção armazena em cache operações de leitura e gravação. Ao usar essa opção, espera-se que a maioria dos clientes acesse arquivos por meio do HPC Cache do Azure em vez de montar o armazenamento de back-end diretamente. Os arquivos armazenados em cache terão alterações recentes que ainda não foram copiadas para o back-end.

    Nesse modelo de uso, os arquivos no cache só são verificados em relação aos arquivos no armazenamento de back-end a cada oito horas por padrão. A versão armazenada em cache do arquivo é considerada mais atual. Um arquivo modificado no cache é gravado no sistema de armazenamento de back-end depois de estar no cache por uma hora por padrão.

    Ao escolher a opção de cache de leitura/gravação , você pode 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 (8 horas). O valor deve ser um inteiro (sem decimais) entre 1 e 31536000 inclusive. O valor padrão do temporizador de write-back é de 3600 segundos (1 hora). O valor deve ser um inteiro (sem decimais) entre 1 e 31536000 segundos (1 ano) inclusivo.

Esta tabela resume as diferenças do modelo de uso:

Modelo de uso Modo de cache Temporizador de verificação Temporizador do write-back
Cache somente leitura Ler 30 segundos None
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, é recomendável que a alteração seja feita durante uma janela de manutenção agendada para evitar a interrupção do cliente.

Se você tiver dúvidas sobre o melhor modelo de uso para seu 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 de volta em um destino de armazenamento sem gravar todo o conteúdo do cache. Saiba mais sobre o script flush_file.py em Personalizar gravação em cache de arquivos no Azure HPC Cache.

Próximas Etapas