Considerações sobre o tráfego do sistema de arquivos

Concluído

IOPS de destino, taxa de transferência e números de latência são os valores importantes. Mas para otimizar o desempenho, você também precisa determinar como suas cargas de trabalho HPC interagem com o sistema de arquivos. A próxima etapa é quantificar a escala de tráfego e a combinação que seu sistema de arquivos precisa suportar.

Considerações sobre a combinação de tráfego

A combinação de tráfego refere-se à composição do tráfego de carga de trabalho HPC, em termos de:

  • Proporção entre tráfego de leitura e tráfego de gravação. (Por exemplo, 100% ler, 50% ler e 50% escrever, 100% escrever.)
  • Leitura/gravação aleatória versus sequencial.
  • Pontos de verificação e instantâneos.
  • Simultaneidade.
  • Quantidade e tamanho do arquivo.

No restante desta unidade, analisamos como essa combinação de tipos de tráfego afeta suas opções de armazenamento.

Tráfego de leitura vs. tráfego de gravação vs. criar/excluir

As operações de leitura e gravação consomem IOPS igualmente. Mas o sistema de arquivos escolhido pode aplicar alta disponibilidade ao tráfego de gravação de entrada, o que se traduz em uma taxa de transferência de gravação mais lenta, mas resiliente.

O desempenho pode ser afetado se a carga de trabalho de HPC fizer um grande número de operações com muitos metadados. Por exemplo, criar arquivos, renomear estruturas de diretórios ou excluir arquivos. A criação de um arquivo pode consumir várias operações. (Verifique se o arquivo existe, crie o identificador de arquivo, atualize a entrada do diretório e assim por diante.)

Sua carga de trabalho HPC pode estar amplamente focada na transformação de dados, portanto, a quantidade de tráfego de gravação pode ser significativa. Nesse caso, você deseja priorizar a otimização do desempenho de gravação.

Tráfego aleatório vs. sequencial

O acesso ao aplicativo orienta o tipo de padrões de tráfego de leitura e gravação que sua carga de trabalho pode exigir.

As cargas de trabalho HPC podem ser altamente paralelas, com muitos computadores solicitando os mesmos dados de um sistema de arquivos compartilhado. Ou podem ser exclusivos e serializados, com padrões de acesso a dados exclusivos e aleatórios. O desempenho do tráfego sequencial é maior do que o tráfego aleatório. Um exemplo de tráfego sequencial seria o carregamento de uma biblioteca binária ou de um grande arquivo de imagem ou vídeo por um ou mais computadores. Um exemplo de tráfego aleatório incluiria solicitações para diferentes intervalos de bytes de um único arquivo ou vários arquivos, em vez de ler um arquivo inteiro.

Pontos de verificação e instantâneos

As cargas de trabalho geralmente são verificadas. No ponto de verificação, o estado do aplicativo e seus dados são copiados para o armazenamento durável e, em seguida, a carga de trabalho continua. O ponto de verificação é usado para retomar cargas de trabalho de longa execução sem a necessidade de uma reinicialização completa do trabalho. O ponto de verificação também pode ser usado com instantâneos. Os instantâneos são cópias somente leitura do seu sistema de arquivos que são tiradas em um determinado momento. Os pontos de verificação podem ser considerados específicos do aplicativo ou dependentes do aplicativo, mas os instantâneos são relevantes no nível do sistema de arquivos.

Tanto os pontos de verificação quanto os snapshots consomem IOPS e armazenamento. Portanto, eles afetam o desempenho geral do sistema de arquivos, dependendo de sua frequência e da quantidade de dados envolvidos.

Simultaneidade

O número de clientes e threads simultâneos é outro fator a ser considerado quando você seleciona seu sistema de arquivos. Muitas cargas de trabalho de HPC exigem simultaneidade significativa durante as fases de inicialização e resultados do trabalho, possivelmente em centenas ou milhares de threads. Por exemplo, um trabalho pode inicializar em cem máquinas de 16 núcleos, cada núcleo operando um ou dois threads simultâneos. A simultaneidade de threads nesse caso pode ser de 1.600 a 3.200 threads. Esses threads podem estar lendo binários (bibliotecas, cadeias de ferramentas e assim por diante) que são necessários antes que o trabalho possa continuar. Para minimizar o tempo de execução do trabalho, o sistema de armazenamento subjacente precisa ser capaz de fornecer respostas rápidas a essas solicitações de leitura.

O mesmo trabalho pode deixar de exigir qualquer acesso simultâneo. Ou, pode exigir acesso intermitente de mais dados de arquivo ou escrever resultados intermediários para outros threads no trabalho para ler.

Contagem e tamanho do ficheiro

Ao selecionar o armazenamento de arquivos, você também precisa considerar o número e o tamanho médio dos arquivos. Uma carga de trabalho que consome 2 TB de dados tem características de desempenho diferentes se esses 2 TB consistirem em cem arquivos de 20 GB em vez de 10 mil arquivos de 200 MB. Especialmente se os 10 mil arquivos estiverem aninhados em estruturas de diretório profundas.

Recomendamos que você identifique o conjunto de dados de trabalho mais provável. Um conjunto de trabalho é a contagem máxima potencial de arquivos e o tamanho de arquivo que você precisa. Tente identificar as definições máximas e médias do conjunto de trabalho e use esses máximos para orientar seu planejamento.

Nem sempre é fácil definir um conjunto de trabalho, especialmente para um ambiente em oposição a uma única carga de trabalho HPC. Por exemplo, um dia você pode precisar criar uma pequena simulação em relação a um conjunto estático de dados. No dia seguinte, talvez seja necessário aumentar a escala para fazer uma análise maior com saídas intermediárias e pontos de verificação.

Verifique o seu conhecimento

1.

Uma cópia somente leitura de um sistema de arquivos que é feita em um determinado momento é conhecida como:

2.

A contagem e o tamanho máximos potenciais de arquivos que sua carga de trabalho requer são conhecidos como: