Harvard Mark I
En 1930, alors que le terme « ordinateur » avait tendance à désigner un collègue muni d’une règle à calculs prêt à vous rendre service, IBM était alors principalement connu pour ses machines à cartes perforées. Cependant, la transition du statut d’acteur parmi d’autres sur le marché professionnel jusqu’à un quasi-monopole dans l’informatique est dû à une succession de visionnaires à la tête de l’entreprise, comme ce fut le cas avec Sir Thomas Watson.
Le Harvard représentait en effet une manifestation concrète de ses idées, bien que cette machine n’ait pas préfiguré les orientations technologiques qui suivirent. Reste que l’image vaut le détour ne serait-ce que pour mesurer le chemin parcouru depuis.
Tout a commencé en 1936 quand un chercheur d’Harvard, Howard Aiken, tentait de résoudre un problème relatif à la conception de tubes électroniques (une histoire un peu ironique comme on le verra plus loin). La progression de ses travaux était conditionnée par la résolution d’équations non-linéaires, sachant qu’aucun outil n’était alors en mesure de le faire pour lui. Aiken proposa donc à des chercheurs d’Harvard de créer un calculateur à grande échelle capable de résoudre ces équations. La demande ne fut pas bien reçue.
Aiken approcha ensuite la Monroe Calculating Company, qui elle aussi déclina la proposition. IBM était alors le suivant sur la liste. La proposition d’Aiken pouvait se résumer à un cahier des charges et non pas un vrai plan de conception, il incombait donc à IBM d’inventer de quoi satisfaire ces critères. Initialement estimés 15 000 $, les coûts ont rapidement atteint 100 000 $ lors de l’acceptation formelle de la demande en 1939. Au final, le Harvard Mark I aura couté à peu près 200 000 $.
Il aura fallu attendre 1943 pour voir ce monstre faire ses premiers calculs : 5 tonnes pour 15,5 mètres de long ! Nécessitant une synchronisation mécanique entre ses différentes unités de calcul, le Harvard Mark I était équipé d’un moteur cinq chevaux courant tout le long de la machine. Le « programme » se créait en branchant des câbles sur un panneau de connexion, suite à quoi les données étaient lues par le biais de cartes perforées pour aboutir à une impression soit sur des cartes perforées, soit sur des machines à écrire électriques. Même si l’on se référait aux standards de l’époque, le Harvard Mark I était lent : seulement trois additions/soustractions par seconde et même six secondes pour une seule multiplication. Les logarithmes et calculs trigonométriques prenaient chacun une minute.
Le Harvard Mark I était donc un cul de sac technologique et n’a pas été amené à calculer des données historiques durant ses quinze ans d’existence, mais il était ni plus ni moins que le tout premier ordinateur entièrement automatique. Bien qu’étant très lent, mécanique, et manquant de nécessités comme les branchements conditionnels, c’était un ordinateur, et il s’en dégageait un très léger aperçu de ce qui allait suivre.
NB : La plupart des serveurs mainframes présentés dans ce reportage sont américains, vu leur domination dans ce domaine. Si ce reportage se veut complet, il ne peut en effet être exhaustif, ce qui explique notamment l’absence du Colossus (mainframe Anglais qui servit à casser le code Lorenz pendant la seconde guerre mondiale) ou encore le Bull Gamma 60 du côté français.
L’ABC (Atanasoff-Berry Computer)
Bien qu’il ait fallu plusieurs années pour qu’on lui reconnaisse cette qualité, l’ABC (Atanasoff-Berry Computer) a fait date comme étant le tout premier ordinateur électronique. On pourrait croire que les termes « ordinateur électronique » sont redondants mais comme on vient de le voir avec le Harvard Mark I, les ordinateurs sans composants électroniques ont bien existé et fonctionnaient grâce à des interrupteurs mécaniques, des rouages à palettes ajustables, des relais électriques et des manivelles. A l’opposé, l’ABC assurait ses calculs grâce à des composants électroniques et représente à ce titre une étape fondatrice dans l’histoire de l’informatique.
Bien que faisant appel à l’électronique, les composants qui équipaient l’ABC étaient très différents de ceux que l’on trouve de nos jours dans nos machines. En effet, les transistors et circuits intégrés sont nécessaires ne serait-ce que pour avoir les mêmes éléments de base. En 1939, alors que ceux-ci n’existaient pas, John Atanasoff reçut des fonds pour construire un prototype qui fut conçu avec les composants de l’époque : les tubes électroniques. Ces derniers pouvant amplifier des signaux et jouer un rôle d’interrupteur, il était donc possible de s’en servir pour créer des circuits logiques. Cependant, ils consommaient énormément d’énergie, dégageaient une chaleur considérable et n’étaient pas fiables pour couronner le tout. Voilà le genre de compromis que ces pionniers devaient être prêts à faire, et les inconvénients des ordinateurs qu’ils construisaient.
Les circuits logiques crées par John Atanasoff avec les tubes électroniques étaient rapides à l’époque, puisque capables de trente additions/soustractions à la seconde. Si l’on ne s’en étonnerait pas aujourd’hui, peu d’ordinateurs utilisaient alors un système binaire vu le peu de personnes familières avec ce système de numération. L’utilisation de condensateurs pour la mémoire était aussi une étape technologique : ils étaient alors alimentés en permanence pour préserver les informations stockées, une approche similaire au rafraichissement de la DRAM que nous connaissons maintenant. Toute fois, les accès mémoire n’étaient pas vraiment aléatoires puisque cette dernière était en fait contenue dans un tambour, lequel effectuait une rotation complète par seconde. Un emplacement mémoire donné ne pouvait donc être lu que lorsque la section concernée se trouvait sous le lecteur, entrainant ainsi de vrais problèmes de latence comme on peut l’imaginer. John Atanasoff ajouta ultérieurement un lecteur de cartes perforées (qui étaient couramment utilisées par les entreprises de l’époque pour enregistrer des comptes et effectuer des calculs) afin de stocker les données qui ne rentrait pas dans la « mémoire tambour ».
Rétrospectivement, cet ordinateur n’était pas vraiment utile, et encore moins programmable. Mais ce fut ne serait-ce que d’un point de vue conceptuel une étape fondatrice pour les ordinateurs et un père spirituel pour les modèles suivants. Alors que M. Atanasoff travaillait sur l’ABC, il invita un homme au nom de John W. Mauchly voir sa création, une rencontre riche en conséquences …
ENIAC
Le 7 décembre 1941, soit un peu plus de deux ans après la France et l’Angleterre, les Etats-Unis rentraient dans la seconde guerre mondiale après l’attaque japonaise sur Pearl Harbor. Un des problèmes communs à tous les belligérants était l’obligation de créer une table balistique pour chaque type d’artillerie produit, une tâche colossale, chronophage et fastidieuse. Ainsi, les Etats-Unis accordèrent des fonds d’origine militaire à la Moore School of Electrical Engineering de l’Université de Pennsylvanie pour la construction d’un ordinateur électronique afin de faciliter la besogne. Comme vous l’avez deviné grâce à la page précédente, un certain John Mauchly prit la tête de ce projet avec l’aide d’un jeune diplômé talentueux : John Presper Eckert.
Toutefois, la seconde guerre mondiale prit fin avant que la machine ne soit terminée. En 1946, une machine de 30 tonnes vit finalement le jour : plus de 15 mètres de hauteur par boîtier, 18 000 tubes électroniques, 1500 relais, 70 000 résistances, 10 000 condensateurs, 6000 interrupteurs manuels et une consommation de 200 kilowatts. Grâce à ses performances incroyables, l’ENIAC était loin d’être inutile malgré son retard : 5000 additions, 357 multiplications ou 38 divisions par seconde. Là où un mathématicien mettait vingt heures à résoudre un problème, l’ENIAC n’avait besoin que de trente secondes.
Outre le manque de fiabilité de ces tubes électroniques, le principal problème de la machine était son incapacité à être programmée dans le sens conventionnel du terme. Les “programmes” étaient rentrés par des techniciennes (les “ENIAC girls”) qui œuvraient sur les panneaux de connexion et la pléthore d’interrupteurs, ce qui prenait généralement quelques heures à quelques jours. D’autre part, l’ENIAC travaillait en mode décimal et non pas binaire, ce qui constituait un pas en arrière par rapport à l’ABC.
Malgré cela, l’ENIAC fut très utile aux Etats-Unis jusqu’à sa retraite en 1955, en particulier grâce aux améliorations qui ont été apportées au fil du temps. Au cours de ses neuf ans de fonctionnement, l’ENIAC a pu être mobilisé sur un éventail de problèmes extrêmement variés : prédictions météorologiques, étude des nombres pseudo-aléatoires, inflammation thermique, conception de souffleries, calculs de trajectoires d’artillerie et même le développement de la bombe à hydrogène. Il a été estimé que l’ENIAC aurait effectué en neuf ans plus de calculs que toute l’humanité n’en aurait fait jusqu’en 1945.
Bien que l’histoire de la machine se soit donc arrêtée en 1955, Mauchly et Eckert avaient encore bien d’autres choses à accomplir.
EDVAC
Avant même que l’ENIAC ne passe ses premiers tests, Mauchly et Eckert étaient tout à fait conscients de ses points faibles. Il en allait de même pour John Von Neumann, un nom qui peut faire penser à l’ “architecture Von Neumann” (le terme n’est plus utilisé vu qu’il occulte le caractère collectif des travaux auxquels il fait référence). Quoi qu’il en soit, l’EDVAC était le premier exemple de cette architecture mais il faut noter que Mauchly et Eckert quittèrent l’Université de Pennsylvanie en 1946, avant que l’ordinateur ne soit terminé.
L’ENIAC avait alors plusieurs problèmes majeurs : certes, il était rapide, mais il avait aussi une capacité de stockage très faible. Pis encore, il fallait le recâbler pour le reprogrammer ce qui prenait donc des heures voir des jours et il n’était pas fiable à cause d’un recours massif aux tubes électroniques. Ces derniers, en plus de poser des problèmes de fiabilité, étaient extrêmement énergivores, imposants et dégageaient énormément de chaleur. Il était donc clair qu’en minimisant leur rôle, on en tirerait de nombreux avantages.
Deux changements majeurs (dont un était révolutionnaire) dans la conception de l’EDVAC paraissent évidents aujourd’hui : tout d’abord le retour au mode binaire et non plus décimal comme c’était le cas de l’ENIAC dans un souci de rendement. D’autre part, l’EDVAC introduisait l’idée de stocker le “programme” en mémoire comme s’il s’agissait de données pour en changer facilement, contrairement au recâblage nécessaire pour son prédécesseur. C’est encore ce que l’on fait aujourd’hui : il n’y a pas de zones RAM séparées pour les programmes d’un côté et les données de l’autre (bien qu’un cache L1 fonctionne typiquement de cette manière). Suivant le contexte dans lequel se sont faits les accès mémoire, le processeur sait reconnaitre les programmes des données.
De plus, la mémoire n’était plus basée sur des tubes électroniques, mais stockée sous la forme d’impulsions électriques dans du mercure. La ligne à délai du mercure était 100 fois plus efficace d’un point de vue électronique pour stocker des données, d’où la possibilité d’avoir des quantités de mémoire plus importantes ainsi qu’une meilleure fiabilité.
L’EDVAC a donc constitué une avancée majeure et s’est montré très utile jusqu’en 1960, date à laquelle il quitta la scène : c’était un ordinateur en mode binaire dont les programmes étaient stockés et qui pouvait être programmé bien plus rapidement que l’ENIAC. Il était aussi bien plus compact que son prédécesseur, pesait moins de neuf tonnes et ne consommait “que” 56 kilowatts. En outre, la route ne s’arrêtait pas là pour Mauchly et Eckert …
UNIVAC
Comme nous l’avons précédemment évoqué, Mauchly et Eckert quittèrent l’Université de Pennsylvanie en 1946 pour créer l’Electronic Control Company. Incorporés en 1947 dans leur propre entreprise, ils la rebaptisèrent Eckert-Mauchly Computer Corporation ou EMCC. Leur départ retarda la finalisation de l’EDVAC au point où l’ESDAC, basé sur l’EDVAC, finit par voir le jour avant ce dernier. Le talentueux duo voulait toutefois tirer parti des opportunités commerciales nées de cette nouvelle technologie, ce qui n’était pas possible avec la recherche financée par les fonds de l’université. Ils développèrent ainsi un ordinateur en partant de leurs idées pour l’EDVAC, qu’ils poussèrent plus loin encore. Au cours du processus, ils créèrent le BINAC pour financer leurs recherches, mais l’ Universal Automatic Computer (UNIVAC) est de loin la machine la plus intéressante des deux.
L’UNIVAC a été le premier ordinateur commercialisé : comme suite à son lancement en 1951, 46 exemplaires ont été vendus à des entreprises et au gouvernement. Toutes les machines que nous avons vu précédemment n’ont donc été produites qu’à un seul exemplaire. Eckert et Mauchly sont arrivés à une conclusion pertinente : un même ordinateur peut non seulement effectuer des calculs, mais aussi traiter des donnés, tandis que la plupart de leurs contemporains trouvaient absurde l’idée d’utiliser la même machine pour résoudre des équations différentielles et payer des factures. Quoi qu’on en pense, cette observation a été la clé de la conception et du succès de l’UNIVAC.
Au niveau des caractéristiques, l’UNIVAC comptait 5200 tubes électroniques (presque tous au niveau du processeur), pesait 13 200 Kg, consommait 125 KW et fonctionnait à la fréquence décoiffante de 2,25 MHz. En outre, il pouvait effectuer 455 multiplications par seconde et acceptait jusqu’à 1000 termes dans sa mémoire à ligne de délai à mercure. Chaque terme en mémoire pouvait contenir deux instructions, onze chiffres et signes ou douze lettres alphabétiques. La vitesse de traitement était en gros équivalente à celle de l’ENIAC, mais sur tous les autres plans ou presque, l’UNIVAC était supérieur.
A ce titre, la fiabilité de l’UNIVAC était probablement l’élément le plus important : l’ENIAC lui était nettement inférieur, principalement à cause de son utilisation massive de tubes électroniques. Pour couronner le tout, le mot “Automatic” dans l’acronyme UNIVAC signifiait que ce dernier n’avait pas besoin d’assistance humaine pour fonctionner : toutes les données étaient stockées et lues à partir d’un disque à bandes métalliques (au lieu d’avoir à charger manuellement les programmes à chaque exécution avec des bandes en papier ou bien des cartes perforées). L’utilisation de bandes permettait une vitesse de traitement nettement supérieure à celle de l’ENIAC vu que le goulet d’étranglement E/S était ainsi amoindri. Bien entendu, le temps passé à recâbler l’ENIAC pour le “programme” suivant disparaissait complètement. D’autres améliorations ont également vu le jour sur l’ENIAC, comme les tampons (similaires au cache) entre des lignes de délai assez rapides et les disques à bandes relativement lents, des bits supplémentaires pour la vérification des données et comme nous l’avons évoqué plus haut, la capacité d’opérer sur des chiffres comme sur des lettres de l’alphabet.
La renommée de l’UNIVAC se fit encore plus grande après qu’il ait correctement prédit sur la tv nationale la victoire écrasante de Dwight Eisenhower lors des élections présidentielles américaines de 1952. Ceci ajouté au faut que l’UNIVAC était le premier ordinateur à être commercialisé donna à Remington Rand (qui avait racheté EMCC) une solide position dans le marché alors bourgeonnant des ordinateurs électroniques. Mauchly et Eckert avaient donc relevé avec succès le défi de l’EDVAC. Mais que ce passait-il alors du côté d’IBM ?
IBM 701
Si la plupart d’entre nous situe bien la domination d’IBM dans l’informatique entre la moitié et la fin du 20ème siècle, ce qui a précédé, comment et pourquoi ceci est arrivé parait nettement plus trouble. Commençons avec l’un des deux ordinateurs que la marque conçu en même temps que l’UNIVAC.
L’IBM 701 était un rival direct de l’estimé UNIVAC. Annoncé en 1952, celui-ci présentait beaucoup de similitudes avec l’UNIVAC, mais aussi de nombreuses différences. La mémoire n’était pas stockée dans des lignes de délai à mercure, mais dans des tubes électroniques d’environ 8 cm portant le nom de leur inventeur, les ” William’s Tubes”. Bien que plus fiables par rapport aux tubes électroniques normaux, ils restaient le premier problème de fiabilité de la machine. Toutefois, on leur trouvait un avantage dans la mesure où tous les bits d’un terme pouvaient être récupérés en une seule fois, par opposition aux lignes de délai à mercure de l’UNIVAC qui imposaient une lecture mémoire bit par bit. Le processeur surpassait très nettement celui de l’UNIVAC : jusqu’à 2200 multiplications par seconde, contre 455 pour ce dernier. Il pouvait aussi effectuer presque 17 000 additions/soustractions par seconde, de même que la plupart des autres instructions. C’était tout simplement remarquable pour l’époque. Le disque à bande d’IBM était également excellent et pouvait démarrer/s’arrêter bien plus vite que celui de l’UNIVAC, en plus de pouvoir lire/écrire jusqu’à 12 500 caractères à la seconde. Cependant, à l’inverse de l’UNIVAC et de ses tampons, le processeur de l’IBM 701 devait gérer toutes les opérations E/S, ce qui pouvait impacter sérieusement les performances dans le cas d’applications à fortes E/S.
En 1956, IBM introduisit une technologie connue sous le nom de RAMAC, qui n’était ni plus ni moins que le premier disque système magnétique pour ordinateur. Les données pouvaient être rapidement lues depuis tout emplacement sur le disque et celui-ci pouvait non seulement être rattaché au 701, mais aussi aux autres ordinateurs de la marque, parmi lesquels le 650 que nous verrons plus loin. Comme vous vous en doutez, cette technologie a préfiguré les disques durs que nous connaissons aujourd’hui.
IBM produisit 19 exemplaires, soit moins que le nombre total d’UNIVACs fabriqués mais assez pour empêcher Remington Rand de régner sur le secteur. Le coût était un frein considérable à une adoption plus large, vue que les acquéreurs devaient se délester de 16 000 $ par mois. D’autre part, le 701 n’était qu’une partie de la réponse d’IBM comme nous l’avons évoqué plus haut, l’autre partie étant le 650.
IBM 650
Bien que la réponse la plus directe d’IBM à l’UNIVAC fut le 701 (et le 702 plus tard), l’International Business Machines Corporation travaillait aussi sur une machine plus accessible répondant au doux nom de “IBM 650 Magnetic Drum Data Processing Machine” (ceci étant dû au tambour qui effectuait 12 500 rotations par minute et pouvait stocker jusqu’à 2500 termes de dix caractères. il se trouvait positionné entre les gros serveurs comme le 701 & l’UNIVAC et les machines à cartes perforées , lesquelles dominaient encore le marché à l’époque.
Si le 701 a généré le plus d’émotions, le 650 a été bien plus profitable, faisant ainsi d’IBM un acteur à part entière de l’industrie des ordinateurs électroniques. Coûtant 3250 $ par mois (nb: IBM ne vendait pas encore d’ordinateur à cette époque, préférant le crédit-bail ou leasing en anglais), il était largement plus accessible que le 701 et l’UNIVAC, mais restait encore bien plus cher que les machines à cartes perforées, si populaires alors. Au total, plus de 2000 exemplaires ont trouvé preneur. Si ces chiffres de vente surpassaient nettement ceux du 701 et de l’UNIVAC, on était alors très loin du nombre de machines à cartes perforées qu’IBM a vendu à la même période pour le monde de la finance. Bien que considéré comme très fiable suivant les standards de l’informatique, on retrouvait des lampes électroniques dans le 701, ce qui le rendait donc naturellement moins sûr que les propres tabulateurs électromécaniques de la même marque. Le prix du 701 était par ailleurs nettement supérieur à celui de ces machines. Enfin, les périphériques du 701 étaient considérés comme médiocres dans le meilleur des cas. Ceci explique pourquoi jusqu’à la fin des années 50, le fer de lance de la marque était la tabulatrice à cartes perforées IBM 407.
Bon nombre de changements étaient nécessaires pour ravir la couronne à cette dernière : l’ordinateur avait besoin de meilleurs périphériques et se devait d’être plus fiable et plus rapide tout en coûtant moins cher. La machine qui suivante n’est pas l’ordinateur qui a finalement rendu l’IBM 407 obsolète (pas directement tout du moins), mais la plupart des technologies associées ouvrirent la voie.
Projet Whirlwind (tourbillon de vent)
L’ironie entoure le projet Whirlwind : le budget de R&D a été explosé, le développement fut bien plus long que prévu et il n’a jamais été employé pour son but initial, mais il n’en est pas moins un des principaux accomplissements technologiques dans le domaine de l’informatique.
En 1943, l’armée de l’air américaine confiait le projet Whirlwind à un ingénieur du MIT (Institut de technologie du Massachusetts), Jay Forrester, avec comme but la création d’un simulateur aérien pour entraîner les pilotes autrement que dans des conditions réelles. Cette finalité était lourde de sens, puisqu’elle nécessitait ce que l’on appelle maintenant un “système en temps réel” : le simulateur se devait de réagir assez rapidement pour être réaliste. Là où d’autres ingénieurs développaient des machines qui pouvaient traiter 1000 à 10 000 instructions par seconde, Forrester devait quant à lui créer une machine capable d’un minimum de 100 000 instructions à la seconde. En prime, sa fiabilité se devait d’être nettement supérieure à celle des autres machines de l’époque parce qu’il s’agissait d’un système en temps réel.
Le projet traina pendant plusieurs années, bien après la fin de la seconde guerre mondiale. A cette époque, l’idée d’utiliser la machine comme simulateur de vol se dissipa pour laisser un doute planer quant à la raison d’être du projet. La situation changea lorsque l’URSS devint la deuxième puissance à acquérir la bombe nucléaire, poussant les américains à améliorer un système de défense anti-aérien aussi daté qu’inefficace. Ceci impliquait entre autres la création de centres informatisés pour le commandement et le contrôle ; le projet Whirlwind avait donc une seconde vie et au vu des enjeux, le financement ne serait jamais un problème.
A l’opposé, la mémoire était bel et bien problématique. La ligne de délai à mercure était une solution bien trop lente, Forrester décida alors d’expérimenter une technologique prometteuse : les tubes de stockage électrostatiques. Premier problème, ceux-ci n’existaient pas encore, ce qui nécessita donc des travaux de développement considérables avant d’arriver à un produit fonctionnel. Après cette étape, second problème, ces tubes ne furent pas considérés comme fiables et leur capacité de stockage était très décevante. En conséquence, Forrester qui avait un souci permanent de trouver de meilleurs technologies commença à travailler sur ce qui s’appellerait plus tard “core memory” (mémoire centrale de l’ordinateur). Jay Forrester transmit ses travaux de recherche à un étudiant travaillant aussi pour ce projet, Bill Papian, lequel réalisa un prototype en 1951 et un échantillon fonctionnel qui remplaça la mémoire électrostatique en 1953. La mémoire centrale était très rapide, très fiable et ne nécessitait même pas de rafraîchissement électrique pour conserver ses valeurs. Nous aborderons de la mémoire centrale plus tard, mais signalons d’emblée qu’il s’agissait d’une découverte extrêmement importante qui devint le standard sur une quinzaine d’années.
la mémoire centrale était la dernière pièce du puzzle. Finalisé en 1953, l’ordinateur fut déployé pour la première fois à cap Cod, une presqu’île située sur la côte Est des États-Unis. Bien qu’il ne put atteindre le niveau de performances attendu, il était tout de même capable de 75 000 instructions par seconde, largement plus que n’importe quelle machine de l’époque. La technologie se vit transférée du MIT à IBM, chez qui la version commerciale fut rebaptisée IBM AN/FSQ-7 et rentra en production en 1956. Ces monstres comptaient 50 000 tubes électroniques et pesaient plus de 250 tonnes, faisant d’eux les plus grands ordinateurs jamais conçus. En termes de consommation, ils nécessitaient la bagatelle d’un mégawatt, sans compter le refroidissement nécessaire.
Le programme de surveillance des bombardiers (SAGE, Semi-Automatic Ground Environment) pour lequel il était donc finalement destiné devint entièrement opérationnel en 1963. Manque de chance, l’époque où le Whirlwind aurait pu trouver une utilité réelle était révolue vu qu’il avait été conçu pour surveiller des bombardiers, et que les missiles balistiques intercontinentaux (abrégé en ICBM, intercontinental ballistic missile) avaient vu le jour quelques années plus tôt. Alors que les usages du Whirlwind étaient flous, les évolutions et nouvelles technologies qu’il embarquait étaient extrêmement importantes : la mémoire centrale, mais aussi le développement des circuits imprimés, les composants de stockage massif, les graphismes générés par ordinateur (pour reproduire les avions), le système en temps réel et même le stylo optique. L’interconnexion de plusieurs ordinateurs de ce type donna aux américains un avantage considérable en matière d’expertise réseau et de technologies de communication numérique. Il avait même quelque chose qui peut manquer à certains dans les ordinateurs actuels : un allume-cigare et un cendrier intégrés ! Au final, le projet Whirlwind justifieles quelques 8 milliards nécessaires à l’installation de SAGE, même si ce programme n’a jamais contribué à intercepter le moindre bombardier.
IBM 704
Annoncé en 1954, l’IBM 704 était le premier ordinateur commercialisé à grande échelle capable de gérer des opérations arithmétiques à virgule flottante automatisées, et le premier a reprendre la mémoire centrale magnétique qui avait été développée pour le Whirlwind.
La mémoire centrale se matérialisait sous la formes de petites pièces métalliques en forme de donut, lesquelles étaient à peu près de la taille d’une tête d’épingle, reliées par des câbles permettant de les magnétiser en positif ou négatif en donnant une valeur logique de 0 ou 1. La mémoire centrale avait de nombreux avantages bien réels, à commencer par le fait que l’alimentation n’était pas nécessaire pour préserver ses données (un avantage qui ne s’est pas démenti par rapport à la mémoire actuelle). En outre, celle-ci permettait de vrais accès aléatoires, puisque tout emplacement mémoire était accessible aussi rapidement qu’un autre (exception faite des cas d’imbrication bien entendu) , ce qui n’était pas le cas avec les composants précédents. La mémoire centrale était aussi bien plus rapide que les autres technologies avec un temps d’accès de 12 microsecondes. Mais il y avait peut-être encore plus important, à savoir la fiabilité nettement supérieure de l’ IBM 704 sur ses concurrents.
Pour le stockage à long terme, le 704 utilisait un tambour magnétique tandis que le stockage additionnel était géré par des bandes capables de contenir chacune cinq millions de caractères.
Le 704 était assez rapide, avec une capacité de 4000 multiplications/divisions d’entiers par seconde. D’autre part il était aussi capable de faire de l’arithmétique à virgule flottante en natif et atteignait presque 12 000 additions/soustractions à la seconde. Mieux encore, le 704 ajoutait des registres indexés qui non seulement accéléraient très nettement les branches, mais réduisaient aussi le temps de développement des programmes (vu que ceci devenait alors l’apanage des composants).
Le 704 a été le pionnier pour deux technologies majeures qui ne sont pas tombées en désuétude : les registres indexés et l’arithmétique à virgule flottante. Bien qu’elle aussi extrêmement utile grâce à une vitesse et fiabilité accrues, la mémoire centrale était une technologie de transition.
IBM 1401
Si le 650 a permis à IBM de se faire un nom, le 1401 a été l’ordinateur qui a rendu les machines à cartes perforées obsolètes. Le 1401 est considéré dans l’industrie informatique comme étant l’équivalent de la Ford modèle T dans l’industrie automobile, vu que ses fonctionnalités ajoutées à un coût relativement faible a donné l’opportunité à de nombreuses entreprises de commencer leur informatisation. Sa popularité a propulsé IBM au rang d’entreprise dominante du secteur informatique de cette ère et pourtant, le 1401 n’était pas le modèle le plus grand ou le plus profitable de la marque. A vrai dire, le 1401 était parfois simplement ajouté à des modèles plus imposants dans le but de transférer les données de cartes perforées vers des bandes et d’imprimer.
Cependant, pour la première fois, Le coût, la fiabilité et les fonctionnalités d’un ordinateur le rendaient très attractif pour bon nombre de clients. Par rapport que 650 qu’il remplaçait, le 1401 était en gros sept fois plus rapide, plus fiable et disposait d’un meilleur support technique. Mais le meilleur argument en sa faveur était peut-être une meilleure capacité en E/S : IBM a eu la clairvoyance de développer une machine qui réponde vraiment aux besoins des clients à un prix accessible. Le succès a même posé des problèmes à la marque parce qu’il lui a fallu gérer un flux de clients qui rendaient leurs machines comptables de location pour basculer sur un 1401. Il y eut donc beaucoup de problèmes à court terme, mais la situation avait été suffisamment prévue pour éviter une catastrophe. Nul doute que la réussite à long terme de ce nouveau business model informatique fit date.
Qu’est-ce qui a donc conduit cet ordinateur à un tel succès ? Mémoire principale, transistors, logiciels et imprimante étaient des avancées considérables, chacune d’entre elles constituant déjà une belle progression par rapport au 650. A l’arrivée, les ventes furent douze fois supérieures au prévisions d’IBM.
Nous avons déjà présenté la mémoire principale avec le 704 : ses vertus en termes de rapidité, fiabilité, haute capacité et faible consommation en ont fait une technologie clé. Le 704 était toutefois un ordinateur extrêmement cher, là où le 1401 a rendu cette technologie bien plus accessible.
Aujourd’hui, nous savons tous ce que sont les transistors, mais à l’époque, il s’agissait d’un progrès par rapport aux technologies existantes au niveau de la fiabilité, des propriétés électriques, de la dissipation de la chaleur et du prix.
L’approche holistique de la marque passait aussi par les logiciels : pour la première fois et ce gratuitement, IBM incluait des paquets logiciels pour les besoins les plus courants de ses clients plutôt que de les laisser développer leurs programmes. Il s’agit là d’une étape cruciale vu que le coût du développement interne était nettement réduit et permettait aux entreprises sans programmeurs de finalement tirer parti des ordinateurs.
Curieusement, un des principaux avantages du 1401 était son imprimante : avec 600 lignes par seconde, la 1403 était quatre fois plus rapide que l’IBM 407 et se montrait aussi particulièrement fiable. Pour beaucoup, la 1403 était un prétexte pour acheter un système complet et ensuite revendre l’ordinateur qui l’accompagnait.
Tout ceci explique pourquoi le 1401 a transformé l’industrie informatique : son succès tient non seulement à d’excellentes caractéristiques techniques, mais aussi à un prix assez faible pour l’époque, démarrant à 2500 $ par mois. Pour prendre la mesure du phénomène, il faut savoir qu’aux Etats-Unis, “IBM et les sept nains” fit alors allusion à l’industrie informatique. Oui, le 1401 était aussi réussi que cela.
IBM 7090
Annoncé fin 1958, le 7090 était appelé à remplacer un 709 sur le déclin (dernier de la ligne 700 que nous avons déjà abordé). A bien des égards, on pouvait dire que le 7090 était en substance un 709 avec 50 000 transistors au lieu de tubes électroniques. Cette transition se traduisait par de nombreux avantages, notamment en termes de vitesse d’exécution et de fiabilité.
Le 7090 puis sa version améliorée, le 7094, étaient des serveurs classiques, puissants, gigantesques et extrêmement onéreux : environ 63 500 $ dollars mensuels pour le 7090 dans sa version type, et ce sans compter les dépenses en électricité.
Malgré sont coût, les performances de cette machine la rendaient tout de même très attractive : environ cinq à six fois plus rapide que le 709 qui l’a précédé, capable de 229 000 additions/soustractions, 39 500 multiplications ou encore 32 700 divisions à la seconde. Le 7094, annoncé en 1962 était lui capable de 250 000 additions/soustractions, 100 000 multiplications et 62 500 divisions par seconde. En outre, sa mémoire centrale accueillait 32 768 termes en 36 bits.
Toutefois, au-delà de l’implémentation des dernières technologies (mémoire centrale, RAMAC, transistors etc.), du gain conséquent en vitesse de calcul, consommation et fiabilité, le 7094 n’était pas très différent de son prédécesseur sur un plan fonctionnel. Les tâches étaient traitées par lot sur des rouleaux de bandes, après quoi les résultats étaient retournés au programmeur.
Si la performance, capacité et fiabilité de ces machines étaient impressionnantes (principalement grâce à l’adoption des transistors et d’autres nouvelles technologies), les considérer comme révolutionnaires serait abusif.
IBM 7030
L’IBM 7030 a quelque chose de paradoxal : considéré comme l’ordinateur le plus puissant du marché jusqu’à trois ans après sa sortie, il embarquait de nouvelles technologies dont une bonne partie sont encore utilisées aujourd’hui. Malgré cela, IBM l’a considéré comme un échec au point de réduire son prix avant de le mettre rapidement en fin de vie avec une perte de 20 millions de dollars à la clé. Comment a-t-on pu en arriver là ?
En 1956, le laboratoire scientifique de Los Alamos (LANL) attribua un contrat à IBM pour la construction d’un supercalculateur. L’objectif était alors d’arriver à des performances 100 fois supérieures à celles de l’IBM 704, plutôt ambitieux donc. En 1961, le 7030 surpassait effectivement le 704, mais le rapport allait jusqu’à 38 pour 1. Au vu des performances « décevantes » IBM s’est alors vu contraint de baisser le prix de la machine de 13,7 M $ à seulement 7,78 M $, entrainant donc des pertes sur chaque exemplaire produit. Après avoir rempli ses obligations contractuelles, IBM retira le 7030 du marché sur un constat décevant d’un échec. Mais était-ce vraiment le cas ?
Non seulement cette machine affichait des performances très en avance sur leur temps (0,5 MIPS), mais en plus les technologies embarquées sont comparables à une cartographie de l’informatique moderne : préchargement des instructions et des opérandes, calcul arithmétique parallèle. Le 7030 disposait aussi d’un module (7619) en charge de répartir les données de la mémoire centrale vers les périphériques externes comme les bandes magnétiques, les consoles d’impression et les machines à lire/perforer des cartes. On tenait là le précurseur de la fonctionnalité DMA (Direct Memory Access) que nous connaissons aujourd’hui, bien que les canaux du serveur étaient eux-mêmes des processeurs et à ce titre, supérieurs au DMA. Le 7030 embarquait aussi des instructions d’interruption, de protection, d’entrelacement et des tampons d’écriture pour la mémoire et même l’exécution spéculative des commandes. Il faut aussi ajouter une forme limitée d’exécution dans le désordre plus connue sous le nom d’instruction spéculative pré-exécution. On aura donc deviné que l’architecture du processeur était en pipeline.
Les programmes étaient presque aussi impressionnants : le 7030 a servi pour le développement de bombes nucléaires, la météorologie, la sécurité nationale américaine ainsi que les premières missions spatiales Apollo. A l’époque, seul le 7030 en était capable vu sa quantité de mémoire hallucinante (256 000 termes en 64 bits) et sa vitesse de calcul sans précédent. En effet, il pouvait effectuer plus de 650 000 calculs en virgule flottante par seconde et plus de 350 000 multiplications. Le module d’indexation pouvait accueillir jusqu’à six instructions en simultané, tandis que le module d’arithmétique parallèle et de calcul par anticipation pouvait en gérer cinq, soit un total de onze instructions. Comparé à l’excellent 7090 sorti à la même époque, le 7030 faisait systématiquement huit à dix fois mieux suivant le type d’instructions.
En bref, le 7030 a certes eu une existence assez brève mais très utile, puisque sa technologie est encore utilisée de nos jours et qu’il a eu un impact majeur sur la famille System/360 dont le nom n’est plus à faire. Le 7030 pourrait donc tout à fait être considéré comme l’ordinateur le plus marquant de l’histoire des serveurs, et pourtant, ce fut un échec sur le plan commercial. Un beau paradoxe donc.
B 5000
Arrivé à ce stade, il y en a sûrement plus d’un qui sera tenté à juste titre de nous rappeler qu’IBM n’était pas le seul fabricant d’ordinateurs depuis l’UNIVAC. Voyons donc maintenant une machine de Burroughs, le B 5000. Annoncé en 1961, le fait marquant est qu’UNISYS (Burroughs et Sperry ayant fusionné en 1986) continue le support logiciel du B 5000 à ce jour !
Le B 5000 a été développé pour des langages de haut niveau, COBOL et ALGOL. Pour être plus précis, le langage de la machine a été conçu pour permettre une traduction facile depuis les langages de haut niveau. Il embarquait une pile mémoire (Hardware Stack), la segmentation et de nombreux descripteurs pour l’accès aux données.
Les descripteurs avaient de nombreux usages, parmi lesquels la détection de variables au sein d’une plage de données pour les composants, la distinction entre chaînes de caractères et tableaux de mots, l’assouplissement de l’allocation dynamique des tableaux, indiquer la taille des caractères et ceci en mémoire centrale comme ailleurs. Quelle utilité ? La mémoire virtuelle. Le B 5000 est tout simplement le premier ordinateur commercial doté de cette technologie. De plus, le B 5000 supportait le multitâche et la multiprogrammation, même avec ALGOL et COBOL. Le MCP (Master Control Program), nom du système d’exploitation, prenait en charge les tâches mémoire et entrées/sorties, la segmentation des programmes, les liaisons de sous-programmes et l’organisation des tâches, ce qui libérait les programmeurs de toutes ces activités ennuyeuses et chronophages.
Le B 5000 fit aussi la fierté de Burroughs de par sa nature modulaire : il pouvait être agrandi ou compacté, sans avoir à « reprogrammer » toute la machine à grands frais.
Cependant, le B 5000 n’a pas eu le même succès que les serveurs IBM et à vrai dire, c’était la machine que tout le monde apprécie mais que personne n’achète. Il reste que sa conception était simple et efficace. Son but était de résoudre les problèmes en fonction des interactions humaines avec la machine par opposition à la vitesse d’exécution pour la vitesse d’exécution. Mais l’essentiel réside peut-être dans les nouvelles technologies qu’il embarquait comme la mémoire virtuelle et le multitâche, incontournables dans les ordinateurs actuels, dont certains assurent encore le support logiciel de cette architecture, 48 ans après son lancement.
UNIVAC 1107
Si IBM mérite des louanges pour les innovations apportées par le 7030, le n°2 mondial de l’époque (Remington Rand) s’affairait alors autour de l’UNIVAC 1107.
Le principal accomplissement avec cet ordinateur est l’utilisation de mémoire en couches minces (Thin film). Le temps d’accès de 300 nanosecondes et les 600 nanosecondes nécessaires pour un cycle complet le rendaient extrêmement rapide à son lancement en 1962. Cependant, la mémoire en couches minces ne remplaça pas la mémoire système, laquelle demandait environ 2 microsecondes pour un cycle complet, vu que celle-ci était plutôt utilisée pour fournir de multiples accumulateurs, indexes de registres et registres de contrôle entrées/sorties. Outre une meilleure vitesse d’exécution, ceci permettait un meilleur parallélisme au final. La mémoire en couche (également appelée mémoire contrôle vu son usage) permettait de contenir 128 termes 36 bits. On ne considérerait plus du tout ceci comme de la mémoire avec les standards actuels, mais une partie intégrante du processeur à l’image des registres, bien qu’il s’agisse de mémoire interne très rapide dans les deux cas. Une des différences réside dans le fait qu’on accédait aux registres de contrôle mémoire avec une adresse mémoire et non pas un nom de registre, mais seulement avec des désignateurs d’instructions spéciales ou lorsque l’on se réfèrerait à l’exécution d’une adresse. Si l’accès aux adresses se faisait différemment, celles-ci étaient alors tracées vers la mémoire centrale. Curieusement, le traçage de la mémoire pour les premiers 128 octets dépendait donc du contexte.
Si la mémoire en couches minces était certainement la plus grande innovation, d’autres fonctionnalités méritent le détour, à commencer par des termes utilisables de 36 bits. Les caractères étaient eux exprimés en 6 bits. Les banques mémoire étaient entrelacées de manière à ce que, dans le cas de multiples lectures à partir de plusieurs banques mémoire, le temps d’accès ne soit que d’1,8 milliseconde. Si le terme était dans la même banque, le temps d’accès passait alors à 4 microsecondes, mais cette probabilité étant plus réduite, la moyenne se situait vers les 2 microsecondes. Le 1107 contenait aussi seize canaux d’entrée et seize canaux de sortie, lesquels pouvaient tous être utilisés en simultané pour gérer un maximum de 250 000 termes à la seconde.
Le stockage principal de la machine était assuré par 1 à 8 tambours magnétiques, chacun capable de contenir de 262 144 à 6 291 456 termes, conférant ainsi à l’UNIVAC 1107 une capacité énorme : plus de 94 millions de termes 36 bits (ou plus d’un demi-milliard de signes en stockage).
L’UNIVAC 1107 était clairement une machine réussie, mais la série d’ordinateurs qu’il a initié est encore plus importante. Bien que la série 1100 de l’UNIVAC n’ait jamais atteint les ventes des ordinateurs IBM qui lui ont succédé, son support logiciel est encore assuré aujourd’hui et Remington Rand a pu devenir grâce à elle le deuxième groupe mondial du secteur. Sur ce, retournons du côté d’IBM.
IBM System/360
La première machine qui vient à l’esprit en matière d’histoire des serveurs est un des IBM 360, probablement l’architecture informatique la plus importante crée jusqu’ici. A bien des égards, celle-ci est comparable aux processeurs 8086 dans le sens où tous deux instaurèrent un nouveau standard pour l’industrie avant d’engendrer une lignée de descendants, laquelle est encore florissante de nos jours. A contrario, IBM comptait frapper fort dès le début avec le 360, tandis que le 8086 a pris une importance que son créateur ne pouvait pas prévoir. Comme vous le savez peut-être, Intel a même essayé de tuer ce jeu d’instructions avec l’Itanium.
Revenons à nos moutons : avant le lancement du 360, IBM avait crée tout un ensemble de machines qui étaient incompatibles entre elles. Non seulement la mise à niveau était donc plus ardue pour les clients, mais en plus IBM se trouvait en plein cauchemar logistique à force de gérer tous ces systèmes d’exploitation sur autant de configurations différentes. La marque décida alors de créer quelque chose qui semble tout à fait banal aujourd’hui : une gamme d’ordinateurs compatibles entre eux, avec des fréquences et capacités différentes, mais tous en mesure de faire marcher les mêmes logiciels. Ainsi, IBM annonça six modèles dans cette gamme en avril 1964 avec un écart de performances d’environ 50 % entre les modèles entrée de gamme et haut de gamme. Cet écart a été problématique à bien des égards puisqu’il ne devait initialement pas excéder 25 % . Un échelonnement des performances de cette ampleur était vu comme impossible, même par quelqu’un d’aussi brillant et polémique que Gene Amdahl (à qui l’on doit une loi fondamentale dans la théorie du calcul parallèle et ses limites), et nécessitait une ré-implémentation pièce par pièce des composants.
Aujourd’hui, on ne s’étonne pas de la désactivation de certains composants d’un processeur ou bien du sous-fréquençage pour distinguer les modèles au sein d’une même gamme, mais a l’époque, le fait de créer un processeur haut de gamme pour ensuite diminuer artificiellement ses performances à des fins commerciales n’était pas une option économiquement viable. IBM décida donc d’ajouter la microprogrammation à son 360 de façon à ce que tous les autres membres de la famille puissent utiliser le même jeu d’instructions (exception faite du modèle entrée de gamme, le 20, qui pouvait exécuter un sous-jeu d’instructions). Ces instructions étaient déclinées en une série de « micro-opérations », spécificité de cette implémentation système. Grâce à cela, la différence d’un processeur à l’autre pouvait être considérable, permettant ainsi à IBM l’échelonnement envisagé, et même deux fois mieux.
Tout ceci nous est probablement familier dans la mesure où des similitudes ont été implémentées sur les processeurs x86 depuis le pentium Pro (ou plutôt le NexGen Nx586 pour être exact). IBM est donc le pionnier en la matière. Les concepteurs de l’x86 ont procédé de la sorte parce que le jeu d’instructions était si pauvre qu’il ne pouvait pas être exécuté directement de façon efficace. Toutefois, cette microprogrammation qui était compliquée à implémenter sur un microprocesseur présentait un avantage indéniable : grâce à la création de ces nouveaux modules de microprogrammation, le 360 pouvait être compatible avec le 1401 dont la réputation n’était plus à faire, et même des 7070 et 7090 pour les 360 haut de gamme. Vu que ceci était fait au niveau des composants, le résultat était bien plus rapide que toute émulation logicielle au point que les anciens programmes tournaient plus vite sur le 360 que sur leur machine d’origine.
Certaines de ces avancées nous suivent encore aujourd’hui : le 360 à standardisé le byte à 8 bits et utilisait des termes de 32 bits ce qui permit de simplifier la conception vu que tous deux sont des puissances de 2. Exception faite du modèle entrée de gamme, tous les 360 avaient 16 registres généralistes (idem pour l’x86-64) tandis que la plupart des ordinateurs précédents avaient un accumulateur, voir un registre indexé et parfois d’autres registres spécifiques. Le 360 pouvait en outre adresser 16 Mo de mémoire, une quantité si énorme pour l’époque qu’on ne pouvait tout simplement pas trouver autant de mémoire. Le processeur du modèle haut de gamme atteignait 5 MHz, un chiffre très honorable (ce fut précisément la fréquence du 8086 à son lancement 14 ans plus tard), tandis que les processeurs entrée de gamme tournaient à 1 MHz. Par ailleurs, les versions qui sortirent en 1966 étaient basées sur une architecture en pipeline.
Si le 360 explorait de nouveaux domaines, il passait à côté de technologies importantes. Son défaut le plus criant de ce point de vue était l’absence de translation dynamique des adresses (corrigé par le modèle 67). Non seulement la mémoire virtuelle était impensable, mais en plus le 360 était mal armé pour le temps partagé, ce qui devenait alors une possibilité vu l’augmentation de la performance et du nombre d’ordinateurs. IBM esquiva les circuits intégrés pour utiliser la « solid-logic technology », qui peut en gros être considéré comme étant à mi-chemin entre les circuits intégrés et les simples transistors. A l’opposé, IBM a peut-être été un peu trop ambitieux avec OS/360, un des systèmes d’exploitation conçus pour le 360. En plus d’être sorti tardivement, il était gourmand en mémoire, rempli de bugs, manquait de certaines des fonctionnalités qui avaient été promises et resta buggué bien après sa sortie pour ne rien gâcher. OS/360 a donc été un échec retentissant, mais IBM a su le faire évoluer pour obtenir des descendants d’un tout autre niveau.
Malgré ces problèmes, le 360 fut incroyablement accueilli : 1100 unités trouvèrent acquéreur dès le premier mois, surpassant de loin les prévisions de la marque et sa capacité de production. Le succès du 360 ne s’est pas démenti sur le long terme, puisqu’une vague de clones suivit, dont certains furent conçus dans l’ex-URSS. La gamme 360 avait été conçue pour être très souple et adaptable, ce qui lui a permis d’œuvrer dans bien des secteurs, notamment le programme spatial Apollo.
Mais au-delà de ça, le 360 initia une lignée d’ordinateurs qui constitue en quelque sorte l’épine dorsale de l’informatique depuis presque cinquante ans, et représente un des succès commerciaux et une des conceptions les plus endurantes du secteur.
CDC 6600
Tandis qu’IBM s’attelait a créer un ensemble d’ordinateurs compatibles avec le 360, une entreprise du nom de CDC avait une autre approche pour sa future réalisation : rapide et très rapide.
Parce que libéré de toute contrainte du type compatibilité ou coût, Seymour Cray a pu mobiliser tous ses talents pour privilégier la vitesse pure sur tout autre critère. Le résultat fut atteint puisque du haut de ses 7 millions $, le CDC 6600 a été l’ordinateur le plus rapide du marché de 1964 à 1969 grâce à une conception unique qui s’appuyait sur ce que l’on qualifierait aujourd’hui de « conception multiprocesseur asymétrique ».
Le processeur principal tournait à la fréquence incroyable de 10 MHz, mais était très limité au niveau des instructions prises en charge vu qu’il s’agissait au sens propre d’un CPU RISC, bien avant que le terme ne soit inventé. Il n’était capable de gérer que des fonctions ALU très simples, mais se voyait épaulé par dix processeurs périphériques logiques qui prenaient en charge ce qu’il n’était pas en mesure de traiter et l’alimentaient de façon à prévenir les exclusions de données. La spécialisation du processeur et le parallélisme des dix CPU périphériques étaient la clé des performances exceptionnelles du CDC 6000. Compte tenu de son énorme quantité de mémoire (128 000 termes), cet ordinateur 60 bits pouvait faire des sacrifices sur sa capacité à gérer les fichiers exécutables volumineux pour profiter des performances qu’un simple jeu d’instruction ne pouvait offrir.
Bien que le CDC 6000 fut rentable, il ne menaça jamais les parts de marchés de l’IBM 360 (ce qui n’avait d’ailleurs jamais été le but à la base). Comme pour la prochaine machine de ce reportage photo, il était parfois plus judicieux de rivaliser avec IBM sur un terrain ou le géant était absent plutôt que sur son terrain. Ainsi, le 6600 visait un marché plus élitiste encore que celui ciblé par le 360 modèle 75, tandis que la machine suivante se destinait quant à elle un marché plus modeste que celui de l’IBM 360 modèle 20.
DEC PDP-8
A l’heure où IBM commercialisait sa gamme 360, Digital Equipment Corporation (DEC) se préparait à lancer un ordinateur qui aurait lui aussi un impact significatif sur l’avenir de l’informatique, le PDP-8. Bien que la gamme 360 fut particulièrement riche au niveau de ses caractéristiques techniques et capacités, tous les modèles restaient des serveurs et même les modèles entrée de gamme restaient inaccessibles pour beaucoup d’entreprises. Ken Olsen, le fondateur de DEC, ne laissa pas passer cette opportunité.
Bien que DEC eut commercialisé des machines depuis 1960, ses ordinateurs n’étaient que des réussites commerciales modestes ayant peu d’impact sur l’industrie. Ceci étant, la progression continue des technologies et en particulier les circuits intégrés permirent à DEC de vendre des produits bien plus compacts et accessibles que les précédents. Autre point fort des circuits intégrés, leur faible consommation permettait de diminuer la dissipation thermique, ce qui eut pour effet d’émanciper les ordinateurs de leurs pièces à air conditionné. A sa sortie en 1965, le PDP-8 était vendu pour seulement 18 000 $ ce qui, ajouté à l’hébergement facilité, permit à de nombreuses entreprises d’amorcer une informatisation autrefois hors d’atteinte.
Une caractéristique unique du PDP-1, premier produit de DEC, se trouvait être l’utilisation d’un véritable accès direct à la mémoire (DMA), ce qui était bien moins coûteux et compliqué que les canaux utilisés par les serveurs et présentait en plus l’avantage d’un impact moins important sur le processeur. A vrai dire, un seul canal de serveur coûtait plus qu’un PDP-1. Le DMA fut ensuite repris avec succès sur chaque ordinateur DEC, notamment le PDP-8. Toutefois, toutes les mesures de réduction des coûts n’eurent pas la même incidence : les termes de 12 bits limitaient radicalement la quantité de mémoire adressable et seuls 7 bits de ces termes intégraient l’adresse, ne permettant ainsi qu’a 128 bytes d’être directement adressés. On pouvait toutefois contourner cette limitation par le biais de l’adressage indirect, entre autres : 7 bits se dirigeaient alors vers un emplacement mémoire qui contenait l’adresse à la quelle on souhaitait justement accéder, ce qui était plus lent mais permettait un accès 12 bits complet. L’autre méthode consistait à diviser la mémoire en segments de 128 bytes et de changer de segments lorsque c’était nécessaire (et beaucoup pensaient que les segments de 64 K des processeurs x86 16 bits étaient néfastes). Aucune solution n’était vraiment bonne et toutes deux limitaient donc la capacité du PDP-8 à gérer les langages de haut niveau. D’autre part, celui-ci n’avait rien d’un foudre de guerre puisqu’il atteignait seulement 35 000 additions par seconde.
Malgré tous ces compromis, le PDP-8 fut un succès remarquable avec 50 000 machines vendues. Le faible coût d’achat, la maintenance accessible et sa tolérance par rapport à l’hébergement l’emportaient largement sur ses défauts. Cette machine modeste a même été le premier modèle d’une famille qui connut un grand succès pendant plus de vingt ans et permit à DEC de devenir la deuxième entreprise du secteur : les mini-ordinateurs. Ces derniers n’ont pas survécu à la marche des micro-ordinateurs et constituent aujourd’hui une espèce éteinte, ce qui ajouté à leur taille pousse à les qualifier de dinosaures plutôt que de serveurs. Les serveurs sont eux encore au sommet de la chaine alimentaire, capable de choses bien au-delà des possibilités des PC.
IBM System/370
Bien que le 360 ait été une réussite et même révolutionnaire à certains points de vue, il passait à côté de technologies de pointes, ce qui permit à des concurrents d’IBM de se faire un nom. Ceci étant, il se vendait encore plus de six ans après son lancement et posa les bases pour les générations suivantes, parmi lesquelles le 370 en tête.
A son lancement en 1970, le 370 se déclinait en deux versions : le 155 (cadencé à presque 8,70 MHz) et le 165 (12,5 MHz). Bien entendu, tous deux étaient compatibles avec les programmes écrits pour le 360 et pouvaient même accepter ses périphériques. De plus, la performance avait été largement revue à la hausse : le 370 – 165 était environ cinq fois supérieur à un 360 – 65, modèle le plus puissant de cette famille lorsqu’il sortit en novembre 1965.
Il faut aussi signaler les nouvelles technologies du 370 par rapport à son prédécesseur : IBM était enfin passé aux circuits intégrés, un changement estimé trop tardif par beaucoup. La plupart des modèles avaient une mémoire à transistors plutôt qu’une mémoire centrale et exception faite des deux modèles initiaux, les 370 géraient enfin la translation d’adresses dynamiques, une technologie majeure pour le temps partagé et la mémoire virtuelle. On trouvait aussi un cache mémoire extrêmement rapide (80 ns pour le 165) qu’IBM appelait « buffer » (tampon). Celui-ci était utilisé par le processeur pour compenser un accès à la mémoire principale relativement lent (deux microsecondes ou 2000 ns). Enfin, il faut prendre en considération le fait que le 370 fut conçu en tenant compte des biprocesseurs et de la multiprogrammation.
Si le 370 n’a pas fait l’objet d’un lancement en trombe, reste qu’il a su aller au-delà des faiblesses du 360 tout en étant bien plus rapide, disposant d’un jeu d’instructions plus étendu tout en assurant une bonne compatibilité. Ce fut donc un pas en avant qui permit à IBM de maintenir sa domination sur le monde des serveurs.
IBM 3033
Le marché des serveurs a donc vu la domination du 370 pendant plusieurs années grâce à une succession de modèles pourvus de nouvelles fonctionnalités et performances revues à la hausse jusqu’en mars 1977 où le successeur de cette famille fut annoncé : le 3033 alias « the big one ».
Bien qu’IBM ait surtout mis l’accent sur la rapidité (1,6 à 1,8 fois supérieur à celle du 370 – 168-3) et à son encombrement réduit contrairement à ce que son nom pouvait laisser penser, le 3033 avait quelques mérites techniques qui ne seraient pas hors de propos sur un ordinateur actuel. Le processeur cadencé à 17,24 MHz était conçu sur un modèle de pipeline à huit étages, capable de prédire les branchements et même d’exécution spéculative. Il contenait plusieurs unités logiques ainsi que douze canaux. Ces unités étaient la fonction de prétraitement des instructions (IPPF), la fonction d’exécution (E-function), la fonction processeur de contrôle du stockage, la fonction de maintenance et retour ainsi que les fameux canaux communs à tous les serveurs IBM. L’iPPF récupérait les instructions puis les préparait pour que l’E-function les exécute, déterminait la priorité, et faisait des requêtes pour l’opérande. L’IPPF ne se contentait pas de prédire les branchements puisqu’elle pouvait mettre en tampon mémoire trois flux d’instructions en simultané de sorte à ce qu’en cas de mauvaise prédiction, une autre séquence d’instructions soit disponible et préparée pour l’E-Function. Cette dernière était naturellement le moteur d’exécution du processeur avec un gros cache de 64 K (lignes de 64 bytes), une première pour accélérer les accès mémoire. La mémoire était elle-même octuplement entrelacée, permettant ainsi un rafraîchissement des sept autres banques auxquelles elle n’accédait pas pendant les opérations de lecture, ce qui permettait justement d’accélerer la lecture si l’accès suivant se faisait sur une de ces sept autres banques (la DRAM doit être rafraîchie après une lecture pour être accessible à nouveau).
La fonction processeur de contrôle du stockage traitait toutes les requêtes de recherche et stockage de données depuis le stockage processeur, et traduisait les adresses virtuelles en adresses de stockage physiques à l’aide d’une technologie que nous avons déjà abordé : la translation dynamique des adresses. A l’image des processeurs modernes, celui du 3033 faisait appel à un cache (le TLB) lui-même géré par l’unité de gestion mémoire pour accélérer ce genre d’opérations : son rôle était donc de fournir au processeur des adresses déjà traduites de manière à le soulager d’une conversion. Si le 3033 arrivait à trouver une adresse de la sorte, un simple cycle d’horloge suffisait à la résoudre contre dix à quarante cycles dans le cas contraire. La différence n’avait donc rien d’anodin.
La fonction de maintenance et retour établissait le lien entre la console d’opération et le processeur du 3033 pour les opérations de service ainsi que manuelles.
Si au premier abord le 3033 se résumait à un successeur du 370 – 168-, on voit en y regardant de plus près qu’il embarquait presque toutes les technologies des processeurs modernes. Toutefois, il s’agissait encore d’une conception scalaire et malgré d’impressionnantes caractéristiques, il fut remplacé plutôt rapidement par le 3081. Avant d’aborder ce dernier, regardons maintenant ce que DEC proposait à l’époque.
VAX-11/780
Si la plupart d’entre nous savent que les instructions x86 datent de 1978 et du 8086, un évènement peut-être encore plus important a eu lieu un an auparavant avec la sortie du tristement célèbre VAX-11/780. Comment pourrait-il avoir été plus important que le jeu d’instructions x86 ?
Quand on pense à DEC, on a tendance à penser à une grande marque de mini-ordinateurs qui échoua et finit par être rachetée par Compaq lorsque les micro-ordinateurs prirent d’assaut le marché de DEC. Mais que s’est-il donc passé de si important en 1977 ? La sortie du VAX et de son système d’exploitation très plaisant, le VMS, qui a encore beaucoup d’intérêt aujourd’hui.
Le VAX-11/780 a clairement été commercialisé pour pallier à tous les manques du PDP-11, une machine à succès et très appréciée. DEC minimisa beaucoup des changements nécessaires pour arriver enfin a dépasser les 16 bits (64 K) constituant la limite de mémoire adressable du PDP-11, grâce aux adresses 32 bits du VAX-11/780. Mais il y avait bien plus encore.
Pour la plupart, le VAX possède le plus beau jeu d’instructions CISC jamais crée, exception faite de ceux qui l’ont inspiré. C’était un jeu d’instructions très orthogonal avec 243 instructions sur plusieurs types de données basiques et seize différents modes d’adressage. Cette fine architecture ne manqua pas d’influencer fortement la famille 68000 de Motorola, qui devint la plateforme pour le MacIntosh et le Lisa d’Apple jusqu’à son remplacement par le PowerPC dans les années 1990. Par ailleurs, la performance du VAX-11/780 fut adoptée comme mètre-étalon lorsque le « VAX MIPS » ou plus tard le « MIPS » devinrent une échelle de mesure des performances.
Mais le principal héritage du VAX est probablement le VMS. Windows NT a été développé par Dave Cutler, qui se trouve être l’architecte de VMS ; Il fut un des nombreux développeurs VMS à passer chez Microsoft à qui Windows NT doit beaucoup. Au-delà des controverses, Windows NT est toujours le système d’exploitation dominant à l’heure actuelle et la situation ne changera pas à court terme, d’autant plus que Windows 7 est bien mieux accueilli que Vista ne l’a été. On ne tient pas ici à limiter VMS à sa « simple » influence sur Windows NT, puisqu’en plus d’être très convivial, il forçait le respect.
Beaucoup acclamèrent la facilité d’utilisation de cet Os, qui était très en avance sur son temps. Le VAX a beau être mort enterré, le VMS ne l’est absolument pas puisqu’il tourne actuellement sur les processeurs Intel Itanium ainsi que les archaïques HP Alpha. Bien qu’ayant 32 annéess au compteur, il se porte encore bien, à tel point qu’une nouvelle version est prévue cette année.
Aussi plaisants que fussent VAX et VMS (le VMS l’est donc encore), jamais DEC ne parvint à concurrencer sérieusement Big Blue sur le terrain économique. Au contraire, tous deux donnèrent un coup de main à IBM dans sa lutte avec le gouvernement américain, qui n’appréciait pas vraiment ce qu’il considérait comme un monopole. En 1981, Ronald Reagan finit par abandonner les poursuites contre IBM pour ce motif. Le 3081 vit le jour lors de cette même année.
IBM 3081
Je m’en souviens encore comme si c’était hier : un beau jour de printemps en 1988, je reçus un appel d’IBM pour fixer un entretien avec un poste de technicien à la clé. J’étais transporté par le fait que ce qui était alors considéré comme la première entreprise au monde du secteur informatique, la seule pour laquelle je rêvais de travailler, devienne mon employeur. C’était une autre époque, IBM représentait alors le meilleur d’une entreprise américaine.
Dès mon premier jour, on me présenta une machine qui avait été commercialisée en 1981, le 3081. J’avais pu me familiariser avec un vieil UNIVAC 1100/63 au lycée, mais jusque là, c’est avec les micro-ordinateurs que je me sentais le plus à l’aise. Les récents 80386 et 68030 étaient alors les meilleurs représentants de ce type de machine. Ma première impression sur les serveurs fut mauvaise : même en prenant compte les standards de l’époque pour les micro-ordinateurs, l’interface était primitive et nettement moins intuitive que celle des PC. Bref, je n’étais pas impressionné.
Si une chose m’a marqué, c’est sans doute le rapport de tailles : dans une salle dépassant les 100 mètres de long et de large, au sol surélevé et bien entendu climatisée, nous avions une douzaine de 3081 et d’innombrables périphériques de stockage à accès direct (DASD). Il y avait par ailleurs six imprimantes gigantesques, presque aussi grandes que le serveur. Trois jeux de consoles servaient à la zone d’impression, à l’enregistrement sur bandes et à la surveillance des ordinateurs qui faisait l’objet d’une attention continue sur la zone console principale.
Nous avions trois interfaces vers MVS (nom du système d’exploitation) alias Multiple Virtual Storage, qui avait été rebaptisé « man versus machine ». On dénombrait trois consoles système, lesquelles étaient essentiellement accessibles enlignes de commande : le moniteur de temps partagé d’emploi (TSO), ainsi qu’un planificateur et gestionnaire des opérations (OPC). TSO était utilisé par de nombreux employés pour leur travail, tandis qu’OPC servait principalement à gérer les paquets de requêtes qui allaient être lancées. De nombreux programmeurs préféraient travailler sur VM, un autre système d’exploitation qu’IBM proposait sur le 3081, avant de transférer leur travail vers la plateforme MVS.
Notre site était responsable du fichier client principal (CMR) qui était utilisé par beaucoup d’applications et parfois directement par les employés. Celui-ci tournait sur une application interne à IBM, AAS, qui ne fut jamais commercialisée. Certains programmes tournaient sur CICS (Customer Information Control System), système alors vendu par IBM qui est encore assez répandu à l’heure actuelle. La plupart de ces programmes étaient très sensibles et toutes les périodes d’indisponibilité pendant les heures de bureau coûtaient extrêmement cher. A vrai dire, on nous disait qu’IBM perdait alors un million de dollars toutes les deux minutes dans ce genre de situation, ce que je n’ai jamais cru et ne pense pas plus fondé aujourd’hui. Quoi qu’il en soit, après que ces programmes aient été mis hors ligne (en général vers 20 heures), le traitement des paquets de requêtes pouvait commencer. Les tâches étaient planifiées dans OPC puis soumise à une sorte d’ «adaptateur», JCL (Job Control Language). Celui-ci pouvait faire tourner plusieurs exécutables en simultané par tâche traitée, et spécifiait les ressources et l’ordre pour les exécutables. On ne spécifiait pas explicitement à JCL à quel DASD accéder puisqu’il définissait lui-même la localisation des entrées et sorties. Les tâches étaient donc suivies dans OPC puis libérées suivant le temps et/ou les nécessités avant d’être envoyées au JES (Job Entry System) pour être finalement traitées.
Je maintiens que les interfaces étaient alors pauvres par rapport aux PC de l’époque, mais la fiabilité du système d’exploitation était nettement supérieure à celle des dérivés actuels de Windows NT. Il m’a donc fallu apprendre à l’apprécier et je l’estime encore énormément aujourd’hui. Le 3081 avait une conception « dyadique », c’est-à-dire qu’il disposait de deux processeurs qui se partageaient même le cache. Il ne pouvait donc pas être répartis sur deux ordinateurs puisqu’inséparables. Cependant, la sophistication de ce système d’exploitation était telle que si un des deux processeurs rendait l’âme, il continuait à fonctionner. Le programme qui sollicitait le processeur hors-service plantait, mais de façon assez diplomatique puisque l’Os reconnaissait alors la panne pour ensuite l’envoyer dans une zone dédiée aux programmes hors d’état de fonctionnement (que l’on surveillait avec OPC pour ensuite les réparer nous-mêmes ou bien solliciter l’équipe technique). Ceci ne veut pas dire que les processeurs des 3081 plantaient régulièrement, bien au contraire, c’était rare.
Les DASD rencontraient eux souvent des problèmes, même s’il faut préciser que c’était généralement à la suite d’extinctions puis redémarrages périodiques. Ce type de problème était prévu en amont et nous avions donc en permanence des techniciens pour les machines à problèmes lors des périodes d’inactivité prévues. A chaque coupure de courant, seulement une à deux d’entre eux sur la centaine à l’étage donnaient du fil à retordre.
Chaque processeur du 3081 culminait à la fréquence de 38,5 MHz et d’après les estimations un peu abusives d’IBM, le 3081 de base (modèle D) était jusqu’à 21 fois plus rapide que le 3033UP, tandis que le 3081 haut de gamme (modèle K) était presque 30 fois supérieur au 3033UP. Une partie de cet écart pouvait s’expliquer par le processeur supplémentaire bien que le cache partagé plafonnait justement les performances. A titre d’exemple, lorsqu’une charge de travail ne sollicitait pas le second processeur du 3081, le 3083 pourtant monoprocesseur le surpassait alors de 15%. Le 3084, extension de la ligne 3081 avait lui aussi un double processeur dyadique, mais à l’inverse du 3081, il était tout à fait possible de le séparer en deux machines. Autre point fort du 3081, celui-ci pouvait adresser plus de 16 Mo et utilisait un adressage 31 bits contre 24 bits pour le 3033. Tout bien considéré, vu les seules quatre années qui séparaient le 3033 du 3081, ce dernier témoignait d’une vraie amélioration. Les composants étaient bons et la stabilité des logiciels tout bonnement incroyable.
J’espère que cette expérience personnelle ne vous irritera pas, je souhaitais avant tout donner le point de vue concret d’un ex-utilisateur de cette machine, qui méritait sans conteste le détour. Ceci étant, aussi incroyable que furent les 3081, 3083 et 3084, nous étions jaloux des sites qui avaient reçu le 3090 dont on nous racontait monts et merveilles.
IBM 3090
Bien que n’étant pas un des serveurs les plus connus, l’IBM 3090 annoncé en 1985 constituait une belle évolution par rapport à l’architecture 370 : non seulement la puissance de calcul continuait à augmenter, mais en plus le nombre de processeurs augmentait et ceux-ci pouvaient en plus faire du traitement vectoriel.
Seuls deux modèles étaient disponibles au lancement, le 200 et le 400 (le premier chiffre indiquait le nombre de processeurs), mais la gamme s’étoffa considérablement au cours de ses quatre petites années d’existence : on eu droit à une version monoprocesseur, (1xx), une version à six cœurs (6xx) et une version améliorée pour chaque modèle (que l’on reconnaissait au suffixe « E », comme par exemple 600E). Fonctionnant à plus de 54 MHz, même les deux premiers modèles étaient formidables et traitaient les instructions presque deux fois plus vite que les 3081 qu’ils remplaçaient.
En 1986, le 3090 évolua pour gérer des fonctionnalités vectorielles ce qui ajouta 171 nouvelles instructions et accéléra les programmes nécessitant de gros calculs par un facteur allant de 1,5 à 3. Le 3090 version « E » tournait lui à 69 MHz avec une puissance de calcul d’environ 25 MIPS par processeur. A titre de comparaison, le 80386 (processeur x86 de l’époque) cadencé à 20 MHz n’était capable que de 4 MIPS, était exclusivement monoprocesseur et n’avait pas d’instructions vectorielles.
Après une existence assez brève, le 3090 fut remplacé par la gamme ES/9000. Entre l’émergence des LAN et de nouveaux processeurs puissants comme le 80486 et la multiplicité de conceptions RISC (y compris le POWER d’IBM), il apparaissait de plus en plus clairement que ces technologies auraient vite fait de sortir les serveurs du paysage comme elles le faisaient déjà avec les mini-ordinateurs. Cette prévision était claire et nette aux yeux de quiconque… ou pas.
IBM ES/9000
Fin 1990, IBM remplaça les illustres 3090 par la gamme ES/9000 qui fit un pas dans l’ère de la fibre optique avec une technologie qu’IBM baptisa ESCON (Enterprise Systems Connection). Bien entendu, il ne s’agissait pas de la seule innovation. Le président d’IBM (Thomas Watson, Jr.) considérait même que le lancement de l’ES/9000 était le plus important de l’histoire de l’entreprise, plus encore que celui du 360.
Estimons qu’il fut sincère dans ses déclarations et qu’il ne s’agissait pas d’une hyperbole. ESCON était clairement une technologie importante : un canal de fibres optiques en série qui pouvaient transférer des données à 10 Mo/sec jusqu’à 9 Km de distance à son lancement. Peut-être que Watson pensait aux 9 Go de mémoire qu’il pouvait utiliser ? Ou bien sa capacité à gérer huit processeurs dans un seul cluster, ce qui permettait de le traiter comme une seule unité logique ? Par ailleurs, on pouvait alors pour la première fois créer plusieurs partitions et allouer des ressources processeur à chaque partition logique, mais également faire tourner presque n’importe quel nouvel Os de l’EAS/390 sur chacune d’entre elles. Peut-être était-ce cela.
La réponse ne tient vraisemblablement pas à la performance, puisque l’ES/9000 n’était qu’1,7 à 1,9 fois plus rapide que son prédécesseur au niveau des programmes commerciaux, entre 2 et 2,7 pour les opérations scalaires et enfin 2 à 2,8 au niveau des performances vectorielles. Si cet écart était appréciable, nous avons déjà vu des différences similaires au cours des précédentes pages. Rien n’a donc l’air révolutionnaire contrairement à ce que Watson avait laissé penser, n’est-ce pas ? Cependant au vu des standards actuels, 9 Go de mémoire est un chiffre considérable et un débit de 10 Mo/sec sur une ligne de neuf kilomètres surpasse la plupart des connexions internet dont nous disposons. Les transmissions en série sont bien ancrées dans le paysage et la virtualisation est de plus en plus courante. Certes, tout le monde n’a pas huit processeurs, mais les configurations a deux CPU quad core ne sont plus aussi rares qu’elles ne l’ont été, et nous aurons bientôt des processeurs embarquant autant de cores. Il est donc difficile de comprendre ce qui se cachait derrière les déclarations de Watson.
Peut-être qu’il faut regarder du côté du contexte lors de sa commercialisation en 1990 : le 486 était roi, Mitterrand avait entamé son second mandat depuis peu. Yahoo ! n’existait pas encore, tout comme Tom’s hardware. Repris dans son contexte, c’était donc un accomplissement majeur au vu des avancées.
Bien que l’ES/9000 dispose de technologies qui font à peine leur âge à notre époque, l’histoire de s’arrête pas là. Qu’est-ce qui va surpasser l’ES/9000 ? Difficile à anticiper, mais encore une fois, c’est encore plus difficile d’imaginer qu’une gamme reste identique dix-neuf ans durant. Passons donc au dernier et meilleur serveur d’IBM.
eServer z10 EC
Alors que ce reportage photo est sensé être un historique des serveurs sur 66 ans, ce dernier modèle est encore en vente à l’heure qu’il est. Ceci dit, il a été lancé en 2008 et fait donc déjà partie de l’histoire, n’est-ce pas ? Regardons donc de plus près le champion poids lourds d’IBM, le System z10 EC.
A notre époque, il est difficile d’imaginer un ordinateur très volumineux et pourtant, ce monstre fait environ 9 mètres carrés, affiche plus de 2270 Kilos sur la balance et consomme 27 500 Watts. Pas encore impressionnés ? Et les 1520 Go de RAM ? C’est un peu plus que les 6 Go des configurations Core i7 courantes… Il faut aussi parler de la possibilité d’accueillir 1024 ESCON, 336 FICON Express4, 336 FICON Express2, 120 FICON Express, 96 OSA-Express3 et 48 canaux OSA-Express2. C’est un peu plus que les E/S du X58, non ? Pour finir, un Z10 est capable d’héberger jusqu’à 16 LAN virtuels.
Evidemment, ce genre de machine surpasse un serveur standard et en y regardant de plus près, on voit un ensemble de petits ordinateurs à processeurs X86. Plutôt que de sombrer dans l’oubli, les mainframes trouvent des clients auxquels ils n’étaient pas destinés auparavant, lesquels souhaitent regrouper leurs serveurs x86 pour des questions d’espace et d’économies énergétiques. La flexibilité de ces serveurs est vraiment impressionnante puisque l’on peut aller jusqu’à 64 processeurs IFL (Integrated Facility for Linux) si Linux est choisi comme Os ou bien 32 CPU zAAP pour l’intégration d’applications Web avec Java ou XML avec des bases de données à l’accès indirect. On peut aussi avoir 32 processeurs zIIP pour le traitement des données, transactions et les charges de travail réseau, souvent utilisées pour les applications ERP, CRM et XML et l’encryptage des données IPSec.
Le processeur principal est doté d’une architecture RISC avancée qui peut traiter 894 instructions dont 668 sont câblées. Héritage de l’ENIAC, le processeur gère même les opérations décimales à virgule flottante au niveau hardware ce qui peut limiter les erreurs d’arrondis et permet de gagner énormément de temps par rapport à une exécution binaire suivie d’une conversion. Cerise sur le gâteau, le z10 est même capable de gérer les logiciels écrits pour le 360 malgré le fait que celui-ci ait plus de 45 ans, ainsi que le MVS (rebaptisé z/OS) qui a lui aussi une longévité hors normes. Il est possible d’avoir jusqu’à 64 de ces quad core en fonctionnement, conçus pour tourner à 99,999 % du temps. Il est donc peu étonnant que le z10 se vendent bien : fiabilité hors pair, performances aussi excellentes que flexibles, une capacité difficile à concevoir et enfin, des logiciels très novateurs et pourtant à toute épreuve.
Comme nous l’avons brièvement évoqué, les capacités de virtualisation de ces machines dépassent de très loin celles des serveurs courants. Il est bien entendu possible de faire tourner une pléthore d’Os parmi lesquels Linux, z/OS (lequel comprend une version complète d’UNIX), z/VM, et OpenSolaris. Mieux encore : on peut modifier les capacités d’une partition à chaud sans interruption de service lorsque cela s’avère nécessaire, mettre des processeurs supplémentaires en service pour de brefs pics d’activité et planifier leur fonctionnement pour certains créneaux horaires si l’on connait leur récurrence.
Outre leurs performances et leur flexibilité, ces petites merveilles ont des capacités telles qu’elles sont difficiles à concevoir. On trouve par exemple une fonction du nom de “lock stepping”, activée lorsque toute instruction menant à un résultat est exécutée deux fois pour vérifier la parité des résultats. Si ceux-ci diffèrent, l’instruction est relancée et le z10 tente de trouver l’origine du problème. Il lui est même possible de transmettre les instructions en cours d’exécution à d’autres processeurs de façon à éviter toute répercussion négative de l’erreur pour l’utilisateur. Pour aller plus loin, une machine suffit à mettre à jour tous les logiciels et matériels sur n’importe quel autre mainframe sans aucune rupture d’activité dans le cadre d’un sysplex parallèle (il est possible de clustériser jusqu’à 32 mainframes en une seule image logique).
Il est vrai que ces machines passent pour des dinosaures à coté des PC en raison de leur seul encombrement. Reste qu’elles sont plus perfectionnées, puissantes, flexibles, spacieuses et utiles que les PC que nous connaissons et apprécions tous, non seulement sur le plan matériel, mais aussi par la stabilité incroyable de leur OS. Les mainframes sont encore l’épine dorsale de l’informatique et ne montre aucun signe de disparition imminente, bien au contraire, puisque leur parc d’installation grandit d’année en année. Comment pourrait-il en être autrement ?
Dans un contexte informatique, on peut considérer que les mainframes représentent la plus belle réalisation des ingénieurs, non seulement par la débauche de réflexion et d’intelligence qui leur a été consacré, mais aussi de par leur rôle prépondérant dans les activités humaines, hier mais aussi aujourd’hui. Ce ne sont donc pas des dinosaures, mais plutôt quelque chose de plus ancien encore. On peut même oser la comparaison avec les diamants : une combinaison de nombreux éléments ordinaires qui, assemblés d’une certaine manière par la nature ou une recherche extraordinaire dans le cas des mainframes, deviennent bien plus que la somme de l’ordinaire.