Um super computador construído a partir de muitos RPs é realmente prático ou apenas uma novidade?

13

Esta pergunta é inspirada neste artigo .

Atualmente, passo muito tempo no R para analisar dados. Alguns dos scripts que eu executo no R podem se beneficiar da computação paralela para economizar tempo. Digamos que eu possa construir um computador "real" barebones por talvez US $ 300 e pelos mesmos US $ 300 eu poderia obter 6 Pis (incluindo cabo de alimentação e cartão SD). Supondo que eu tivesse uma tarefa que fosse adequada para paralelização, eu seria melhor com o Pis ou o computador "real"?

A resposta mudaria se eu aumentasse o hardware do computador "real" para algo que pode custar US $ 1000, como isso se sairia com 20 Pis?

Dean MacGregor
fonte
O Pi é um computador lento, com pouco ram, mas um bom Gpu. Se suas tarefas se beneficiarem disso, pode fazer sentido.
Thorbjørn Ravn Andersen
A GPU é apenas benéfica se você deseja fazer algo para o qual já existe código ou se pode negociar o acesso à documentação de programação proprietária da GPU.
Chris Stratton

Respostas:

10

Se você quiser analisar isso, precisará ir além de dizer 20 rpis vs. $ 1000 e decidir por si mesmo o que pode obter e usar por US $ 1000. Observe que este não é o canal de compras.

Digamos que você possa obter uma placa-mãe, fonte de alimentação, 8 GB de RAM, um processador i7 de 6 núcleos de 3,4 GHz e um disco rígido antigo (ainda mais rápido que um cartão SD!) Por ~ US $ 1000. O total de ciclos por segundo seria 6 * 3,4e9 = 20,4e9, versus 20 * 0,7e9 = 14e9 para o supercomputador pi.

Agora considere o fato de que um processador com vários núcleos é um processador com vários núcleos, enquanto o E / S betwixt pis (se isso se tornar um fator significativo) será uma ordem de magnitude mais lenta.

Embora eu não tenha um interesse sério (ou conhecimento) de supercomputadores pi, eu diria que eles são para fins educacionais e de experimentação. Definitivamente, é um cluster barato, mas se seu objetivo é processar números rapidamente (em vez de experimentar e educar), não há como um cluster pi ser mais econômico ou econômico do que um PC normal.

Cachinhos Dourados
fonte
Obrigado, "O total de ciclos por segundo seria 6 * 3,4e9 = 20,4e9, versus 20 * 0,7e9 = 14e9 para o supercomputador pi". é basicamente o que eu estava procurando, mas não sabia o que procurar.
Dean MacGregor
Um Pi usa apenas 5 watts. Isso significa que 20 pis usar apenas 100 watts, que é menos do que o PC que você descreve é assim é mais custo e eficiente da energia (mas com menos CPU :))
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen da minha experiência, a unidade SSD 8 Core i7 + + 16GB de RAM usa cerca de 50-70Wt, dependendo da carga do processador em uma instalação sem cabeça (sem o monitor).
27514 lenik
Quando você usa RPi2, a quantidade de ciclos aumentaria para 20 * 4 * 0,9e9 = 72e9, com o overclock você pode atingir 20 * 4 * 1,1e9 = 88e9 ciclos por segundo. Agora, com esse aumento do poder computacional do pi, você acha que valeria a pena construir um RPi-Cluster?
Sirac
1
@goldilocks 1) Meu conhecimento sobre supercomputadores não é bom para discutir sobre a velocidade de Mbps. 2) No geral, uma CPU Intel pode ser mais rápida que um conjunto de ARMv7 pelo mesmo preço. Eu tenho que procurar algumas estatísticas para ter uma visão melhor sobre isso. 3) Leva horas para compilar um kernel em um RPi2, tentei e espero não fazê-lo novamente no futuro. Para resumir, um RPi pode não ser a escolha perfeita para um supercomputador, mesmo que não seja o RPi2. Mas certamente faz um bom projeto, já que o RPi é muito barato e você pode facilmente combinar vários deles. Estou pensando em uma simulação de rede, porque você pode ...
Sirac
2

Isso tem uma resposta um tanto complexa - uma pergunta-chave que você precisa responder é "que tipo de trabalho você está solicitando à máquina?"

O conjunto de instruções em diferentes máquinas (ARM x Intel e qualquer outro), bem como a qualidade dos compiladores, fazem uma grande diferença no desempenho real. Se o trabalho que você está solicitando tem aceleração de hardware em uma máquina, mas não em outra, esse fator por si só fará mais diferença do que uma mudança significativa na taxa de clock.

Nos termos mais gerais, acho que o maior retorno em termos de preço / desempenho virá de um CPU geral multicore com freqüência moderada da AMD ou Intel. Se você estiver em um ambiente controlado, onde as temperaturas ambiente são baixas, provavelmente poderá fazer um overclock desses chips um pouco para obter mais desempenho.

Definitivamente, o rasPi NÃO foi projetado para esse tipo de coisa, o que não deve prejudicar seu alto valor em aprender como as coisas funcionam e até em construir um sistema verdadeiramente "distribuído" a um preço muito acessível. Mas se você precisa fazer dados sérios e / ou processamento de números, o rasPi provavelmente não é a escolha certa.

ljwobker
fonte
1

Deixando de lado a CPU com pouca potência no pi, não consigo ver como você obterá os dados para as CPUs com rapidez suficiente em dezenas de pis para ver os ganhos de desempenho valendo o esforço. A velocidade do barramento é tão importante na supercomputação em cluster quanto a velocidade da CPU, e o pi é muito inadequado aqui.

O acesso à rede e ao disco compartilhará o mesmo barramento USB2 de 60 MBs. O cartão SD tem, na melhor das hipóteses, desempenho na faixa de velocidade de 20 MBs.

O hardware de PC de gama baixa com SATA a 150 MB e Ethernet em um barramento PCI de 2 GB oferece uma quantidade de largura de banda maior.

sal
fonte
3
Isso depende inteiramente do aplicativo - alguns aplicativos têm taxas muito altas de "trabalho" para "comunicação" e outros exigem muito mais comunicação por quantidade de trabalho realizado.
Chris Stratton
0

Se você deseja aprender a supercomputação entre nós. .. eu configuraria o pi. Se você quiser algo barato, mas poderoso - compre um servidor / estação de trabalho Intel com vários núcleos e baseado em Xenon e coloque uma ou mais placas Tesla ou placas Guda Cuda usadas ou placas Phi Intel.

Jay Wolfe
fonte