Você está na página 1de 11

Como Montar um Supercomputador

Precisando de uma máquina capaz de realizar centenas de trilhões de


cálculos de ponto flutuante por segundo? Ou quer apenas se gabar para os
amigos a respeito do supercomputador montado no seu quarto? Fazer um
cluster de computação de alta performance, ou um supercomputador, é um
desafio que qualquer entusiasta com um fim de semana livre e algum
dinheiro sobrando pode tentar realizar. Falando tecnicamente, um
supercomputador com multiprocessadores é uma rede de computadores que
trabalha em conunto para resolver um problema. Este artigo descreverá
brevemente cada passo do processo, concentrando-se em hardware e
software.

Passos

1.
1
Determine primeiro os componentes de hardware e recursos
necessários. Você precisará de um head node, pelo menos 12 nós de rede
idênticos, um switch de Ethernet, uma unidade de distribuição de energia, e
um rack. Determine a demanda de eletricidade, resfriamento e espaço
necessários. Decida também qual o endereço de IP desejado para suas redes
privadas, como nomear os nós, quais pacotes de software deseja instalar e
qual tecnologia será usada para realizar a computação paralela (mais a
respeito disso mais tarde).
 Apesar do hardware ser caro, todos os programas listados no guia são
gratuitos, e a maior parte deles é de código aberto.
 Se quiser ver o quão rápido o seu supercomputador teoricamente seria, use
esta ferramenta: http://hpl-calculator.sourceforge.net/
2.

2
Crie os nós. Você precisará montar os nós ou adquirir servidores pré-
montados.
 Escolha chassis de servidores que maximizem espaço, resfriamento e uso
de energia.
 Você pode também utilizar vários servidores desatualizados – cujo custo
total será maior do que a soma das peças, mas ainda assim você
economizará bastante. Todos os processadores, adaptadores de rede e
placas-mães devem ser idênticos para que o sistema funcione bem.
Obviamente, não se esqueça de incluir a RAM e armazenamento em cada
nó e pelo menos um drive ótico para o head node.
3.
3
Instale os servidores no rack. Comece a partir de baixo, para que a parte
de cima dele não fique muito pesada. Você precisará da ajuda dos seus
amigos para isso – os servidores densos podem ser muito pesados, e guiá-
los pelos trilhos que os seguram é difícil.
4.
4
Instale o switch de Ethernet acima do chassi do servidor. Reserve esse
momento para configurar o switch: habilite tamanhos de frame jumbo de
9000 bytes, configure os endereços IP para o endereço estático determinado
no primeiro passo, e desative protocolos de roteamento desnecessários,
como o SMTP Snooping.
5.
5
Instale a unidade de distribuição de energia. Dependendo de quanta
corrente os nós exigirão na carga máxima, você pode precisar de 220 volts
para computação de alta performance.
6.
6
Com tudo instalado, você pode começar o processo de configuração. O
Linux é o SO ideal para clusters HPC – ele não só é o ambiente ideal para
computação científica, como também é gratuito para instalação em
centenas ou até milhares de nós. Imagine o quanto custaria para instalar o
Windows em todos esses nós?
 Comece instalando a última versão das BIOS e firmware das placas-mães,
que devem ser idênticas em todos os nós.
 Instale sua versão predileta do Linux em cada nó, com uma interface
gráfica no head node. Opções populares incluem CentOS, OpenSuse,
Scientific Linux, RedHat, e SLES.
 Você pode também usar a Rocks Cluster Distribution. Além de instalar
todas as ferramentas necessárias para que o cluster funcione, o Rocks usa
um excelente método para distribuir várias instâncias de si mesmo para os
nós muito rapidamente usando um boot PXE e o procedimento ‘Kick Start’
do Red Hat.
7.

7
Instale a interface de transmissão de mensagens, gerenciamento de
recursos e outras bibliotecas necessárias. Se não tiver instalado o Rocks
no passo anterior, você precisará configurar manualmente o software
necessário para habilitar os mecanismos de computação paralela.
 Primeiramente você precisará de um sistema portátil de gerenciamento em
larga escala, como o Torque Resource Manager, que lhe possibilita dividir
e distribuir tarefas para diversas máquinas.
 Pareie o Torque com o Maui Cluster Scheduler para completar a instalação.
 A seguir, você precisará instalar a interface de transmissão de mensagens,
necessária para os processos individuais dos diferentes nós para
compartilhas os mesmos dados. O OpenMP é fácil de usar.
 Não se esqueça das bibliotecas matemáticas multi threading para os
programas em computação paralela. É realmente mais fácil se você instalar
o Rocks.
8.

8
Conecte os nós dos computadores. O head node envia as tarefas para os
nós do computador, que então precisa enviar o resultado de volta, bem
como enviar mensagens uns para os outros. Quanto mais rápido melhor.
 Use uma rede ethernet privada para conectar todos os nós do cluster.
 O head node também pode agir como um NFS, PXE, DHCP, TFTP, e NTP
server através da rede Ethernet.
 É preciso separar essa rede de redes públicas, que garante que os pacotes de
transmissão não interferirão com outras redes na sua LAN.
9.

9
Teste o cluster. A última coisa que se deseja antes de liberar todo esse
poder de computação para seus usuários é testar sua performance. O
benchmark HPL (High Performance Lynpack) é uma escolha popular para
medir a velocidade computacional do cluster. Você precisará compilá-lo a
partir da fonte com todas as possíveis otimizações oferecidas pelo
compilador da arquitetura escolhida.
 Obviamente, é preciso compilar a partir da fonte com todas as otimizações
possíveis para sua plataforma. Por exemplo, ao usar CPUs AMD, compile
com o Open 64 com nível de otimização -0fast.
 Compare os resultados no TOP500.org para comparar seu cluster com os
500 supercomputadores mais velozes do mundo!

Dicas
 O IPMI pode fazer com que a administração de um cluster grande seja
fácil, fornecendo KVM-over-IP, revezamento de processamento remoto e
mais.
 Para conseguir velocidades de rede realmente altas, procure por interfaces
de rede InfiniBand. Os preços não são muito acessíveis, no entanto.
 Use o Ganglia para monitorar a carga computacional nos nós.

Você também pode gostar