Comment connecter plusieurs ordinateurs ensemble pour qu’ils fonctionnent comme un seul (par exemple, connecter beaucoup d’ordinateurs de mauvais/moyen niveau pour avoir une bonne puissance de traitement)


Je suis passé par là. Donc, une fois, j'ai construit un superordinateur qui à peu près à mi-chemin ressemblait à ceci dans mon laboratoire d'école supérieure. Bien sûr, j'ai continué à ajouter des ordinateurs. Obv.

main-qimg-d08a1569540130249e60c1dde7940606


J'ai beaucoup appris.

Si vous'cherchez à faire cela, voici quelques choses de haut niveau :

  1. Utiliser Linux pour les nœuds maître et esclave
  2. Le logiciel utilisé était corosync ou quelque chose comme ça.
  3. Swap des fichiers = plus de RAM, mais très lent.
  4. Vous avez besoin d'un hub Ethernet pour le maître afin de communiquer avec les esclaves par ssh.
  5. Essayez de garder les specs à peu près similaires sur les nœuds afin de ne pas mélanger les versions et les architectures.
  6. Les ordinateurs comme celui-ci dépendent d'un "quorum", ce qui signifie que les processeurs votent pour informer le système qu'ils sont en ligne et prêts. Si le nombre défini comme quorum par défaut est supérieur au nombre que vous avez, vous chercherez cette erreur pendant longtemps.

Maintenant, techniquement, il s'agit plutôt d'une situation de calcul parallèle. Chaque tâche que vous vous attendez à faire mieux avec l'un d'eux doit être intrinsèquement parallélisable de sorte que l'overhead de la lecture et l'écriture est moins que ce qu'il aurait pris sur un processeur ou avec un ordinateur's RAM. Certaines tâches, comme l'ordonnancement, ne sont pas de cette façon, chaque solution suivante dépend de la précédente [au sens large par exemple] et donc cette configuration ne fait pas grand chose. Cependant, si vous pouvez découper un problème en modules ou en différents sous-ensembles du problème global : très efficace.

Grande question,

Ken