Un supercomputer costruito da molti RPi è davvero pratico o solo una novità?


13

Questa domanda è ispirata a questo articolo .

Attualmente passo molto tempo in R per analizzare i dati. Alcuni degli script che eseguo in R potrebbero trarre vantaggio dal calcolo parallelo per risparmiare tempo. Diciamo che potrei costruire un computer "reale" barebone per forse ~ $ 300 e per gli stessi $ 300 potrei ottenere 6 Pis (inclusi cavo di alimentazione e scheda SD). Supponendo che avessi un compito adatto alla parallelizzazione, sarei migliore con il Pis o il computer "reale"?

La risposta cambierebbe se acceleri l'hardware del "vero" computer a qualcosa che potrebbe costare $ 1000 come sarebbe quella tariffa contro 20 Pis?


Il Pi è un computer lento con una piccola ram ma una buona Gpu. Se i tuoi compiti ne traggono beneficio, potrebbe avere senso.
Thorbjørn Ravn Andersen,

La GPU è utile solo se si desidera fare qualcosa per cui esiste già un codice o se è possibile negoziare l'accesso alla documentazione di programmazione GPU proprietaria.
Chris Stratton,

Risposte:


10

Se si desidera analizzare questo, è necessario passo oltre dicendo 20 RPI contro $ 1000 e decidere per te cosa si può effettivamente ottenere e utilizzare per $ 1000. Si noti che questo non è il canale di shopping.

Diciamo che puoi ottenere una scheda madre, un alimentatore, 8 GB di RAM, un processore i7 a 6 core 3,4 Ghz e un vecchio disco rigido (ancora più veloce di una scheda SD!) Per ~ $ 1000. I cicli totali al secondo sarebbero 6 * 3.4e9 = 20.4e9, rispetto a 20 * 0.7e9 = 14e9 per il supercomputer pi.

Consideriamo ora il fatto che un processore multi-core è un processore multi-core, mentre l'I / O tra pis (se questo diventa un fattore significativo) sarà più lento di ordini di grandezza.

Anche se non ho un serio interesse (o conoscenza) per i supercomputer, suppongo che siano a scopo sperimentale ed educativo. È sicuramente un cluster economico, ma se il tuo obiettivo è quello di sgretolare i numeri velocemente (al contrario di sperimentare ed educare), non c'è modo in cui un cluster pi sarà più economico o energetico rispetto a un normale PC.


Grazie, "I cicli totali al secondo sarebbero 6 * 3.4e9 = 20.4e9, rispetto a 20 * 0.7e9 = 14e9 per il supercomputer pi". è fondamentalmente ciò che cercavo, ma non sapevo cosa cercare.
Decano MacGregor,

Un Pi utilizza solo 5 watt. Ciò significa che 20 pis usano solo 100 watt, che è inferiore al PC che descrivi, quindi è più efficiente in termini di costi ed energia (ma con meno CPU :))
Thorbjørn Ravn Andersen,

@ ThorbjørnRavnAndersen dalla mia esperienza, 8 Core i7 + drive SSD + 16GB di RAM usano circa 50-70Wt a seconda del carico del processore in un'installazione senza testa (senza monitor).
Lenik,

Quando usi RPi2, la quantità di cicli aumenta a 20 * 4 * 0.9e9 = 72e9, con l'overclocking puoi persino raggiungere 20 * 4 * 1.1e9 = 88e9 cicli al secondo. Ora, con questo aumento della potenza computazionale del pi, pensi che varrebbe la pena costruire un RPi-Cluster?
Sirac,

1
@goldilocks 1) La mia conoscenza dei supercomputer non è buona per discutere della velocità di Mbps. 2) Soprattutto, una CPU Intel potrebbe essere più veloce di un set di ARMv7 allo stesso prezzo. Devo cercare alcune statistiche per avere una visione migliore di questo. 3) Ci vogliono ore per compilare un kernel su un RPi2, l'ho provato e spero di non farlo di nuovo in futuro. Riassumendo, un RPi potrebbe non essere la scelta perfetta per un supercomputer, neanche RPi2. Ma rende sicuramente un buon progetto, poiché l'RPi è molto economico e puoi facilmente combinarne diversi. Sto pensando a una simulazione di rete, perché puoi ...
Sirac,

2

Questa ha una risposta alquanto complessa - una domanda chiave a cui devi rispondere è "che tipo di lavoro stai chiedendo alla macchina di fare?"

Le istruzioni si basano su macchine diverse (ARM vs Intel vs chiunque altro) e la qualità dei compilatori fa una grande differenza nelle prestazioni effettive. Se il lavoro che stai chiedendo di eseguire ha un'accelerazione hardware su una macchina ma non su un'altra, quel fattore da solo farà più differenza di una variazione significativa nella frequenza di clock.

In termini più generali, penso che il più grande vantaggio in termini di prezzo / prestazioni verrà da una CPU multi-core moderata con clock moderato di AMD o Intel. Se ti trovi in ​​un ambiente controllato in cui le temperature ambientali sono basse, puoi probabilmente overcloccare un po 'questi chip per ottenere maggiori prestazioni.

Il rasPi NON è sicuramente progettato per questo tipo di cose, che non dovrebbero togliersi dal suo alto valore nell'apprendere come funzionano le cose e persino costruire un sistema veramente "distribuito" a un prezzo molto conveniente. Ma se i dati seri e / o il crunching dei numeri sono ciò che devi fare, rasPi non è probabilmente la scelta giusta.


1

Lasciando da parte la CPU sottodimensionata sul pi, non riesco a vedere come avrai i dati per le CPU abbastanza velocemente su dozzine di pis per vedere i guadagni delle prestazioni che valgono lo sforzo. La velocità del bus è altrettanto importante nel supercomputer cluster quanto la velocità della CPU, e il pi è molto inadeguato qui.

Sia la rete che l'accesso al disco condivideranno lo stesso bus USB2 da 60 MB. La scheda SD ha, nella migliore delle ipotesi, prestazioni nella gamma di velocità di 20 MB.

L'hardware per PC di fascia bassa con SATA a 150 MB e Ethernet su un bus PCI da 2 GB offre ordini di grandezza maggiore larghezza di banda.


3
Ciò dipende interamente dall'applicazione: alcune applicazioni hanno rapporti molto elevati di "lavoro" con "comunicazione" e altre richiedono molta più comunicazione per quantità di lavoro svolto.
Chris Stratton,

0

Se vuoi imparare il supercalcolo tra i nodi. .. vorrei impostare il pi. Se vuoi qualcosa di economico ma potente, acquista un Intel Server / Workstation multi core basato su Xenon e inserisci una o più schede Tesla usate o una o più schede Cuda gpu o una scheda Intel Phi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.