PowerEdge: Escalabilidade do Dell Ready Solutions for HPC BeeGFS Storage
Summary: Como dimensionar a solução de armazenamento de alto desempenho Dell BeeGFS em termos de capacidade, desempenho ou ambos.
Instructions
Sumário
- Introdução
- Configurações básicas
- Cálculo do espaço utilizável pelo BeeGFS
- Configurações escaláveis
- Caracterização de desempenho
- Conclusão e trabalhos futuros
Introdução
Este blog discute a escalabilidade do Dell Ready Solutions for HPC BeeGFS Storage, anunciado recentemente. A arquitetura do BeeGFS é composta por quatro serviços principais: gerenciamento, metadados, armazenamento e client. É possível executar qualquer combinação desses quatro serviços principais, incluindo todos eles, no mesmo servidor, porque as funções e o hardware não estão totalmente integrados no caso do BeeGFS. Em uma "Solução hiperconvergente", todos os quatro serviços são executados no mesmo servidor. Essa configuração não é recomendada para ambientes críticos em termos de desempenho, pois os aplicativos client geralmente consomem recursos que podem afetar o desempenho dos serviços de armazenamento. A solução Dell usa servidores de armazenamento dedicados e um servidor de metadados e armazenamento de dupla finalidade para oferecer uma solução de armazenamento escalável e de alto desempenho. É possível dimensionar o sistema incluindo servidores de armazenamento adicionais a um sistema existente. Neste blog, apresentamos configurações com diferentes números de servidores de armazenamento e o desempenho esperado com essas configurações.
Configurações básicas
A Solução de armazenamento BeeGFS, que é projetada para oferecer um sistema de arquivos de alto desempenho, utiliza os seguintes componentes de hardware:
- Management Server
- R640, Intel Xeon Gold 5218 duplo a 2,3 GHz, 16 núcleos, 96 GB (12 RDIMMs de 8 GB e 2666 MT/s), 6 de 15k RPM, SAS de 300 GB, H740P
- Servidores de armazenamento e metadados
- R740xd, 2 CPUs Intel Xeon Platinum 8268 a 2,90 GHz, 24 núcleos, 384 GB (12 RDIMMs de 32 GB e 2933 MT/s)
- Placa BOSS com 2 SSDs SATA M.2 de 240 GB em RAID 1 para o sistema operacional
- 24x, Intel 1,6 TB, NVMe, Express Flash de uso combinado, unidades de SFF de 2,5, Software RAID
O servidor de gerenciamento executa o serviço de monitoramento do BeeGFS. O servidor de metadados usa as 12 unidades na zona NUMA 0 para hospedar os Metadata Targets (MDTs), enquanto as 12 unidades restantes na zona NUMA 1 hospedam os Storage Targets (STS). Um servidor de metadados dedicado não é usado porque os requisitos de capacidade de armazenamento de metadados do BeeGFS são pequenos. Os metadados e os destinos e serviços de armazenamento são isolados em nós NUMA diferentes para que uma separação considerável de cargas de trabalho seja estabelecida. Os servidores de armazenamento usados na configuração têm três serviços de armazenamento em execução por zona NUMA, seis no total por servidor. Para obter mais detalhes, consulte o blog de anúncios. A Figura 1 mostra as duas configurações básicas que foram testadas e validadas no Laboratório de inovação em IA e HPC da Dell EMC.

Figura 1: Configurações básicas
A configuração pequena consiste em três servidores R740xd. Ela tem 15 destinos de armazenamento. A configuração média tem seis servidores R740xd e 33 destinos de armazenamento. O usuário pode começar com uma configuração "pequena" ou com a configuração "média" e adicionar servidores de armazenamento ou metadados conforme necessário para aumentar o espaço de armazenamento e o desempenho geral, ou o número de arquivos e o desempenho de metadados, respectivamente. A Tabela 1 mostra os dados de desempenho das configurações básicas que foram testadas e validadas extensivamente no Laboratório de inovação em IA e HPC da Dell.
| Configuração básica | Small | Média | |
|---|---|---|---|
| Total U (MDS+SS) | 6U | 12U | |
| Nº de servidores de armazenamento dedicados | 2 | 5 | |
| Nº de unidades NVMe para armazenamento de dados | 60 | 132 | |
| Espaço útil estimado | 1,6 TB | 86 TiB | 190 TiB |
| 3,2 TB | 173 TiB | 380 TiB | |
| 6,4 TB | 346 TiB | 761 TiB | |
| Leitura sequencial máxima | 60,1 GB/s | 132,4 GB/s | |
| Gravações sequenciais máximas | 57,7 GB/s | 120,7 GB/s | |
| Leitura aleatória | 1,80 milhões de IOPS | 3,54 milhões de IOPS | |
| Gravação aleatória | 1,84 milhões de IOPS | 3,59 milhões de IOPS | |
Tabela 1: Detalhes de capacidade e desempenho das configurações básicas
Cálculo do espaço utilizável pelo BeeGFS
O espaço útil estimado é calculado em TiB (já que a maioria das ferramentas mostra espaço útil em unidades binárias) usando a seguinte fórmula:
BeeGFS Usable Space in TiB= (0.99* # of Drives* size in TB * (10^12/2^40)
Na fórmula acima, 0,99 é o fator obtido supondo conservadoramente que há uma sobrecarga de 1% do file system. Para chegar ao número de unidades para armazenamento, 12 unidades do MDS também estão incluídas. Isso ocorre porque, no MDS, as 12 unidades na zona NUMA 0 são usadas para metadados e as 12 unidades na zona NUMA 1 são usadas para armazenamento. O último fator na fórmula 10^12/2^40 é converter o espaço de armazenamento disponível de TB para TiB.
Configurações escaláveis
A solução de armazenamento de alto desempenho BeeGFS foi projetada para ser flexível e pode-se dimensionar facilmente o desempenho e/ou a capacidade incluindo servidores adicionais, conforme mostrado abaixo:
Figura 2: Exemplos de configurações em escala
A parte de metadados da pilha permanece a mesma para todas as configurações acima descritas neste blog. Isso ocorre porque os requisitos de capacidade de armazenamento de metadados do BeeGFS são normalmente de 0,5% a 1% da capacidade total de armazenamento. No entanto, isso realmente depende do número de diretórios e arquivos no file system. Como regra geral, o usuário pode incluir um servidor de metadados adicional quando a porcentagem da capacidade de metadados para o armazenamento ficar abaixo de 1%. A Tabela 2 mostra os dados de desempenho para as diferentes configurações flexíveis da solução de armazenamento BeeGFS.
| Configuração | Small | Pequena +1 | Pequena +2 | Média | Média +1 | |
|---|---|---|---|---|---|---|
| Total U (MDS+SS) | 6U | 8U | 10U | 12U | 14U | |
| Nº de servidores de armazenamento dedicados | 2 | 3 | 4 | 5 | 6 | |
| Nº de unidades NVMe para armazenamento de dados | 60 | 84 | 108 | 132 | 156 | |
| Espaço útil estimado | 1,6 TB | 86 TiB | 121 TiB | 156 TiB | 190 TiB | 225 TiB |
| 3,2 TB | 173 TiB | 242 TiB | 311 TiB | 380 TiB | 449 TiB | |
| 6,4 TB | 346 TiB | 484 TiB | 622 TiB | 761 TiB | 898 TiB | |
| Leitura sequencial máxima | 60,1 GB/s | 83,3 GB/s | 105,2 GB/s | 132,4 GB/s | 152,9 GB/s | |
| Gravações sequenciais máximas | 57,7 GB/s | 80,3 GB/s | 99,8 GB/s | 120,7 GB/s | 139,9 GB/s | |
Tabela 2: detalhes de capacidade e desempenho das configurações em escala
Caracterização de desempenho
O desempenho das várias configurações foi testado criando pools de armazenamento. A configuração pequena tem 15 destinos de armazenamento, e cada servidor de armazenamento adicional inclui seis destinos de armazenamento. Para testar o desempenho das várias configurações, foram criados pools de armazenamento de 15 a 39 destinos de armazenamento (com incrementos de seis para pequena, pequena +1, pequena +2, média +1). Para cada um desses pools, foram executadas três iterações da referência de desempenho IOzone, cada uma com 1 a 1024 threads (com incrementos em potência de dois). A metodologia de teste adotada é a mesma descrita no blog de anúncios . As Figuras 3 e 4 mostram o desempenho de gravação e leitura das configurações escaláveis, respectivamente, com o desempenho máximo de cada configuração realçado para referência rápida:

Figura 3: Desempenho de gravação de configurações escaláveis.
Figura 4: Desempenho de leitura de configurações escaláveis.
Nota:
O pool de armazenamento mencionado foi criado apenas com a finalidade explícita de caracterizar o desempenho de diferentes configurações. Ao fazer a avaliação de desempenho da configuração média detalhada no blog de anúncios, todos os 33 destinos estavam no "Default Pool". O resultado do beegfs-ctl --liststoragepools comando mencionado abaixo mostra a atribuição dos destinos de armazenamento:
# beegfs-ctl --liststoragepools Pool ID Pool Description Targets Buddy Groups ======= ================== ============================ ============================ 1 Default 1,2,3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30, 31,32,33
Conclusão e trabalhos futuros
Este blog discutiu a escalabilidade do Dell Ready Solutions for HPC BeeGFS Storage e destacou o desempenho do throughput sequencial de leitura e gravação para várias configurações. Não perca a Parte 3 desta série de blogs que discutirá os recursos adicionais do BeeGFS e destacará o uso do "StorageBench", a referência de desempenho integrada de destinos de armazenamento do BeeGFS. Como parte das próximas etapas, publicaremos um white paper posteriormente com o desempenho dos metadados, a avaliação de desempenho do IOR N-1 e detalhes adicionais sobre considerações de design, ajuste e configuração.
Referências
[1] Dell Ready Solutions for HPC BeeGFS Storage: https://www.dell.com/support/article/sln319381/
[2] Documentação do BeeGFS: https://www.beegfs.io/wiki/
[3] Como conectar duas interfaces na mesma sub-rede: https://access.redhat.com/solutions/30564
[4] Projeto de referência do acesso direto à memória PCI Express usando memória externa: https://www.intel.com/content/www/us/en/programmable/documentation/nik1412547570040.html#nik1412547565760