Comece pela carga de trabalho
O tamanho do cluster sai de quatro respostas. Vale juntá-las antes de falar com qualquer fornecedor:
- Quais códigos o grupo roda, em que versão, e se usam MPI, OpenMP, GPU ou uma combinação.
- O tamanho típico de um caso: núcleos usados, memória ocupada e tempo de execução no equipamento atual.
- Quantas simulações rodam ao mesmo tempo no pico, somando todos os usuários.
- Quanto a demanda deve crescer durante o tempo em que o grupo pretende usar o cluster.
O dimensionador faz uma primeira conta com essas respostas. A medição de um caso real confirma ou corrige.
Núcleos e memória
Primeiro, veja quantos nós cada simulação ocupa: divida os núcleos da simulação pelos núcleos de um nó e arredonde para cima. Depois, multiplique pelo número de simulações simultâneas. Seis simulações de 256 núcleos, em nós de 128 núcleos, ocupam 2 nós cada e pedem 12 nós.
A conta supõe que cada simulação recebe nós inteiros. Se o grupo aceitar dividir nós entre simulações pequenas, o número cai, e a fila precisa ser configurada para isso.
A memória se calcula por núcleo. Usamos 4 GB por núcleo como ponto de partida e ajustamos pela medição. Química quântica, genômica e malhas muito finas costumam pedir mais. O cluster Bohr, da Unicamp, tinha cerca de 4,7 GB por núcleo.
Dois cuidados que a conta simples esconde:
- Banda de memória. Em muitos códigos de simulação, o limite está na velocidade da memória. Ocupar todos os canais faz diferença, e o teste STREAM confirma.
- Licença por núcleo. Programas comerciais cobrados por núcleo podem tornar mais barato usar menos núcleos, mais rápidos.
GPU ou CPU
A GPU acelera muito os códigos escritos para ela e quase nada os outros. Antes de incluir nós com GPU, confirme na documentação do código se existe versão para GPU e qual ganho foi publicado em casos parecidos com o seu. Muitos clusters combinam a maior parte dos nós com CPU e alguns com GPU.
Armazenamento
Separe três áreas. A área de trabalho é rápida e compartilhada, e é nela que as simulações leem e gravam. A área de dados permanentes é maior e mais barata. A cópia de segurança fica fora do cluster.
A área de trabalho se dimensiona pelo volume gravado por dia, e sua velocidade, pela soma das gravações simultâneas. Quando muitos nós gravam ao mesmo tempo, costuma-se usar um sistema de arquivos paralelo.
Potência e sala
Some a potência dos nós de computação e acrescente os equipamentos de apoio: nó de acesso, gerência, armazenamento e rede. No dimensionador, esse apoio entra como 15% sobre os nós. A refrigeração da sala precisa dar conta dessa potência.
Antes da compra, confira a potência disponível no quadro elétrico, a capacidade da refrigeração em kW, a autonomia do no-break e o espaço em rack. Quando a sala não comporta o cluster, a hospedagem em data center entra na conta.
Exemplo completo
| Item | Conta | Resultado |
|---|---|---|
| Nós de computação | 6 simulações × 2 nós (256 ÷ 128) | 12 nós |
| Memória por nó | 128 núcleos × 4 GB | 512 GB |
| Rede | cada simulação ocupa 2 nós | avaliar baixa latência |
| Potência | 12 nós × 1 kW + 15% de apoio | 13,8 kW |
Os valores são de exemplo. A potência real por nó muda com a configuração.
Perguntas frequentes
Quanta memória por núcleo um cluster precisa?
Depende do código. Usamos 4 GB por núcleo como ponto de partida e ajustamos pela medição; química quântica e genômica costumam pedir mais. Como referência, o cluster Bohr, da Unicamp, tinha 920 núcleos e 4,32 TB de memória.
Preciso de sala própria?
Não necessariamente. O cluster pode ficar num data center. Se for para a sua sala, confira antes a potência elétrica, a refrigeração, o no-break e o espaço em rack.