Vous ne devriez pas compter sur ce fait de toute façon. Vous devez disposer de la couche d'abstraction droite (par exemple, la communication sur IP est un bon point de départ). Ceci est en partie nécessaire pour permettre "des mises à niveau de service", c'est-à-dire d'ajouter des machines plus récentes qui peuvent ou non être de la même architecture que la configuration de cluster de départ. Imaginez-vous aller chez votre patron: "Eh bien, nous devons réduire le service complet parce que nous avons ces nouvelles machines de fantaisie ...". (et je peux entendre la réponse haut et fort)
Bien sûr, si les préoccupations d'un environnement de production est hors de portée dans votre cas spécifique, vous pouvez ne pas tenir compte de mon devis. Disons simplement que ce serait une exigence typique pour tout grand déploiement. Enfin, il est toujours plus facile de traiter un cluster symétrique (la maintenance est simplifiée) mais là encore, un cluster asymétrique peut être un «tremplin» lorsqu'il s'agit d'une «mise à niveau progressive».
Clarification: Je n'ai jamais esquivé à abstraction tout tout. Clarification # 2: par "architecture" Je suppose "l'architecture du processeur", c'est-à-dire pas "l'architecture du système global". En ce qui concerne la deuxième partie de votre question, tout dépend de l'architecture de votre logiciel.
Veuillez clarifier la question. Par exemple, si vous voulez un cluster de compilation, vous pouvez configurer un compilateur qui compile vers la cible de CPU que vous voulez, indépendamment de ce qu'ils exécutent réellement. –