A solução de armazenamento BeeGFS, projetada para fornecer um file system scratch de alto desempenho, usa os seguintes componentes de hardware:
O servidor de gerenciamento executa o serviço de monitoramento BeeGFS. O servidor de metadados utiliza as 12 unidades na zona NUMA 0 para hospedar os MDTs (MetaData Targets, destinos de metadados), enquanto as 12 unidades restantes na zona NUMA 1 hospedam os destinos de armazenamento (STs). Um servidor de metadados dedicado não é usado porque os requisitos de capacidade de armazenamento para metadados beeGFS são muito pequenos. Os metadados e os destinos de armazenamento e os serviços são isolados em nós NUMA separados para que uma separação considerável das 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úncio. 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. Ele tem um total de 15 destinos de armazenamento. A configuração média tem 6 servidores R740xd e tem um total de 33 destinos de armazenamento. O usuário pode começar com uma configuração "pequena" ou com a configuração "Média" e pode 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 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 HPC e IA da Dell EMC.
Configuração básica | Pequeno | Média | |
---|---|---|---|
Total de 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 utilizável estimado | 1,6 TB | 86 TiB | 190 TiB |
3,2 TB | 173 TiB | 380 TiB | |
6,4 TB | 346 TiB | 761 TiB | |
Pico de leitura sequencial | 60,1 GB/s | 132,4 GB/s | |
Pico de gravação sequencial | 57,7 GB/s | 120,7 GB/s | |
Leitura aleatória | 1,80 milhão de IOPS | 3,54 milhões de IOPS | |
Gravação aleatória | 1,84 milhão de IOPS | 3,59 milhões de IOPS |
Tabela 1: Detalhes de capacidade e desempenho das configurações básicas
Na fórmula acima, 0,99 é o fator que chegou ao assumir, de modo conservador, que há uma sobrecarga de 1% do file system. Para chegar ao número de unidades de 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 utilizável de TB para TiB.
BeeGFS Usable Space in TiB= (0,99* # of Drives* size in TB * (10^12/2^40)
Configuração | Pequeno | Pequeno +1 | Pequeno +2 | Média | Médio +1 | |
---|---|---|---|---|---|---|
Total de 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 utilizável 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 | |
Pico de leitura sequencial | 60,1 GB/s | 83,3 GB/s | 105,2 GB/s | 132,4 GB/s | 152,9 GB/s | |
Pico de gravação sequencial | 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 dimensionáveis
O pool de armazenamento referido foi criado apenas com o objetivo explícito de melhorar o desempenho de diferentes configurações. Ao fazer a avaliação de desempenho da configuração média detalhada no blog de anúncio, todos os 33 destinos estavam apenas no "Pool padrão". O resultado do comando beegfs-ctl --liststoragepools fornecido 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
[1] Dell EMC 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 de acesso à memória PCI Express Direct usando memória externa: https://www.intel.com/content/www/us/en/programmable/documentation/nik1412547570040.html#nik1412547565760