De nos jours, les superordinateurs sont des constellations de lames de processeurs avec des tissus d'interconnexion à très haut débit.
Le coût de fabrication des superordinateurs peut être faible - j'ai construit ce que l'on pourrait décrire comme un superordinateur en utilisant un tas de cartes de processeurs avec des processeurs ARM à quatre cœurs de 1,6 GHz et une interconnexion gigabit. Mon coût total est de quelques milliers de dollars. En allant beaucoup plus grand, je découvre rapidement que mes coûts d'interconnexion éclipsent les coûts de mes processeurs....
C'est la même chose à plus grande échelle - même si vous utilisez des processeurs Xeon multiples, votre interconnexion doit maintenant être de 10 ou 100 gigas Infiniband, et vous découvrez rapidement que le coût de quelques milliers de dollars par lame sur les adaptateurs hôtes est avalé dans la construction de tissus Clos assez profonds à partir de commutateurs qui n'ont pas assez de ports...
Puis vous arrivez aux vrais tueurs - la puissance, et le temps de fonctionnement.
La puissance des superordinateurs est une chose, au point que la mesure la plus utile est maintenant en "téraflops par mégawatt". L'énergie - y compris la CVC pour le refroidissement, la distribution de l'énergie, la sauvegarde de l'énergie, etc - est le grand coût aspirant l'âme impliqué dans le fonctionnement d'un centre de superordinateurs.
Le temps de bon fonctionnement, c'est aussi une chose - donnez un très grand nombre de cœurs (disons, oh, je ne sais pas, 100k cœurs ou plus) et des problèmes très complexes, les chances d'avoir une défaillance du cœur du CPU ou une défaillance de la mémoire ou une autre défaillance qui fait sauter l'un des nœuds de votre constellation de calcul sont presque garanties pour signifier que vous devez y faire face, en temps réel. Donc, vous ne pouvez pas écrire de logiciel qui suppose naïvement que tout va bien tout le temps, et vous ne pouvez pas compter sur le système d'exploitation pour savoir si les choses vont bien ou non, car il n'y a pas de "système d'exploitation" pour la constellation dans son ensemble, juste pour les lames individuelles...
Si vous essayez de faire un superordinateur pour votre propre usage, vous trouverez que ce n'est pas trop difficile, pour une certaine définition de "superordinateur". Si vous essayez d'en faire un pour le vendre à d'autres ? Ou pour s'attaquer à des problèmes au niveau d'un État-nation ? C'est une toute autre paire de manches...
.