Domanda:
Il cluster Raspberry Pi ha senso per una piccola fattoria di rendering
Rehan Ullah
2016-06-25 23:07:35 UTC
view on stackexchange narkive permalink

Ho visto molti articoli che dicevano come unire i lamponi per formare un grappolo. Fondamentalmente sono un tipo di artista 3d e sai che il rendering di un'animazione di 10 secondi può richiedere ore.

Quindi, se creo un cluster di circa 20 o più lamponi con ciascuno 1 GB di RAM, il risultato finale avrà 20 GB di RAM? Voglio solo sapere quale sarà il ruolo del cluster per quanto riguarda la RAM? Sono preoccupato per la RAM perché è questo che mi turba ... Non mi concentro sul processore ma sulla RAM.

Grazie per la pazienza P.S. La mia prima domanda qui.

probabilmente sovraperformato da una scheda video da 8 GB
Come hanno risposto altri, no, non ha davvero senso. A seconda della potenza di rendering necessaria, un ["Scooter Computer"] di fascia alta (https://blog.codinghorror.com/the-scooter-computer/) (o più) potrebbe andare bene per il rendering della CPU. Se stai eseguendo il rendering GPU, non sarebbe buono.
Sembra che potresti usare Thea Render per Cinema 4D su un Raspberry Pi. https://www.thearender.com/site/index.php/downloads/thea-for-arm.html
Sei risposte:
tlhIngan
2016-06-26 00:26:56 UTC
view on stackexchange narkive permalink

Il consenso generale è che i cluster sono uno spreco di larghezza di banda. Sì, il tuo cluster avrà accesso alla somma di tutta la potenza di elaborazione e della RAM, ma stai introducendo la latenza di rete nella tua equazione delle prestazioni. Se ti concentri più sulla RAM che sulla CPU, potresti costruire un desktop con molta RAM allo stesso prezzo del tuo cluster Pi. Hai menzionato 20 dispositivi Rpi2 per il tuo cluster. 20 x $ 35 = $ 700. Se scegli la strada AMD (meno costosa per lo stesso livello di prestazioni di Intel), potresti costruire un desktop con 32 GB o RAM per lo stesso importo in dollari.

Inoltre, la RAM su RPi (LPDDR2 ) funziona a 400 MHz ed è possibile accedervi a una velocità di 800 MT / s, mentre un desktop (basato su AMD) utilizza RAM (DDR3) che funziona a 1066 MHz ed è possibile accedervi a una velocità di 2133 MT / s, circa 2,5 volte più veloce.

Tutto sommato, sì, costruire un gruppo di Pi è un bel progetto. Ma se il tuo obiettivo è accedere a prestazioni migliori, un desktop con specifiche migliori è una soluzione migliore.

In realtà, DDR3 è di solito 1333 MHz o 1600 MHz. 1066MHz è solo quando si esegue una CPU più vecchia (che supporta la velocità massima di DDR2) e quindi la si mette su una scheda che supporta DDR3. Avevo questa configurazione con un Intel Q6600 (Socket 775), che aveva una velocità FSB di 1066 MHz.
@IsmaelMiguel Non confondere la velocità di clock con la velocità di trasferimento:) https://en.wikipedia.org/wiki/DDR2_SDRAMhttps://en.wikipedia.org/wiki/DDR3_SDRAM
Sì grazie per le informazioni .. Ora mi rendo conto che è stata una sciocchezza da parte mia .. Ma voi mi avete guidato e ora sono sulla buona strada :)
sir_ian
2016-06-25 23:30:38 UTC
view on stackexchange narkive permalink

Risposta breve: probabilmente

Dipende davvero dalla possibilità o meno di parallelizzare il processo. Alcuni processi non possono essere suddivisi tra gli RPi e quindi non trarrebbero alcun vantaggio da un cluster. Tuttavia, il rendering delle animazioni sembra un'attività che potrebbe essere suddivisa e quindi trarrebbe vantaggio da un cluster.

@Thingian ha detto che introduce molta latenza di rete, questo è vero tuttavia non so molto sul rendering ma ancora una volta penso che questo avrebbe effetto poco come quando si esegue il rendering del processo diverso probabilmente non c'è bisogno di "parlare" tra di loro così tanto.

Se desideri approfondire questo argomento, ti consiglio di utilizzare questa domanda e questa correlata thread del forum dal forum RPi ufficiale (anche se questo ha meno con la grafica e più con il clustering generale) così come Come faccio a creare un cluster?

Se vorresti acquistare la configurazione con una quantità minima di lavoro da parte tua Iden .inc http://idein.jp sta costruendo una bacheca e questo renderebbe più semplice per te collegare 16 zeri RPi e probabilmente si occuperebbe delle connessioni e farebbe sembrare la tua scrivania un po 'meno simile a un nido di topi (SE puoi trovare gli zeri in quanto sono estremamente scarsi in questo momento)

Stai parlando del processo multi-thread ... Penso che Maya e Blender debbano essere multi-thread ... Leggerò di loro ora ..
Grazie per l'input .. Penso che dovrò scegliere il modo alternativo .. Ho cercato di più e ho scoperto che Raspberry non era un buon modo per andare.
Penso che la parola che vuoi sia parallelizzabile. Non otterrai 20 GB perché parte di quella RAM verrà utilizzata per il sistema, allo stesso modo per la connessione di rete. Sebbene @RehanUllah non si preoccupi della CPU, un Pi è più lento dei desktop più recenti. Quando si è reso conto che questa potrebbe non essere la soluzione migliore.
@SteveRobillard Grazie per la parola e hai ragione su tutto il resto.
I Raspberry Pi sono lenti ed economici, ma hanno una buona GPU. Se quello che vuoi fare si adatta a questo, forse. Altrimenti probabilmente no.
@SteveRobillard sì, mi sono imbattuto in un articolo che mostra come realizzare una render farm a 24 core a un prezzo ragionevole di circa 3200 dollari ... Penso che abbia un buon raffreddamento e relativamente migliore di pi farm.
@ThorbjørnRavnAndersen Non so di Maya, ma per Blender almeno solo il motore di rendering Cycles può utilizzare la GPU, e lo fa utilizzando CUDA. È come usare la GPU come un processore veloce, un po 'come il mining su una GPU. Blender può utilizzare solo GPU NVIDIA, quindi la GPU del Pi sarà inutile per il rendering. La CPU non sarà eccezionale e la RAM sarà distribuita su tutti i Pis, quindi non sarai in grado di eseguire il rendering di nulla che abbia bisogno di più di 1 GB di RAM (vedi [Risposta di Agate] (http: //raspberrypi.stackexchange. com / a / 50403/39319)).
Journeyman Geek
2016-06-26 16:00:45 UTC
view on stackexchange narkive permalink

Probabilmente no. Ci sono alcuni problemi qui.

Il raspberry pi esegue l'architettura ARM e non ho mai visto software di rendering che funziona su di esso. La migliore renderfarm è inutile se il tuo software non funziona.

Anche se più costoso, x86 ha un migliore supporto single threaded , software disponibile. Sebbene la ram on die possa avere una latenza inferiore, più e più veloce potrebbe essere utile.

"Quindi se io creare un cluster di circa 20 o più lamponi con ciascuno 1 GB di RAM il risultato finale avrà 20 GB di RAM? "

No, eseguiresti X thread su un sistema ciascuno facendo parte di un'attività, con Y ram. Quindi potresti impostare il tuo gestore di rendering per eseguire 4 attività con un massimo di 512 MB di RAM ciascuna e dividere un rendering su molti sistemi che gestiscono un fotogramma ciascuno.

Comincerei con il software . Controlla in cosa verrà eseguito. Non ha senso costruire un cluster Raspberry Pi con software che funziona solo su x86, e potresti finire con un PC adeguato e una scheda video se l'accelerazione GPU ti dà buoni risultati con il tuo software specifico. Il mio lavoro precedente era giurato su molti molti core x86, quindi la mia risposta lo riflette.

Per quanto riguarda l'hardware, penso che il "computer scooter" di cui ha scritto Jeff Atwood sarebbe una buona base di partenza. Potresti andare ancora più a buon mercato se volessi sacrificare un po 'di prestazioni per il costo

350 usd (o 10 pis) ti danno

  i5-5200 Broadwell 2 core / 4 thread CPU a 2.2 Ghz - 2.7 Ghz 16 GB DDR3 RAM 128 GB M.2 SSD Doppio gigabit Realtek 8168 ethernetfront 4 porte USB 3.0 / posteriori 4 porte USB 2.0 Doppia uscita HDMI  

Otterresti più di 10 volte la ram, un core x86 più veloce con HT.

Non si ottiene una pessima connessione ethernet da 100 Mbps strozzata da USB

Si ottiene una memoria interna ragionevolmente veloce (che sarebbe anche sii gentile se hai bisogno di più swap).

Ottieni meno thread ma con prestazioni migliori a thread singolo (il che è comunque bello!).

Ho anche personalmente avuto problemi con le installazioni rpi che non riuscivano e beh, questi hanno dischi rigidi effettivi (bene SSD) non schede SD lente e sarebbero più affidabili .

Considerando tutto questo, il cluster pi sarebbe un'opzione terribile rispetto a una macchina decente di fascia bassa.

"Non ho mai visto un software di rendering che gira su di esso" - http://blender.stackexchange.com/questions/33015/can-blender-run-headless-on-an-arm-processor/33062 ma guarda la velocità : * più di un'ora * per rendere quel fotogramma?
il frullatore potrebbe funzionare sulla piattaforma del braccio utilizzando il prodotto eltechs exagear ...
Agate
2016-06-27 06:37:17 UTC
view on stackexchange narkive permalink

Certo che no! Ogni nodo nel tuo cluster deve essere in grado di caricare tutte le trame / geometrie ecc. Quindi limiterebbe la dimensione totale dei dati di origine a (molto meno di) 1 GB, ma 20 copie.

Invece , prendi in considerazione il noleggio di un'istanza EC2, su richiesta: https://aws.amazon.com/ec2/pricing

Ad esempio, verrà visualizzato un c3.8xlarge a $ 1,68 l'ora molto più veloce di un cluster di PI, oltre a essere più facile da configurare e impostare.

(A seconda della tua posizione, probabilmente è nello stesso campo da tennis dell'elettricità per eseguire PI 20 volte.)

Il Pi 2 richiede [circa 2,1 Watt a pieno carico.] (Https://www.raspberrypi.org/magpi/raspberry-pi-3-specs-benchmarks/) Moltiplicando per 20, sono 42 watt. Il costo medio dell'energia negli Stati Uniti è [circa 12 centesimi / kWh.] (Http://www.npr.org/sections/money/2011/10/27/141766341/the-price-of-electricity-in-your -state) Quindi 0,504 cent / ora, o 333 volte in meno. L'Australia ha [i prezzi più alti al mondo] (http://www.statista.com/statistics/477995/global-prices-of-electricity-by-select-country/) a $ 0,49 USD, ma sono ancora solo 2,058 centesimi / ora, o 81 volte meno. Non sto dicendo che i Pis sono buoni per il rendering ...
@Nateowami Penso anche che dal punto di vista energetico Pis consumi meno, ma devi anche realizzare un sistema di raffreddamento per quello che a volte può aumentare il consumo di elettricità.
@RehanUllah In realtà, Pis si raffredda passivamente e [non ha nemmeno bisogno di un dissipatore di calore.] (Http://raspberrypi.stackexchange.com/questions/22928/does-the-raspberry-pi-need-a-cooling-system) Se li facessi funzionare costantemente a pieno carico, abbasserebbe la velocità di clock, nel qual caso sarebbe utile un dissipatore di calore passivo. Ma Pis non è ancora una buona strada da percorrere, perché 1 GB di RAM è molto limitante.
@Nateowami Sì, hai ragione ... Sicuramente non sto andando da quella parte ora .. Stavo solo cercando di sapere se fosse possibile e utile ma ora da tutte le risposte e le informazioni qui mi rendo conto che non lo è :)
JDługosz
2016-06-26 12:57:01 UTC
view on stackexchange narkive permalink

Se la velocità del nuovo pi3 è tale (guardando i report di mips) che ne occorrono circa 26 per eguagliare uno Haswel Xeon o i7, concludo che è più economico utilizzare processori desktop. Il mio desktop ha 32 GB di RAM, quindi è più di quella che ottieni da 26 nodi da 1 GB e ne hai bisogno di meno poiché il codice non deve essere duplicato 26 volte.

Per i cluster che ho visto utilizzare pis più vecchio, ci vorrebbero 4 volte di più! Penso che sia il caso anche per il pi zero. Quindi inutile per l'uso effettivo, ma un modo economico per avere una piattaforma per testare il software di clustering, quindi è davvero un cluster.

Per una rendering farm, dovresti confrontare la GPU.
+1! Tutto questo rendering probabilmente non sarebbe affatto un problema con una GPU basata sul calcolo adeguata, come una nVidia Quadro. In effetti, probabilmente una qualsiasi delle più recenti GPU da gioco nVidia con supporto di elaborazione sarebbe migliore per qualsiasi software di rendering compatibile con CUDA.
nicholas
2017-04-06 17:40:25 UTC
view on stackexchange narkive permalink

Ad essere onesti, dipende da cosa stai elaborando. I Raspberry Pi sono fatti per essere versatili e fare molte cose diverse. L'IoT, i personal computer, i supercomputer, i server, ecc.

Se esegui il cluster, aumenti la potenza della tua configurazione con Pi. Ci sono supercomputer costruiti per hash ed elaborare dati, costruiti da pi. Ci sono configurazioni gpu molto più potenti, che elaboreranno anche grafica e big data.

Prendi ad esempio il cloud computing e comprendi che puoi essenzialmente creare cluster e supercomputer, all'interno del framework cloud.

allora dovresti capire che l'aggiunta di GPU su google cloud, AWS, AZURE o Bluemix, aumenta il prezzo della tua istanza in esecuzione.

Molte volte, è altrettanto costoso, se non di più costoso, solo per aggiungere un'istanza GPU.

In Google Cloud, ad esempio, puoi avere fino a 8 istanze GPU, per un'istanza VM di 8 core.

Ora, prendi tutte le impasto che spenderesti non solo per acquistare tutti quei raspberry pi, e tutto il costo dell'elettricità, e capire che probabilmente nella maggior parte delle circostanze, è meglio che tu usi 1 raspberry pi. e poi usin g quel raspberry pi, per connettersi ai servizi di cloud computing.

ci sono demo da provare sui servizi di cloud computing, ma praticamente nessuna di esse ti permetterà di provare istanze GPU su account demo.

Quindi userei semplicemente un raspberry pi, eseguirò ubuntu mate, e mi collegherò a IBM bluemix e / o google cloud. per creare cluster.

l'unica cosa che morde con questo, è che lo sviluppo di app nel cloud fa schifo, se hai bisogno di eseguire xcode, perché puoi sognare, trovando una dannata immagine di MacOS, per il cloud, senza acquistare la tua, da caricare sulle VM.

a meno che tu non stia creando una sorta di cluster robotico, motorizzato, per scopi di visualizzazione fisica.

sono i miei 2 centesimi.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...