0 votes

Est-il possible de mettre en place un Cluster à architecture mixte ?

J'ai un ordinateur x86-64 fonctionnant sous Linux que j'aimerais compléter par d'autres machines Linux non x86-64.

Est-il possible de bénéficier d'une manière ou d'une autre de la puissance de calcul d'une autre machine sans qu'elle ait la même architecture ?

Deuxièmement, quel type d'augmentation des performances est disponible et nécessite-t-il un logiciel spécialisé pour fonctionner ? Ou bien Linux peut-il simplement abstraire le cluster / les machines supplémentaires comme des CPU supplémentaires ?

2voto

Henri Points 4037

Selon le logiciel, il est possible ou non de s'en abstraire. Ce genre de choses implique généralement des appels de procédure à distance et, selon la bibliothèque que vous utilisez, ces appels peuvent ou non être abstraits.

Un exemple de base est de faire un RPC et de donner un entier comme argument. Certaines architectures utilisent le mode big-endian, d'autres le mode little-endian et votre bibliothèque RPC doit en tenir compte.

1voto

Dirk Eddelbuettel Points 134700

Comme l'a dit Henri, vous avez besoin d'un logiciel pour prendre en charge les différentes représentations. Cela exclut MPI mais par exemple NWS (que vous pouvez utiliser avec Python, R, Matlab, ...) devrait fonctionner.

0voto

jldupont Points 31331

Vous ne devriez pas vous fier à ce fait de toute façon. Vous devez avoir le couche d'abstraction droite (par exemple, la communication par IP est un bon point de départ). Ceci est en partie nécessaire pour permettre "mises à jour en cours de service" c'est-à-dire l'ajout de machines plus récentes qui peuvent ou non avoir la même architecture que la configuration de départ du cluster.

Imaginez que vous allez voir votre patron : "Eh bien, nous devons réduire tout le service parce que nous avons ces nouvelles machines sophistiquées..." . ( et je peux entendre la réponse haut et fort )

Bien sûr, si les préoccupations d'un environnement de production sont hors de portée dans votre cas spécifique, vous pouvez ignorer ma citation. Disons simplement que ce serait une exigence typique pour tout grand déploiement.

Enfin, il est toujours plus facile de s'occuper d'un cluster symétrique (la maintenance est simplifiée) mais, là encore, un cluster asymétrique peut être un "tremplin" lors d'une "mise à niveau progressive".

Clarification : Je n'ai jamais fait allusion à en faisant abstraction de tout . Clarification #2 : par "architecture", j'entends "architecture du processeur", et non "architecture du système global".


Quant à la deuxième partie de votre question : tout dépend de l'architecture de votre logiciel.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X