Creazione di un cluster domestico - analisi dell'hardware e dei costi [chiuso]


14

Qualcuno conosce alcuni link / libri / qualsiasi cosa tu possa pensare, che descriva il processo di costruzione di un piccolo cluster di casa (quando dico casa , non significa necessariamente per rimanere a casa - significa solo che è relativamente economico e piccolo) per scopi sperimentali, con un'enfasi speciale su quale hardware sarebbe adeguato oggi e una sorta di analisi dei costi?

Tuttavia, se qualcuno lo ha fatto, apprezzerei tutta l'esperienza che puoi condividere.


2
Che tipo di cluster? Cluster SQL? Web farm? Render farm? Questi sono dettagli importanti quando si specifica l'hardware.
Tsilb,

1
Calcolo numerico; CFD (per non entrare nei dettagli) - parallelizzando il codice fortran.
Rook,

Risposte:


8

Helmer viene in mente. :)


1
OK, questa è una pagina davvero ordinata e fa sembrare insignificante il mio povero cluster DeCeleron 4node defunto.
Bill B,

Ottima pagina! Adoro il cabinet IKEA :) (forse non la soluzione migliore, ma comunque carino)
Rook

Per spiegare, questa è una farm di rendering basata su CPU. Sono 6 macchine Intel Quad Core inserite in un archivio da IKEA (il nome del prodotto è Helmer). Apparentemente l'armadio ha dei fori (non da IKEA) sul retro che consente il montaggio di un alimentatore e una ventola in 6 punti.
dlamblin,


3

Dai un'occhiata ai libri di Beowulf Cluster Computing di Thomas Sterling (uno per Linux e uno per Windows). Ti dicono tutto ciò che devi sapere sull'uso di MPI per far dialogare i tuoi nodi.

Un amico e io abbiamo creato un cluster di 8 scatole utilizzando hardware davvero scadente e su cui abbiamo eseguito Windows XP. Erano come scatole Pentium I - 90 MHz. Ben al di sotto delle specifiche richieste per Windows, ma ha funzionato bene. Abbiamo anche eseguito SQL Server 2000 su di essi (anch'esso ben al di sotto delle specifiche consigliate) e abbiamo eseguito alcuni modelli black-scholes dei prezzi delle opzioni su azioni.

È difficile consigliare quale tipo di hardware sarebbe adeguato senza sapere cosa si desidera fare con il cluster. Ma la linea di fondo è che puoi costruire un cluster di quasi tutto.


Non ci crederesti, ho ordinato esattamente quel titolo ieri! Ora aspetto che arrivi :) Pentium 90 - wow, è vecchio. Come ha funzionato, liscio o con problemi? Potresti dare un confronto con qualche equivalente moderno? Questo BTW è in realtà una buona idea per quello che sto cercando di fare, dal momento che quel tipo di hardware oggi può essere ottenuto praticamente gratuito (comunque economico a buon mercato). Sto cercando di costruirlo allo scopo di parallelizzare un po 'di codice, quindi sto sperimentando allo stesso tempo con il codice e la parte hardware. È un esperimento di apprendimento per vedere come andrà.
Arriva il

1
Il costo di gestione di hardware così vecchio è elevato, in termini di potenza / lavoro; più macchine a 90 MHz useranno molta energia elettrica per produrre l'equivalente di lavoro di una macchina singola più efficiente. Sono interessato al tuo progetto, ma ... tieni presente che può essere costoso in modi interessanti ... =]
David dice di reintegrare Monica il

le prestazioni andavano bene. era un progetto per la scuola e il nostro hardware era tutto ciò che la scuola aveva in giro. Inoltre, non ci siamo preoccupati dei problemi di alimentazione, ma Ricebowl è assolutamente corretto. erano mostri rumorosi.
Nathan DeWitt,

@ricebowl - A questo punto, questo non è un problema. 90Mhz sono una buona idea da quando li abbiamo messi in giro, quindi nessun costo lì. Elec. inoltre non è un problema, dal momento che l'azienda lo paga, la potenza utilizzata dai computer è trascurabile lì. A questo punto sto imparando i fondamenti, se necessario è sempre possibile ottenere nuovo hardware.
Rook,

@Nathan DeWitt - anche il volume non è un problema. Non mi importa il suono (mi è sempre sembrato rilassante), e comunque nessuno li circonda.
Rook,

2

Un'alternativa alla presenza di molti nodi di cluster fisici è la creazione di macchine virtuali. Avresti solo una o due macchine fisiche reali, ma potresti simulare avere molti più nodi. Funzionerebbe perfettamente per la creazione, l'apprendimento e l'utilizzo di meno risorse (spazio, energia, $$$).

Questo non ti darebbe gran parte delle analisi dei costi, ma ti farebbe iniziare. Il tipo di installazione del cluster dipende dal tipo di lavoro che si desidera creare per esso. Puoi avere molti piccoli nodi o avere solo pochi nodi potenti. Ci sono anche ambienti di memoria condivisi e non condivisi da considerare. Che tipo di programmi paralleli vuoi creare? Più nodi fisici hai, più spazio, alimentazione, raffreddamento e interconnettività di rete devi considerare. A volte, solo un grande computer enorme è la strada da percorrere (e gli ambienti di memoria condivisa sono più facili da programmare per IMHO).

Di recente ho iniziato a giocare con un cluster per creare alcune caselle P4 casuali, Ubuntu e LAM-MPI. È stata sicuramente un'esperienza di apprendimento.

In realtà erano un paio di laptop e torri p4 accatastati insieme in un garage. Era il ghetto, ma volevo solo imparare. Ho appena usato una rete Ethernet a 100 Mbps. Ho scelto Ubuntu, perché non volevo occuparmi di molta configurazione hardware delle scatole. Ubuntu aveva molti driver di cui avevo bisogno. Avevo bisogno di un ambiente Linux poiché le applicazioni che ho scritto erano app basate su C con interfacce MPI. Ho provato a replicare quello che avevo usato prima. È stato tutto fuorviante. hardware, niente di standard. La maggior parte dei cluster ha hardware esatto in modo da poter aggiungere e rimuovere i nodi in un attimo.


Bene, ho un gran numero di vecchie postazioni di lavoro a mia disposizione. Dai primi pentium a quelli fino a 266 Mhz. Spazio e potenza ne ho abbastanza. Anche il rumore non è un problema, non è vicino alle persone (sì, nel caso ti stia chiedendo, non mi considero un membro della razza umana :) Il nuovo hardware può sempre essere ottenuto più tardi se necessario, ma per ora io sto cercando di evitare costi inutili, se posso, giocando con questi. Sto cercando di parallelizzare alcuni (non vecchi) codici fortran (CFD, FVM). A questo punto sono per lo più interessato all'assemblaggio hardware, ai principi operativi del sistema operativo e alla comprensione generale delle cose
Rook

La virtualizzazione è di scarsa utilità se si tratta di calcoli numerici associati alla CPU.
Tadeusz A. Kadłubowski,

Se non ti sto chiedendo troppo, come li hai collegati (non solo gli interni, ma dove li hai messi (grande torre? Problemi di raffreddamento?))? Perché ubuntu
Rook,

@Idigas Aggiunto un paragrafo alla mia risposta.
Troggy

1

A seconda di ciò che stai cercando di fare, considera di sviluppare il tuo sistema su un cluster di macchine virtuali. L'uso di una soluzione di virtualizzazione del sistema operativo come OpenVZ o Parallel's Virtuozzo o Solaris Containers ti consentirà di scalare fino a enormi densità rispetto alla virtualizzazione completa del sistema (ad esempio VirtualBox / VirtualPC / Xen / VMWare). Quindi, quando è effettivamente necessario distribuire il sistema per alcune prestazioni, eseguirlo "nel cloud" su Amazon EC2 o simili.


Speravo di riutilizzare alcuni hardware più vecchi che ho messo in giro a questo punto, quindi la virtualizzazione non è così attraente per me.
Rook,

1

Vorrei iniziare guardando i progetti LittleFE ( http://littlefe.net/ ) o Bootable Cluster CD ( http://bccd.net/ ), personalmente. Vedi anche il progetto Ubuntu Cloud ( http://www.ubuntu.com/cloud ).

Più o meno qualsiasi hardware dovrebbe funzionare. Sarei propenso a guardare qualche forma di accordo ravvicinato o macchine che escono dal contratto di locazione per ritirare dell'hardware economico.


0

Dai un'occhiata a Rocks, che è una distribuzione di cluster che rende davvero semplice la creazione di cluster. Ridimensiona anche fino a qualche centinaio di nodi.

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.