Casa > Q > Quão Poderosos São 20 Clusters De Raspberry Pi Em Comparação Com Uma Única Placa I7?

Quão poderosos são 20 clusters de Raspberry Pi em comparação com uma única placa i7?

tl;dr: Implementar aplicações para clusters é completamente diferente de implementar aplicações em um único computador. Sem um benchmarking cuidadosamente pensado o desempenho deles não é comparável. O meu palpite é que um cluster é mais lento para a maioria dos problemas. Clusters são boas escolhas se o problema pode ser decomposto em muitos sub-problemas independentes e se o tamanho do problema é muito grande para qualquer computador individual lidar. Aprendizado de máquina, mineração de dados e implementação de mecanismos de busca vêm à minha mente.

-

Honestly, eu não posso dizer sem benchmarking. O que eu posso dizer com certeza é que um cluster de 20 máquinas tem um desempenho completamente diferente de um único computador com um Intel Core i7. Vou explicar porque.

Um computador desktop normal equipado com um Core i7 tem um único espaço de endereço. Isto significa que programas podem (em sua maioria) assumir que todas as partes da RAM podem ser acessadas com aproximadamente o mesmo desempenho (tempo de acesso, largura de banda para CPU/disco)*.

A principal diferença para clusters é que o espaço de endereço dos nós não é compartilhado. Se forem necessários dados de outro nó, os dados têm de ser transferidos através da rede. Isto leva aos seguintes desafios:

  1. Os programas não podem fazer uso de um cluster. (Na verdade, a maioria dos programas não pode sequer fazer uso de mais de um núcleo na mesma máquina). Quando um programa para um cluster é criado, então a comunicação via passagem de mensagens tem que ser realizada. Bibliotecas como MPICH, OpenMPI, e ZeroMQ facilitam a vida, mas o programador deve saber o que eles estão fazendo.>li>Apenas poucos algoritmos (entre eles os chamados problemas "embaraçosamente paralelos") produzem uma velocidade linear, por exemplo, você dobra o número de nós, você corta o tempo de cálculo pela metade. Muitas vezes, embora os nós tenham que coordenar ou compartilhar resultados intermediários. Se os nós fazem isso muitas vezes é porque a rede é muito lenta em comparação com os barramentos internos do nó.
  2. Em algum ponto a rede e a sobrecarga de comunicação se tornarão gargalos. Então, adicionar mais nós não vai mais aumentar a performance. Com 20 nós você já poderia atingir esse limite, mas é necessário fazer um benchmarking para testar essa afirmação.

*) Na verdade, isto é completamente falso. Os seguintes factores transformam isto numa história complexa:

>ul><Caches para tornar o acesso aos dados frequentemente utilizados mais rápido,Paging (mapeamento virtual do espaço de endereços RAM por processo para o espaço real),li>Swapping (mover páginas para memória não volátil, sloooow se ficar sem memória RAM),>li>NUMA (Non-Uniform Memory Access), o que significa que alguns núcleos de CPUs/CPU podem acessar partes da RAM mais rapidamente,>li>li>E com certeza alguns outros fatores que eu desconheço...

**) É verdade que os nós Pi de framboesa superam isso porque os cabos curtos reduzem a latência da rede a um mínimo. Por outro lado, apenas 10/100 MBit Ethernet é suportado.

De Kwei

O Raspberry Pi é 32-bit ou 64-bit? :: Como se compara um Raspberry Pi com um i3?