jeudi 6 mai 2010

Petite histoire de l'informatique scientifique

Quand j'ai démarré ma thèse en 1984 dans un laboratoire de physique des particules j'avais accès à deux types d'ordinateurs. Localement le laboratoire disposait d'un VAX 11/780 de la compagnie Digital Equipment Corporation (DEC qui fut plus tard racheté par COMPAQ qui lui-même fut racheté par HP). Le VAX avait été mis en place en même temps qu'un système de visualisation 3D: MEGATEK qui permettait d'analyser graphiquement les collisions protons-antiprotons les plus intéressantes enregistrés par le détecteur UA1 au CERN. (UA1 et UA2 sont les deux expériences où furent découverts les bosons W et Z, confirmant ainsi la théorie électrofaible).

Le VAX était une machine extraordinaire disposant d'un système d'exploitation (VMS) très performant et d'un éditeur pleine page, c'est-à-dire que l'on modifiait un fichier en se baladant dans l'ensemble de la page). Ces machines sont devenues très populaires dans les expériences du CERN car elle disposaient d'un système d'exploitation "temps réel" permettant de réaliser des systèmes d'acquisition de données.

L'autre système informatique était l'IBM 3081 du CERN à laquelle on accédait par un réseau à très bas débit (4800 bauds). Pour se connecter on disposait d'un terminal et d'un petite boîte bleu relié à un gros appareillage plein de petites lumières, appelé Gandalf. Le Gandalf était un équipement sacré dans la salle machine, personne n'aurait osé toucher au Gandalf , si "le Gandalf" était mort, le labo était isolé ! Pour se connecter on appuyait sur un bouton de la boîte bleu et le terminal affichait généralement qu'il n'y avait plus de connexions disponibles, il fallait alors faire la queue et attendre la libération d'un accès. Le jeu était ensuite de ne plus lâcher la connexion de la journée… Une fois connecté, on arrivait sur l'IBM et on se connectait avec un nom d'utilisateur à 3 lettres et un mot de passe de la même longueur (temps béni où la sécurité n'était pas nécessaire…).

Le système d'exploitation de l'IBM était MVS (Multiple Virtual Storage), plutôt rustique à côté du VAX, mais la machine était beaucoup plus puissante. L'interface utilisait un système développé au Stanford Linear Accelerator Center (SLAC) nommé WYLBUR. WYLBUR permettait d'éditer un fichier en mode ligne à ligne c'est-à-dire que le fichier était déroulé une ligne à la fois et lorsqu'on souhaitait modifier l'une d'elle il fallait déplacer le curseur sous celle-ci, se positionner au niveau de la portion de texte à modifier, taper un caractère de commande puis entrer la modification. Une fois le programme entièrement tapé de cette manière, on pouvait l'envoyer s'exécuter sur la machine. Il fallait ensuite attendre, parfois fort longtemps, que le programme soit exécuté, puis récupérer la sortie à l'aide de la commande "fetch" . La soumission d'un "job" nécessitait l'écriture de quelques lignes de commandes en "JCL" ou Job Description Language. Je pense qu'IBM n'a jamais fait pire dans le genre...

Si tu dominais le JCL ; au labo, l'égal des Dieux tu étais… voici un exemple de quelques incantations tirées de Wikipedia:

//IS198CPY JOB (IS198T30500),'COPY JOB',CLASS=L,MSGCLASS=X
//COPY01 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=OLDFILE,DISP=SHR
//SYSUT2 DD DSN=NEWFILE,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(CYL,(40,5),RLSE),
// DCB=(LRECL=115,BLKSIZE=1150)
//SYSIN DD DUMMY

À partir de 1986 les grands centres de calcul de la physique des hautes énergies ont évolué vers des IBM 3090 multiprocesseurs (jusqu'à 6) fonctionnant sous le système d'exploitation VM (pour Virtual Machine). VM était vraiment un bon en avant par rapport à MVS, mais la souplesse du système était encore loin d'égaler les VAX. L'éditeur devenait presque pleine page et l'utilisateur disposait de tout un ensemble de périphériques virtuels: Imprimante virtuelle, perforateur de cartes virtuel ! Lecteur de carte virtuel, etc… faisant ainsi référence aux anciennes machines que l'on programmait avec des cartes perforées.

Le langage de commande de haut niveau de VM était le REXX qui permettait de réaliser assez simplement de petits utilitaires pour se simplifier la vie, voire pour automatiser certaines tâches avec le concept de machines de services.

À cette époque, point de graphique, ou si peu… nous disposions tout de même de quelques terminaux spéciaux de la marque Tektronix (les "Tektros" dans le langage courant) avec leur beaux écrans tout vert au phosphore (image ci-dessous). Un spot lumineux se déplaçait et traçait les motifs graphiques. Pas question ici d'afficher des images, juste des courbes, et des histogrammes . Le fait de laisser le même graphique affiché trop longtemps, brulait la couche sensible de l'écran et la trace de la courbe restait imprimée à jamais.
Dans les années 1987 - 1988 le CERN et plus particulièrement l'expérience L3 sur le LEP a commencé à s'équiper avec des stations de travail de la marque Apollo. Ce fut une petite révolution, il devenait vraiment aisé de faire tourner des applications graphiques, y compris en 3D sur les stations les plus puissantes. En 1989 je me suis chargé d'acquérir pour mon groupe d'expérience deux stations Apollo DN3500 et une station DN 10 000 (image ci-dessous), le tout pour la modique somme de 700 000 Francs. Les DN3500 disposaient chacune d'un disque de 350 MégaOctets et le DN 10 000 était équipé de la toute dernière génération de disques avec une capacité fantastique pour l'époque de 700 MégaOctets. Le DN 10 000 était une machine extraordinaire quoiqu'un peu fragile. Sa puissance était de 11 MIPS (millions d'instructions par seconde) à comparer au gros VAX 11/780 qui délivrait 1 MIPS. Les Apollo venaient avec le système d'exploitation AEGIS qui ressemblait pas mal à UNIX. Apollo proposait aussi un réseau spécial "Token Ring" plutôt performant pour l'époque. Le réseau était complètement intégré à l'architecture des machines ce qui faisait que le système de fichiers était distribué et accessible depuis n'importe quelle station. Le sommet de l'arborescence était symbolisé par le double slash "//". .. ça ne vous fait pas penser à quelque chose ??? 
Je me souviens également qu'Apollo offrait un debugger graphique ultra-moderne (DDE je crois….) il a fallut des années avant de retrouver aussi bien sur les autres stations de travail.

L'expérience L3 a basé toute une partie de son calcul sur une ferme de DN 10 000. Malheureusement, Apollo a été racheté par HP qui a maintenu la gamme quelques temps puis l'a abandonnée après avoir réintégré une partie de l'architecture dans sa propre gamme de processeurs. Le labo s'est alors tourné vers la gamme de stations HP 750 tout en investissant également dans des stations de travail Digital Alpha. L'expérience L3 a choisi un gros système Silicon Graphics, c'était encore là un choix d'avant-garde, mais vus les personnes qui s'occupaient du calcul dans cette expérience, le choix ne pouvait être que d'avant-garde :-)

L'arrivée des stations de travail puissantes correspondait à la mise sur le marché de processeurs à architecture RISC (Reduced Instruction Set Computer) qui permettaient d'obtenir d'excellentes performances. Dans le domaine de la physique des hautes énergie, ce fut la fin des gros calculateurs de type "mainframe" au profit de fermes de stations.

Après, ce fut la course au MHertz puis au GigaHertz et tout fut beaucoup moins passionnant...

1 commentaire:

  1. C'est vachement intéressant, j'aurais jamais pu imaginer.
    Marrant le coup du graphique qui s'affiche pour toujours si on le laisse trop longtemps à l'écran!

    RépondreSupprimer