Création d'un cluster domestique - analyse du matériel et des coûts [clôturé]

14

Quelqu'un connaît-il des liens / livres / tout ce à quoi vous pouvez penser, qui décrivent le processus de construction d'un petit groupe de maisons (quand je dis maison , cela ne signifie pas nécessairement pour rester à la maison - signifie juste que c'est relativement bon marché et petit) pour à des fins expérimentales, avec un accent particulier sur quel matériel serait adéquat aujourd'hui, et une sorte d'analyse des coûts?

Bien que si quelqu'un ici l'a fait, j'apprécierais toute l'expérience que vous pouvez partager.

Tour
la source
2
Quel genre de cluster? Cluster SQL? Ferme Web? Ferme de rendu? Ce sont des détails importants lors de la spécification du matériel.
tsilb
1
Calcul numérique; CFD (pour ne pas entrer dans les détails) - parallélisation du code fortran.
Tour

Réponses:

8

Helmer me vient à l'esprit. :)

churnd
la source
1
OK, c'est une page vraiment soignée et fait que mon pauvre cluster DeCeleron 4node disparu semble insignifiant.
Bill B
Grande page! J'adore le meuble IKEA :) (peut-être pas la meilleure solution, mais mignon quand même)
Rook
Pour expliquer, il s'agit d'une ferme de rendu basée sur CPU. Il s'agit de 6 machines Intel Quad Core placées dans un classeur IKEA (le nom du produit est Helmer). Apparemment, l'armoire a des trous faits à l'intérieur (pas par IKEA) à l'arrière qui permettent le montage d'un bloc d'alimentation et d'un ventilateur en 6 endroits.
dlamblin
4

Il y a eu quelques clusters Ikea présentés sur Hack A Day:

Drew Stephens
la source
3

Consultez les livres Beowulf Cluster Computing de Thomas Sterling (un pour Linux et un pour Windows). Ils vous indiquent tout ce que vous devez savoir sur l'utilisation de MPI pour que vos nœuds se parlent.

Un ami et moi avons construit un cluster de 8 boîtes en utilisant du matériel vraiment merdique et j'ai exécuté Windows XP dessus. C'étaient comme des boîtiers Pentium I - 90 MHz. Bien en dessous des spécifications requises pour Windows, mais cela s'est bien passé. Nous avons également exécuté SQL Server 2000 sur eux (également bien en deçà des spécifications recommandées) et fait une modélisation black-scholes du prix des options d'achat d'actions sur eux.

Il est difficile de recommander le type de matériel adéquat sans savoir ce que vous voulez faire avec votre cluster. Mais l'essentiel est que vous pouvez créer un cluster de presque tout.

Nathan DeWitt
la source
Ne le croiriez-vous pas, j'ai commandé exactement ce titre hier! J'attends maintenant qu'il arrive :) Pentium 90 - wow, c'est vieux. Comment cela a-t-il fonctionné, lisse ou avec des problèmes? Pourriez-vous donner une comparaison avec un équivalent moderne? Ce btw est en fait une assez bonne idée de ce que j'essaie de faire, car ce type de matériel peut de nos jours être pratiquement gratuit (de toute façon pas cher). J'essaie de le construire dans le but de paralléliser du code, donc j'expérimente en même temps avec le code et la partie matérielle. C'est une expérience d'apprentissage pour voir comment cela se passera.
Tour
1
Le coût de fonctionnement de ce matériel ancien est élevé, en termes de puissance / travail; plusieurs machines à 90 MHz utiliseront beaucoup d'électricité pour produire l'équivalent de travail d'une machine unique plus efficace. Je suis intéressé par votre projet, mais ... sachez qu'il peut être coûteux de plusieurs manières intéressantes ... =]
David dit de réintégrer Monica
la performance était bonne. c'était un projet pour l'école, et notre matériel était tout ce que l'école avait autour. nous n'avons pas non plus préoccupé les problèmes d'alimentation, mais le bol de riz est absolument correct. c'étaient des monstres bruyants.
Nathan DeWitt
@ricebowl - À ce stade, ce n'est pas un problème. 90Mhz sont une bonne idée depuis que nous les avons installés, donc pas de frais là-bas. Elec. n'est pas non plus un problème, car l'entreprise le paie, l'énergie utilisée par les ordinateurs y est négligeable. À ce stade, j'apprends les bases, un nouveau matériel peut toujours être obtenu si nécessaire.
Tour
@Nathan DeWitt - le volume n'est pas non plus un problème. Cela ne me dérange pas le son (toujours apaisant pour moi), et personne ne les entoure de toute façon.
Tour
2

Une alternative à la présence de nombreux nœuds de cluster physiques consiste à créer des machines virtuelles. Vous n'auriez qu'une ou deux machines physiques réelles, mais pourriez simuler avoir beaucoup plus de nœuds. Cela fonctionnerait bien pour créer, apprendre et utiliser moins de ressources (espace, puissance, $$$).

Cela ne vous donnerait pas beaucoup d'analyse des coûts, mais cela vous aiderait à démarrer. Le type de configuration de cluster dépend du type de travail que vous souhaitez créer pour celui-ci. Vous pouvez avoir plusieurs petits nœuds ou n'en avoir que quelques puissants. Il existe également des environnements de mémoire partagée et non partagée. Quel type de programmes parallèles souhaitez-vous créer? Plus vous avez de nœuds physiques, plus vous devez prendre en compte l'espace, l'alimentation, le refroidissement et l'interconnectivité réseau. Parfois, un seul gros ordinateur massif est le chemin à parcourir (et les environnements de mémoire partagée sont plus faciles à programmer pour IMHO).

J'ai récemment commencé à jouer avec un cluster pour construire quelques boîtes P4 aléatoires, ubuntu et LAM-MPI. Cela a certainement été une expérience d'apprentissage.

Il s'agissait en fait de deux ordinateurs portables p4 et de tours juste empilés dans un garage. C'était le ghetto, mais je voulais juste apprendre. Je viens d'utiliser un réseau Ethernet à 100 Mbps. J'ai choisi ubuntu, car je ne voulais pas m'occuper de la configuration matérielle des boîtiers. Ubuntu avait beaucoup de pilotes dont j'avais besoin. J'avais besoin d'un environnement Linux car les applications que j'ai écrites pour cela étaient des applications basées sur C avec des interfaces MPI. J'ai essayé de reproduire ce que j'avais utilisé auparavant. C'était tout faux. matériel, rien de standard. La plupart des clusters ont un matériel exact, vous pouvez donc ajouter et supprimer des nœuds en un clin d'œil.

Troggy
la source
Eh bien, j'ai un grand nombre d'anciens postes de travail à ma disposition. Des premiers pentiums à ceux jusqu'à 266 Mhz. Chambre et puissance j'en ai eu beaucoup. Le bruit n'est pas non plus un problème, ce n'est pas près des gens (ouais, juste au cas où vous vous poseriez la question, je ne me considère pas comme un membre de la race humaine :) Un nouveau matériel peut toujours être obtenu plus tard si nécessaire, mais pour l'instant je j'essaie d'éviter les coûts inutiles, si je peux, en jouant avec ceux-ci. J'essaie de paralléliser du code fortran (pas ancien) (CFD, FVM). À ce stade, je suis principalement intéressé par l'assemblage matériel, les principes de fonctionnement du système d'exploitation et la compréhension générale des choses
Rook
La virtualisation est de peu d'utilité s'il s'agit de calculs numériques liés au CPU.
Tadeusz A. Kadłubowski
Si je ne demande pas trop, comment les avez-vous connectés (pas seulement les internes, mais où les avez-vous placés (grande tour? Problèmes de refroidissement?))? Pourquoi Ubuntu?
Tour
@Idigas Ajout d'un paragraphe à ma réponse.
Troggy
1

Selon ce que vous essayez de faire, envisagez de développer votre système sur un cluster de machines virtuelles. L'utilisation d'une solution de virtualisation de système d'exploitation comme OpenVZ ou Virtuozzo ou Solaris Containers de Parallel vous permettra d'évoluer jusqu'à des densités énormes par rapport à la virtualisation complète du système (par exemple VirtualBox / VirtualPC / Xen / VMWare). Ensuite, lorsque vous avez réellement besoin de déployer le système pour certaines performances, exécutez-le "dans le cloud" sur Amazon EC2 ou similaire.

timday
la source
J'espérais réutiliser du matériel plus ancien que j'avais mis à disposition à ce stade, donc la virtualisation n'est pas si attrayante pour moi.
Tour
1

Je commencerais par regarder personnellement les projets LittleFE ( http://littlefe.net/ ) ou Bootable Cluster CD ( http://bccd.net/ ). Voir également le projet Ubuntu Cloud ( http://www.ubuntu.com/cloud ).

Plus ou moins n'importe quel matériel devrait fonctionner. Je serais enclin à envisager une forme d'accord de clôture ou des machines qui sortent du bail pour acheter du matériel bon marché.

garenne
la source
0

Jetez un œil à Rocks qui est une distribution de cluster qui rend la construction de cluster vraiment facile. Il évolue également jusqu'à au moins quelques nœuds ligneux.

Jimmy Hedman
la source