Il y a eu une époque où « supercalculateur » voulait dire une seule chose : un Cray. Aujourd’hui la marque a disparu dans le giron de HPE, qui a racheté Cray Inc. en 2019 — le HPC moderne se fait sur des clusters de serveurs x86 ou des accélérateurs GPU, plus rien à voir avec les armoires cylindriques couvertes de câbles colorés des années 80. Mais sur une VM Proxmox, chez moi, tourne une reconstitution fidèle de ce monde disparu : un émulateur de Cray, avec le vrai système d’exploitation d’époque, UNICOS, installé dessus.
Cray, avant de devenir une ligne de produits HPE
Cray Research a été fondée en 1972 par Seymour Cray, ingénieur légendaire qui avait déjà conçu certaines des machines les plus rapides du monde chez Control Data. Le Cray-1, sorti en 1976, est devenu l’archétype du supercalculateur vectoriel — et l’objet de culte qu’on associe encore aujourd’hui au nom Cray, avec son châssis cylindrique entouré d’un banc capitonné qui dissimulait l’alimentation et le circuit de refroidissement.
L’entreprise a ensuite changé plusieurs fois de mains : rachetée par Silicon Graphics (SGI) en 1996, puis revendue en 2000 à Tera Computer Company, qui a repris le nom Cray Inc. pour poursuivre la lignée de supercalculateurs. Et en 2019, c’est Hewlett Packard Enterprise qui a racheté Cray Inc. — la marque existe toujours aujourd’hui, mais comme ligne de produits HPC chez HPE, loin de l’entreprise indépendante qui dominait le secteur à l’époque de la guerre froide.
Sur ces machines tournait UNICOS, le système d’exploitation maison de Cray, un dérivé d’Unix System V adapté aux spécificités de leurs architectures vectorielles, utilisé du milieu des années 80 jusqu’à la fin des années 90 sur toute la gamme (X-MP, Y-MP, C90, J90, SV1…).
cray-sim : faire revivre le matériel en émulation
Le projet qui rend tout ça possible aujourd’hui s’appelle cray-sim, un émulateur open source qui reproduit le comportement matériel des Cray de classe J90 et SV1 suffisamment fidèlement pour y faire tourner les vrais médias d’installation UNICOS d’époque — pas une réécriture, pas une simulation approximative, mais la possibilité de booter le système d’exploitation original, bit pour bit, sur du matériel qui n’existe plus que virtuellement.
Côté infrastructure, l’émulateur tourne dans une VM dédiée sur mon cluster Proxmox, sous Rocky Linux, après compilation depuis les sources. Les vrais CD d’installation UNICOS, eux, dormaient depuis longtemps sur mon NAS QNAP — un cray-cd1.iso pour UNICOS 10.0.0.2 (classe J90) et un cray-cd2.iso pour UNICOS 10.0.1.2 (classe SV1), montés en CIFS pour les récupérer.
Installer un Unix de 1998 en 2026 : les surprises
C’est l’installation d’UNICOS 10.0.1.2 qui a été menée jusqu’au bout, et comme souvent avec du matériel ou des logiciels d’une autre époque, rien ne se passe exactement comme avec un OS moderne :
- La procédure d’installation UNICOS s’appuie sur rsh pour déclencher certaines étapes à distance — un protocole qu’on ne croise plus jamais en dehors de ce genre de reconstitution, les outils modernes ayant tous basculé sur SSH depuis longtemps.
- Une incompatibilité de sensibilité à la casse des noms de fichiers entre l’environnement hôte et ce qu’attendait l’installeur UNICOS a nécessité la mise en place d’un répertoire de liens symboliques dédié, pour faire correspondre les deux mondes sans modifier les fichiers sources eux-mêmes.
- Une coupure accidentelle en plein milieu de l’installation (un signal SIGHUP malvenu) a interrompu la procédure avant qu’elle ne soit allée au bout — il a fallu terminer la configuration du mot de passe root et relancer manuellement l’utilitaire de configuration réseau (
/etc/nu -a) pour que le système reparte dans un état cohérent.
Faire parler UNICOS en graphique
UNICOS dispose de son propre environnement X11, mais évidemment aucun écran physique n’est branché sur une VM qui émule un supercalculateur des années 90. Pour pouvoir afficher et piloter ces applications graphiques malgré tout, j’ai monté un petit empilement : un serveur d’affichage virtuel (Xvfb), un gestionnaire de fenêtres léger (icewm) par-dessus, et un serveur VNC (x11vnc) pour exposer le tout à distance. De quoi se connecter en VNC depuis n’importe quel poste du réseau et voir, bien vivantes, des fenêtres X11 d’un système que plus personne n’installe depuis vingt-cinq ans.
Ce qui résiste encore : le compilateur C
Une piste est restée infructueuse : trouver un compilateur C fonctionnel directement sur les médias d’installation. Rien d’anormal a priori — à l’époque de Cray, l’environnement de développement complet était généralement un produit logiciel distinct, vendu et licencié séparément du système de base, et non fourni avec les CD d’installation OS. Cette recherche est restée en pause, le temps de retourner à des projets plus urgents (mes TP pour mes classes, justement).
Reste que la partie la plus spectaculaire est bien là, fonctionnelle : un vrai UNICOS, le système qui faisait tourner les supercalculateurs les plus rapides du monde il y a trente ans, qui démarre toujours aujourd’hui — dans une VM, sur un serveur Proxmox grand public, pour le prix de quelques heures de patience plutôt que de plusieurs millions de dollars.