Comment construire un ordinateur distribué puissant
NouvellesVous ne pouvez jamais avoir assez de puissance de traitement, surtout si vous aimez travailler avec des graphiques 3D ou compiler votre propre logiciel..
De manière agréable, avec un investissement minime, il est facile d'utiliser toutes les machines de rechange dont vous pourriez avoir besoin pour créer une méga-matrice et un moteur de calcul uniques et homogènes en les connectant tous ensemble et en exécutant le logiciel approprié..
Même un matériel modeste peut contribuer de manière significative à votre puissance informatique nette, et si vous avez déjà le matériel, vous n'avez rien à perdre..
Le matériel informatique est maintenant si peu coûteux que l’achat de deux machines supplémentaires et leur connexion dans le même pool informatique pourraient permettre une expansion très rentable. C'est ce que nous allons construire et nous allons utiliser Ubuntu Linux pour le faire. Linux peut prendre en charge les tâches de calcul en cluster telles que celles-ci, et vous n'avez pas besoin de débourser une licence pour chaque machine..
Avant de nous lancer dans cette entreprise, nous devons préciser une chose. La puissance de traitement combinée d'un cluster d'ordinateurs ne peut être utilisée que pour certaines applications.
Vous ne pourrez pas augmenter votre fréquence d'images sur Crysis ou Far Cry 2, Par exemple, vous ne pourrez pas exécuter vos applications quotidiennes sur le cluster à moins qu'elles ne soient conçues pour le faire. Nous ne construisons pas non plus Beowulf cluster, où vous devez utiliser des bibliothèques spécialisées et des langages de programmation pour tirer parti du potentiel de traitement parallèle du cluster.
Nous allons travailler avec l'informatique distribuée, ce qui implique de scinder une tâche sur plusieurs machines d'un cluster local. En conséquence, nos applications peuvent être beaucoup plus simples et pratiques. Vous pourrez réduire considérablement les temps de rendu avec Blender, par exemple, ou le temps de compilation d'applications majeures comme le noyau GNU / Linux..
Vous pourrez également paralléliser un nombre quelconque de tâches et utiliser chaque machine séparément de votre maître si vous le souhaitez. Comme pour les processeurs multicœurs, la mise à l'échelle des tâches sur un cluster de processeurs présente une certaine inefficacité, mais elle sera presque toujours beaucoup plus rapide que si le processeur ne fonctionnait pas..
En théorie, vous pouvez utiliser n'importe quel PC ancien. La condition minimale est qu’il soit capable d’exécuter Linux; ce qui réduit le choix à presque tous les PC des 10 dernières années. Mais en réalité, le cluster fonctionne mieux si les machines que vous associez répondent à des spécifications relativement proches, notamment lorsque vous commencez à prendre en compte les coûts d'exploitation..
Une machine Athlon à 1 GHz, par exemple, pourrait vous coûter plus de 50 £ par an en coûts d'électricité. Vous feriez bien mieux de dépenser cet argent pour une mise à niveau de processeur pour une machine plus efficace. Une plate-forme similaire pour chaque ordinateur facilite également considérablement la configuration. Pour notre cluster, nous avons utilisé quatre machines puissantes identiques.
Vous n'avez besoin de machines puissantes que si vous gagnez votre vie grâce à quelque chose d'informatique - animation 3D par exemple - où vous pouvez peser le coût supplémentaire par rapport à une performance accrue. Nous allons également supposer que vous avez une machine principale que vous pouvez utiliser en tant que maître. Ce seront les yeux et les oreilles de la grappe, et c'est à partir de là que vous pourrez créer des tâches et contrôler les autres machines..
Compatibilité matérielle
Linux a parcouru un long chemin en termes de compatibilité matérielle, mais vous ne voulez pas résoudre trois cartes réseau différentes si vous pouvez y remédier. Et ce sont les cartes réseau qui seront probablement le maillon le plus faible.
L'informatique en cluster dépend du fait que chaque machine a accès aux mêmes données, ce qui signifie que les données doivent être continuellement brassées entre chacune des machines du cluster de réseau..