Partilhar via


Compreender os modelos de utilização da cache

Os modelos de utilização da cache permitem-lhe personalizar a forma como a Cache HPC do Azure armazena ficheiros para acelerar o fluxo de trabalho.

Conceitos básicos de cache de arquivos

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

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

  • Cache de gravação - Opcionalmente, o Cache HPC do Azure pode armazenar uma cópia de todos os arquivos alterados enviados das máquinas cliente. Se vários clientes fizerem alterações no mesmo arquivo durante um curto período, o cache poderá coletar todas as alterações no cache em vez de ter que gravar cada alteração individualmente no sistema de armazenamento back-end. Após um período de tempo 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 sua cópia local de um arquivo com a versão remota no sistema de armazenamento back-end. Se a cópia de back-end for mais recente do que a cópia 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 os arquivos de origem no armazenamento remoto. No entanto, você pode forçar o Cache HPC do Azure 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 de 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 back-end.

Os modelos de utilização incorporados na Cache HPC do Azure têm valores diferentes para estas definições para que possa escolher a melhor combinação para a sua situação.

Escolha o modelo de utilização 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 de armazenamento de Blob do Azure têm um modelo de uso interno que não pode ser personalizado.

Os modelos de utilização da Cache HPC permitem-lhe escolher como equilibrar a resposta rápida com o risco de obter dados obsoletos. Se você quiser otimizar a velocidade de leitura de arquivos, talvez não se importe se os arquivos no cache são verificados em relação aos arquivos back-end. Por outro lado, se quiser certificar-se de que os seus ficheiros estão sempre atualizados com o armazenamento remoto, escolha um modelo e defina o temporizador de verificação para um número baixo para verificar com frequência.

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

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

    Esta opção armazena em cache as leituras do cliente, mas não armazena gravações em cache. As gravações passam para o armazenamento back-end.

    Os arquivos armazenados no cache não são comparados automaticamente com os 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 de cache somente leitura, você pode alterar o temporizador de verificação. O valor padrão é 30 segundos. O valor deve ser um inteiro (sem decimais) entre 1 e 31536000 segundos (1 ano) inclusive.

  • Cache de leitura/gravação - Esta 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 Cache HPC do Azure em vez de montar o armazenamento 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 back-end a cada oito horas por padrão. A versão em cache do arquivo é considerada mais atual. Um arquivo modificado no cache é gravado no sistema de armazenamento back-end depois de ter estado 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 é 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 é 3600 segundos (1 hora). O valor deve ser um inteiro (sem decimais) entre 1 e 31536000 segundos (1 ano) inclusive.

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

Modelo de utilização Modo de cache Temporizador de verificação Temporizador de write-back
Cache somente leitura Lida 30 segundos Nenhuma
Cache de leitura/gravação Leitura/escrita 8 horas 1 hora

Aviso

A alteração dos modelos de uso causa uma interrupção do serviço. Os clientes de cache HPC não receberão respostas enquanto o modelo de uso estiver em transição. Se for necessário alterar os modelos de uso, é recomendável que a alteração seja feita durante uma janela de manutenção programada para evitar a interrupção do cliente.

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

Gorjeta

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 write-back de arquivo no Cache HPC do Azure.

Próximos passos