PowerScale | Noções básicas sobre as estratégias de cache L3 e metadados
Summary: O PowerScale oferece flexibilidade na forma como as unidades de estado sólido (SSDs) de um pool de nós são usadas para melhorar o desempenho. Duas estratégias principais são o cache L3 e a aceleração de metadados. O cache L3 foi projetado para armazenar em cache dados e metadados acessados com frequência para melhorar o desempenho de leitura. A aceleração de metadados dedica os SSDs ao armazenamento e à aceleração das operações de metadados, o que pode ser benéfico para cargas de trabalho com uso intenso de metadados. ...
Instructions
Entendendo o cache L3:
Cache L3: O cache L3 é um nível secundário de cache que reside em SSDs, complementando o cache de memória primária (L1 e L2). Ele funciona como um cache de remoção, armazenando metadados e dados acessados com frequência para melhorar a latência de leitura. O cache L3 é mais benéfico para fluxos de trabalho que envolvem acesso aleatório a arquivos. Ele pode operar em um modo somente de metadados para nós de armazenamento da série archive. Habilitar o cache L3 em um pool de nós com dados existentes em SSDs exige que as unidades evacuem esses dados para HDDs antes que os SSDs possam ser usados para armazenamento em cache. Geralmente, desabilitar o cache L3 é uma operação mais rápida.
Fluxos de trabalho que se beneficiam do cache L3:
-
- O cache L3 é benéfico para fluxos de trabalho com as seguintes características:
- Acesso a arquivos aleatórios: As cargas de trabalho que envolvem leituras frequentes de partes diferentes e não sequenciais dos arquivos podem ter reduções significativas de latência com o cache L3.
- Alta taxa de leitura para gravação: Como o cache L3 acelera principalmente as leituras, o fluxo de trabalho com um componente de leitura dominante se beneficia mais.
- Armazenamento em cache de dados "quentes" acessados com frequência: O cache L3 identifica e armazena automaticamente os dados acessados com frequência, melhorando o desempenho para acesso repetido.
- Streaming e acesso simultâneo a arquivos (até certo ponto): Embora o acesso aleatório veja os maiores benefícios, os fluxos de trabalho com streaming e acesso simultâneo também podem experimentar algumas melhorias de desempenho com o cache L3.
Quando escolher o cache L3:
-
- Quando o principal gargalo de desempenho é a latência de leitura aleatória para dados e metadados.
- Para estender a capacidade efetiva de memória dos nós sem incorrer no custo de mais RAM.
- Para cargas de trabalho que apresentam uma quantidade significativa de releitura de dados e metadados que foi recentemente removida do L2.
- Para nós de classe de arquivo, em que o desempenho dos metadados para a travessia do file system é crítico.
- Quando um aprimoramento de desempenho de leitura mais simples, "definir e esquecer", é necessário sem sobrecarga significativa de configuração.
Quando escolher a aceleração de metadados: - Quando as operações de metadados (pesquisas, acesso, modificações) são o principal gargalo de desempenho.
- Para cargas de trabalho com um alto volume de leituras de metadados (aceleração de leitura de metadados) ou leituras e gravações (aceleração de leitura/gravação de metadados).
- Em cenários como interpretação sísmica, em que o acesso rápido a metadados é fundamental, mesmo que os dados subjacentes residam em um armazenamento mais lento.
- Quando o controle específico sobre onde os metadados residem é necessário.
- Ao estender os benefícios de leitura de metadados para nós sem SSDs locais é necessário (usando GNA com aceleração de leitura de metadados em outros nós).
- Cargas de trabalho, como diretórios base, fluxos de trabalho com grande enumeração de arquivos e atividades que exigem várias comparações, geralmente exibem alta atividade de leitura de metadados. Nesses casos, acelerar o acesso direto aos metadados pode levar a uma melhoria significativa do desempenho
Noções básicas sobre estratégias de metadados:
Estratégia de metadados: Em vez de armazenar dados em cache, os SSDs podem ser configurados principalmente para armazenar e acelerar as operações de metadados. Essa estratégia pode ser benéfica para cargas de trabalho com um alto volume de acesso a metadados, como muitos arquivos pequenos, pesquisas frequentes de diretório e tarefas do mecanismo de trabalho com uso intenso de metadados. O OneFS é compatível com diferentes estratégias de SSD de metadados, inclusive leitura e gravação de metadados.
Leitura de metadados: As SSDs são usadas principalmente para acelerar as operações de leitura de metadados.
Gravação de metadados: Os SSDs são usados para acelerar as operações de gravação de metadados.
- Benefícios da estratégia de metadados em relação ao cache L3:
- A aceleração de metadados oferece controle mais direcionado e granular sobre como os SSDs são usados para aprimorar o desempenho dos metadados para conjuntos de dados e fluxos de trabalho específicos. O cache L3, por outro lado, é uma camada de cache mais geral que beneficia uma variedade mais ampla de cargas de trabalho, especialmente aquelas com acesso repetido de leitura aleatória a dados e metadados. Embora o cache L3 se destaque por melhorar o desempenho de leitura dos dados acessados com frequência, uma estratégia dedicada de metadados pode oferecer vantagens específicas:
- Desempenho aprimorado de metadados: Para cargas de trabalho em que as operações de metadados são o gargalo (por exemplo, abertura, fechamento, renomeação, listagem de grandes números de arquivos), a dedicação de SSDs aos metadados pode reduzir significativamente a latência e melhorar o throughput geral.
- Desempenho aprimorado do Job Engine: Determinadas tarefas do mecanismo de trabalho do OneFS consomem muitos metadados. Acelerar o acesso aos metadados pode levar a tempos de conclusão mais rápidos para esses trabalhos.
- Desempenho previsível para cargas de trabalho com uso intenso de metadados: Em ambientes com um padrão consistente de alta atividade de metadados, uma estratégia dedicada de metadados pode fornecer melhorias de desempenho mais previsíveis e sustentadas em comparação com um cache baseado em remoção.
- Determinados aplicativos e fluxos de trabalho geram um número desproporcionalmente alto de operações de metadados em comparação com leituras e gravações reais de dados. Os exemplos incluem arquivamento de arquivos, gerenciamento de ativos de mídia, automação de projeto eletrônico (EDA), ambientes de desenvolvimento de software com compilações frequentes e pipelines de genômica que envolvem inúmeros acessos e análises de arquivos pequenos. Nesses casos, a latência associada ao acesso e à manipulação de metadados pode se tornar um gargalo significativo de desempenho
- As operações que envolvem a navegação em estruturas de diretórios complexas ou a listagem do conteúdo de muitos diretórios dependem muito do desempenho dos metadados. A aceleração de metadados garante que o sistema possa acessar rapidamente as informações de inode e as entradas de diretório, acelerando significativamente essas operações em comparação com a dependência até mesmo de um cache L3 que pode ter removido essas informações devido a restrições de capacidade ou acesso menos frequente
- Backup, replicação e migração: Essas tarefas de gerenciamento de dados geralmente envolvem extensa varredura e processamento de metadados. O acesso mais rápido a metadados por meio da aceleração pode reduzir significativamente o tempo necessário para concluir esses trabalhos, minimizando a interrupção das cargas de trabalho primárias e melhorando a eficiência operacional.
- Pesquisa e indexação: Quando os usuários ou processos automatizados precisam pesquisar arquivos específicos com base em seus atributos de metadados (por exemplo, nome, tamanho, data de modificação), o acesso acelerado a metadados permite uma execução de consulta mais rápida. Isso é relevante para soluções como o MetadataIQ, que indexa metadados do file system para consultas e descobertas de dados eficientes em vários clusters
- Quando escolher Metadados:
- Navegação intensa em diretórios, operações de pesquisa de dados ou arquivos, indexação.
- Operações de arquivo, como abertura, fechamento, exclusão, criação de diretórios (mkdir).
- Operações de pesquisa, getattr e acesso.
- Diretórios base, especialmente aqueles com muitos objetos.
- Fluxos de trabalho que envolvem enumeração ou comparações pesadas.
- Interpretação de dados sísmicos, em que a pontualidade dos metadados é essencial.
- A aceleração de metadados pode gerar melhorias significativas de desempenho para esses tipos de atividades, aumentando o throughput e diminuindo a latência
Resumo: Quando escolher
-
- Escolha uma estratégia de aceleração de metadados (leitura de metadados ou leitura/gravação de metadados) se sua carga de trabalho for altamente tendenciosa em relação a operações que acessam ou modificam metadados de arquivos (navegação, pesquisa, indexação, criação, exclusão, modificação de atributos).
- Escolha Metadata Read Acceleration se sua carga de trabalho for principalmente de leitura de metadados e se você quiser usar menos capacidade de SSD.
- Escolha a aceleração de leitura/gravação de metadados se sua carga de trabalho envolver uma quantidade significativa de gravações de metadados, exigir exclusões mais rápidas de snapshots ou se uma carga de trabalho de HPC de arquivos pequenos, como EDA, estiver se beneficiando de arquivos pequenos alinhados no flash. Verifique se você tem capacidade suficiente de SSD.
- Considere o GNA se você tiver um cluster misto (nós com e sem SSDs) e precisar acelerar as leituras de metadados dos dados que residem em nós não SSD no cluster. Isso é relevante para cargas de trabalho com uso intenso de metadados que estão distribuídas.
- GNA (Global namespace Acceleration, aceleração de namespace global): A GNA é um mecanismo mais antigo (destinado a ser substituído pelo cache L3 quando todos os nós têm SSDs) que permite que pools de nós sem SSDs aproveitem SSDs em outros lugares do cluster armazenando espelhamentos extras de metadados nesses SSDs. Isso acelera as operações de leitura de metadados para dados armazenados em pools somente de disco rígido. O cache L3 e a GNA podem coexistir no mesmo cluster, mas normalmente operam em pools de nós diferentes.
- Considere o cache L3 se sua carga de trabalho envolver leituras aleatórias significativas, se beneficiar do cache estendido para um grande conjunto de trabalho ou precisar melhorar o desempenho do Job Engine, desde que seus nós tenham SSDs.
Ferramentas e comandos:
- Monitoramento de desempenho: Use ferramentas como InsightIQ, CloudIQ e MetadataIQ para monitorar a integridade do cluster, as medições de desempenho e a previsão de uso. O InsightIQ pode rastrear tendências de desempenho, identificar padrões e realizar lógica analítica de arquivos. Ele também pode ajudar a estimar quando um cluster atinge a capacidade máxima. O CloudIQ fornece insights sobre o desempenho do cluster. O MetadataIQ facilita a indexação e a consulta de dados em clusters e pode ser usado para gerenciar o ciclo de vida dos dados e compreender a distribuição de dados.
- O utilitário isi_cache_stats pode ajudar a determinar o tamanho do conjunto de dados em funcionamento, o que é relevante para dimensionar SSDs para cache L2 e L3. Uma regra geral sugere que a capacidade de L2 + capacidade de L3 deve ser >= 150% do tamanho do conjunto de trabalho.
- MetadataIQ (OneFS 9.10+): Implemente e configure o MetadataIQ para indexar e criar um catálogo global de metadados em clusters. Use o painel de indicadores do Kibana para visualizar a distribuição de dados, contagens de arquivos e atributos de metadados. Isso ajuda a entender a composição de seus dados e como os metadados estão crescendo. Sincronizações periódicas mantêm o banco de dados de metadados atualizado
- O InsightIQ fornece relatórios sobre a capacidade do cluster, inclusive a capacidade total, provisionada e utilizada, permitindo que você preveja as necessidades de armazenamento com base nas tendências históricas. Ele pode monitorar o desempenho, a latência, o IOPS e o throughput da carga de trabalho, permitindo que você detecte possíveis gargalos à medida que os dados crescem. Os relatórios do File System Analytics do InsightIQ podem mostrar o número de arquivos e a distribuição de tamanho, fornecendo insights sobre a escala e a composição de seus dados, que estão diretamente relacionados ao aumento do número de LIN.