Posts

Showing posts from 2005

Mesmo Hardware, Mais de 15Gflops!

Image
Após instalar o Rocks 4.1 no ultimo sábado consegui rodar o HPL graças aos binários para Athlon que um dos desenvolvedores do Rocks me enviou.

Houve um incidente muito curioso. Após completar a primeira etapa do HPL a régua de energia elétrica desarmou desligando todo o cluster. Quando os oitos nós estão com carga máxima o cluster consome 1056W. Os danos não foram grandes, apenas uma placa de vídeo.


A regua não aguentou os mais de 1000W e desarmou

Rodar o hpl é simples.

1 - Copie para o home do seu usuário os arquivos HPL e machines.

2 - $ export P4_GLOBMEMSIZE=100000000

3 - $ /opt/mpich/gnu/bin/mpirun -np 8 -machinefile machines /opt/hpl/gnu/bin/xhpl





A melhor marca foi 1.527e+01 Gflops!
A melhora de desempenho em relação ao teste feito em fevereiro deve-se principalmete ao overclock da memória. Agora ela esta operando a 333MHz contra 266MHz do teste de fevereiro.

Velocidade do Cluster: Sustained vs. Peak

Descobri como calcular a velocidade teorica de pico de um cluster. É muito fácil:

Peak GFLOPS = [CPUs] * [CPU clock rate (GHz)] * [CPU floating point issue rate]

O issue rate da sua CPUs descreve quantas operações de ponto flutuante ela pode computar por ciclo.
Um guia simplificado é: (Tipo de CPD: issue rate) Pentium 2: 1, Pentium 4: 2, Athlon XP: 3, Itanium 2: 4.

Por exemplo: 8 Atlhon XP 2800+(2,083 GHz) = 8 * 2,083 * 3 = 49,992 GFLOPS.

No caso do crick são 49,992 GFLOPS PEAK e 14,69 GFLOPS SUSTAINED

Menos distante do TOP500

Image
Clique aqui para voltar para o Blog do Peter.

Depois de ajustes o cluster obteve resultados melhores com o HPLinpack. Dois dispositivos estão limitando a velocitade. As memórias com barramento DDR266 CL 2.5 e as placas de rede gigabit Realtek. Mas mesmo assim o cluster obteve 14.69Gflops Veja:


Veja a Saida do HPLinpack aqui

Rumo ao TOP500

Finalmente obtive o resultado da potência do cluster. O melhor número obtido foi 10,27 Gflops. O computador que esta na posição número 500 do TOP500 de 11/2004 marcou 850.6Gflops. O resultado é bom se o preço do cluster for levado em conta. O investimento foi inferior a R$ 20.000,00 ($ 8000,00).

Veja a saida do HPLinpack aqui

A necessidade de computação paralela

Suponha que desejamos construir um computador capaz de efetuar um trilhão de operações a cada segundo. Talvez a solução mais óbvia seja simplesmente explorar a fundo tecnologias bem conhecidas. Ou seja, nós podemos tentar construir um computador von Neumann mais ou menos convencional com um processador extremamente rápido e com uma grande quantidade de memória. Agora suponha que nós queremos um computador que pode executar o código abaixo em um segundo:

/* x, y e z são arrays de floats, cada uma contendo
/* um trilhão de entradas
for ( i = 0 ; i < UM_TRILHAO ; i++ )
{
z[i] = x[i] + y[i];
}

Em um computador convencional, nós buscaríamos x[i] e y[i] da memória e os guardaríamos em registradores, somaríamos os dois e guardaríamos o resultado em z[i]. Assim para executar este código, nós precisaríamos ser capazes de executar no mínimo 10^12 cópias entre a memória e os registradores a cada segundo. Se a informação viaja na velocidade da luz (3 X 10^8 metros/segundo), e se r é a distânci…