Le serveur Application System/400 (plus connu sous le nom d'AS/400, puis de iSeries et enfin de System
I5) est un mini-ordinateur de la gamme IBM.
Qu'il s'agisse d'AS/400, de iSeries ou de System i5, l'ensemble des serveurs de cette famille a été nommé System i. Mais en avril 2008, IBM a totalement fusionné les gammes System i et System p pour donner naissance aux Power Systems. Le système d'exploitation de Rochester a également été renommé. Il faut désormais parler de : IBM i operating System
L'AS/400 a été commercialisé le 21 juin 1988 , il sera renommé eServer iSeries en 2000 puis System i5 en 2004 avec l'arrivée des modèles pourvus de processeurs POWER5. Les serveurs System i sont utilisés par près de 240 000 entreprises à travers le monde. Ils intéressent principalement les PME et les sites atomisés des grands groupes.
Histoire
L'histoire de l'AS/400 et du System i remonte à la fin des
Années 1960 avec Frank G. Soltis. Ce dernier travaille sur un système basé sur une technologie nouvelle. Il présente son projet à la direction d'IBM le
8 janvier 1970 . Cette nouvelle architecture devra remplacer l'actuel System/3. En
1972, sous le nom de projet "Future System", la conception du System/38 (S/38) débute avec à sa tête Frank G. Soltis, Dick Bains et Roy L. Hoffman. Ces derniers définissent les cinq concepts fondamentaux du S/38, qui deviendront plus tard ceux du System i (ex AS/400). En
1973, la direction d'IBM donne son accord pour la réalisation du System/38 avec l'annonce officielle le
24 octobre 1978 . Son système d'exploitation se nomme CPF (Control Program Facility). La première mouture du System/38, assez rudimentaire, sort en juillet
1980. Il faut attendre
1981 pour voir la version finale. Malgré des débuts prometteurs, le System/38 rencontre quelques problèmes de mise au point.
Entre temps, le System/36 (S/36) est apparu (mai 1983 ). Il s’agit d’un autre mini de la gamme IBM mais avec une architecture beaucoup plus conventionnelle. L’équipe chargée de la mise au point du System/38, basée à Rochester dans le Minnesota, poursuit le développement de son système et décide d’y intégrer d'autres innovations. Avec l’accord de la direction, elle lance en novembre 1985 , le projet Silverlake (du nom d’un lac de Rochester : Silver Lake). Il doit permettre à IBM de mettre sur le marché un serveur encore plus novateur que le System/38 et qui devra également remplacer le System/36. Le projet Silverlake est le début officiel de l'AS/400. Il découle directement du System/38, mais il sera plus fiable et sensiblement amélioré. Lors de sa sortie le 21 juin 1988, son système d'exploitation, l'OS/400 ou XPF (eXtended control Program Facility), sera une très forte évolution du CPF (système d'exploitation du System/38) auquel on aura agrégé l'équivalent de 3 versions.
Le nom du projet aurait dû être System/40 (S/40), mais la direction a préféré montrer qu'il s'agissait d'un serveur sensiblement plus évolué en le nommant Application Server (AS). De plus, la branche PC d'IBM souhaitait réserver pour ses besoins, les chiffres inférieurs à 100. C'est pourquoi, il a été convenu d'ajouter un 0 au chiffre 40 et l'on a obtenu AS/400.
La naissance des AS/400 eServer puis iSeries verra apparaître la possibilité de « découper » plusieurs machines logiques (ou « machines virtuelles ») dans une machine physique. Puis, enchaînement logique, il est désormais possible de faire tourner d'autres systèmes que l'OS/400 sur ces machines logiques appelées partitions logiques. Ainsi aujourd'hui un « System i5 » peut supporter des partitions I5/OS, Linux, Aix ou Virtual IO Server grâce à son Hyperviseur. Le serveur i5 est également capable d'héberger des serveurs x86 sous Linux, Windows ou VMWare ESX via les technologies IxS, IxA ou iSCSI. VMWare n'est supporté que sur iSCSI.
IBM a renommé ses machines iSeries puis System i5 mais la plupart des informaticiens, des utilisateurs et des SSII continuent, à tort, à parler d'AS/400...
Le langage de développement rapide, d'origine issu de l'IBM 34, portait initialement le nom de GAP, pour Générateur automatique de programmes (RPG en anglais, pour Report Program Generator). Bien que concurrencé par la version iSeries du langage Cobol, le GAP était largement diffusé sur ce système OS/400. Considérablement amélioré sur AS/400, il y prit le nom de GAP/400 (RPG/400). Pour de plus amples renseignements sur le langage RPG, se reporter à l'article Générateur automatique de programmes. Avec l'apparition de la version V3R1M0 (1995), une nouvelle version du RPG est venue s'ajouter au RPG/400 (alias le RPG/III). Il s'agit du RPG/ILE (alias le RPG/IV) qui permet désormais la programmation orientée objet et la programmation visuelle.
Les principes fondamentaux
Le System i est défini par des concepts originaux que l'on nomme principes fondamentaux, il en existe cinq :
- Technology Independence (Indépendance vis-à-vis de la technologie)
- Object-Based Design (Conception Basée Objet)
- Hardware Integration (Intégration Matérielle)
- Software Integration (Intégration Logicielle)
- Single-Level Store (Espace Adressable Unique)
Indépendance vis-à-vis de la technologie
Le premier principe et peut-être le plus important est l’indépendance technologique. Le System i, contrairement aux autres systèmes, n’est pas défini par le matériel. Un programme ne parle pas directement au matériel, il dialogue à une interface machine indépendante de la technologie (TIMI = Technology Independent Machine Interface ou plus simplement MI). Entre cette interface et le matériel proprement dit se trouvent plusieurs millions de lignes de code ou plus exactement le microcode : SLIC (System Licenced Internal Code) sur les AS/400 ou iSeries et LIC (Licensed Internal Code) sur les System i5.
Cette couche logicielle isole les applications des caractéristiques du matériel sous-jacent. Un programme ignore totalement ce dernier. Par conséquent, quand la technologie processeur change, il suffit de réécrire le SLIC en fonction des changements technologiques et on préserve ainsi l’intégrité de l’interface machine. L’autre avantage de l’indépendance réside dans le fait que les programmes utilisateurs ignorent également les changements technologiques, ainsi, ils peuvent bénéficier des avantages sans les inconvénients. Lors du passage du processeur CISC 48-bits à RISC 64-bits, la plupart des clients n’ont eu qu’à transférer leurs programmes sur les nouveaux AS/400 et de les exécuter en 64 bits. Aucun autre système ne peut faire cela, les architectures classiques réclament des recompilations et/ou des réécritures.
Conception basée objet
Le System i (AS/400-iSeries-i5) est entièrement basé objet. Tous les éléments du système (programmes, fichiers, files de messages…) sont des objets. Chaque objet comporte deux parties inséparables : la partie descriptive, qui définit les modalités d’utilisation de ces données et la partie données, constituant l’aspect fonctionnel de l’objet. Si un objet est défini comme un programme, sa partie descriptive énonce que la partie de données sera traitée comme du code compilé, exécutable, en lecture seule. Les seules opérations admises sur cet objet sont celles « sensées » pour un programme. Ainsi, on peut écrire au milieu d’un fichier de données, mais pas au milieu de code compilé : le système s’y opposera. La conception en deux parties des objets du System i assure donc l’intégrité des données pour tous les objets du système.
Contrairement aux autres systèmes d’exploitation, qui manipulent des pointeurs, l’OS/400-I5/OS et le TIMI ne connaissent que des objets. Les pointeurs utilisés uniquement par le microcode ont une taille de 16 octets (8 pour l’adresse MI et 8 pour des informations relatives à l’objet et de l’espace réservé). Au-dessus du MI, les pointeurs sont encapsulés. Il existe également un mécanisme de détection, au moyen d'une balise, des pointeurs invalides et d’utilisation « illégale ».
La conception basée objet a d’importantes implications en matière de sécurité. En effet, les virus pénètrent souvent dans les systèmes déguisés en données. Une fois à l’intérieur, le virus essaie de devenir du code exécutable pour causer des ravages. Un tel changement de caractéristique est impossible sur System i. Si un flux entre en tant que données, il gardera toujours ces caractéristiques. C’est une des nombreuses raisons qui font la réputation en matière de sécurité et d’intégrité du System i.
Intégration Matérielle
Alors que l’environnement informatique technique/scientifique privilégie le calcul (opérations complexes sur une quantité de données relativement petite), l’environnement informatique de gestion privilégie l’information (des opérations simples sur de gros volumes de données) ou plus exactement les entrées/sorties (I/O). Comme le System i est optimisé pour la gestion, il présente des caractéristiques matérielles lui permettant d’être très performant dans un environnement privilégiant l’information. Dans une transaction de gestion classique, un programme d’application est chargé en mémoire principale et le processeur commence à l’exécuter. Quand le processeur rencontre une demande de lecture de données sur disque, il délègue cette requête au processeur d’I/O (IOP) du disque. Après quoi, le processeur exécute un autre programme d’application et ne revient au programme original que lorsque les données demandées antérieurement sont disponibles en mémoire centrale.
Sur les plus gros System i, il est possible d'avoir des centaines de processeurs d'entrées/sorties (IOP) connectés aux bus haute vitesse, créant ainsi un débit de données extrêmement puissant.
La tendance actuelle est de faire disparaître l'intelligence de ces processeurs complémentaires en partie sur les cartes PCI traditionnelles.
Intégration Logicielle
Aucun problème d’incompatibilité de version en raison de déphasage de programmes comme sur d’autres systèmes (avec les différentes versions de DLL par exemple). Tous les composants nécessaires sont entièrement intégrés dans le système d’exploitation standard. IBM teste tous ces composants mêlés aux autres, pour s’assurer que le système d’exploitation fonctionne comme une seule entité. De plus, quand IBM modifie l’OS/400-i5/OS, elle remet aux clients une nouvelle version de tout le système d’exploitation. Il n’y a donc jamais aucun conflit de version entre les divers composants de l’OS/400-i5/OS parce qu’IBM livre un système d’exploitation complet et entièrement testé à chaque nouvelle version. Les avantages de ce système d’exploitation hautement intégré sont évidents pour les clients : déploiement rapide des nouvelles solutions de gestion pour un coût remarquablement bas avec une sécurité maximum.
Espace Adressable Unique
Il s'agit de la notion de mémoire virtuelle adaptée au System i. Chaque octet de mémoire (principale et secondaire) possède une adresse. Le système considère l’ensemble comme unique. Un System i ne dit jamais « mémoire pleine » (sauf quand il ne dispose plus de mémoire secondaire), la seule conséquence étant les temps de réponse qui peuvent se dégrader à cause de la pagination. L’énorme espace d’adressage 64 bits du System i peut adresser 18 trillions d’octets de données (18 x 10
18 soit 18 446 744 073 709 551 616 octets).
Pour comparaison, les environnements Wintel à base de processeur Intel ou AMD, bien que disposant de processeurs 64 bits sont très loin d'atteindre un adressage mémoire à 64 bits.
- Intel EMT64T Nocona 64-bit : adressage mémoire à 36-bit (soit 64 Go maximum)
- Intel EMT64T Potomac 64-bit : adressage mémoire à 40-bit (soit 1 To maximum)
- Intel Itanium 64-bit : adressage mémoire à 44-bit (soit 18 To maximum)
- AMD Opteron 64-bit : adressage mémoire à 48-bit (soit 256 To maximum)
- Intel Itanium 2 64-bit : adressage mémoire à 50-bit (soit 1024 To maximum)
Ces derniers chiffres peuvent sembler importants, mais ils sont très loin des valeurs atteintes par l'OS/400-i5/OS. En effet, la différence entre 50 et 64-bit est énorme, et cet adressage gigantesque permet aux System i de répondre positivement à la définition de la mémoire virtuelle contrairement à Windows ou Unix par exemple qui en raison d'un plus faible adressage mémoire sont obligés de séparer la mémoire virtuelle de la mémoire centrale (RAM). Conséquences, les différents travaux du System i peuvent partager instantanément leurs informations car elles sont toutes dans un même espace de stockage. Windows et Unix doivent créer des espaces mémoire distincts pour chaque processus rendant le partage extrêmement difficile et très consommateur de ressources processeur.
Sur le plan architectural, le System i peut même aller jusqu’à un adressage sur 128 bits. À l’intérieur de cet espace 64 bits, se trouve le stockage « réel » : disque et mémoire centrale. Mais, comme le System i gère automatiquement tous les moyens de stockage comme un espace d’adressage unique, les utilisateurs n’ont pas à s’en préoccuper. Pour eux, tous les programmes et les données résident simplement dans ce vaste espace, et ils doivent seulement faire référence à un programme par son nom sans se préoccuper de l’endroit où il réside. De même, on ne se préoccupe pas des fichiers pleins.
Le System i s’en charge automatiquement. Et quand ils ajoutent des données de stockage, ils n’ont pas à répartir les données entre elles : le système reconnaît la nouvelle unité et l’utilise au mieux.
La plupart des installations System i (AS/400-iSeries-i5) n’ont même pas un administrateur de base de données traditionnel parce qu’elles n’en ont pas besoin. Le traitement d’applications de gestion dans un environnement à applications et utilisateurs multiples, implique des navettes fréquentes entre les différentes tâches. Grâce à son niveau unique de stockage, le System i accomplit cette fonction beaucoup plus efficacement que les systèmes classiques. Pour passer à une nouvelle tâche, il suffit d’effectuer une instruction de branchement vers l’emplacement où réside la nouvelle tâche.
Nul besoin, comme Unix et Windows, de recréer un espace d’adressage distinct avant de commencer l’exécution d’une nouvelle tâche. Conçu pour les fréquents changements de tâches inhérents aux environnements de gestion, le stockage à un seul niveau du System i simplifie la gestion du stockage tout en offrant des performances exceptionnelles. L’espace adressable unique n’est vu que par le microcode (SLIC), le MI et l’OS/400-i5/OS n’ont pas de notion de mémoire, ils adressent des objets et non pas une adresse mémoire.
Cette architecture de gestion de la mémoire est également employée sur les supercalculateurs les plus puissants du monde : IBM Blue Gene (212 992 processeurs). En effet, ces supercomputers sont également développés à Rochester Minnesota dans l'antre du System i par de nombreux développeurs de l'OS/400-i5/OS.
System i aujourd'hui
La base de données intégrée se nomme DB2/UDB for System i et possède toutes les fonctionnalités d'une base de données moderne. Elle est même la seule base de données au monde (en 2006 avec la version V5R4) à respecter l'intégralité des normes du Core SQL 2003.
Les fonctions habituellement livrées avec un serveur Unix sont aussi proposées :
- un serveur Web (reposant sur un moteur Apache modifié par IBM dans le cas d'AIX : IBM Http Server)
- serveurs DNS, DHCP, SMTP, Filtrage IP, etc.
- serveurs d'application (TOMCAT, WebSphere Application serveur, propriétaire d'origine IBM)
- machine virtuelle Java 32-bit ou 64-bit
- et le support des Web services depuis RPG
De nos jours les machines System i disposent de ressources systèmes importantes :
- Pour la série « System i5 » 5xx :
- un maximum de 64 processeurs de type POWER5/POWER5+/POWER6 (64 bits)
- un maximum de 2 téraoctets de mémoire centrale
- Un maximun de 381 téraoctets d'espace de stockage
- Pour la série « 8xx »
- un maximum de 32 processeurs de type POWER4/StarSeries
- un maximum de 256 gigaoctets de mémoire centrale
- un maximum de 144 téraoctets d'espace de stockage
Notes et références
Voir aussi
- OS/400
- Générateur automatique de programmes
Références
- Frank G. Soltis, Voyage à l'intérieur de l'AS/400 (titre original Inside the AS/400)
- Frank G. Soltis Fortress Rochester — The inside story of the IBM iSeries
- Gary Mullen-Schulz, Blue Gene/L - “World's Fastest Supercomputer”
- Tuning IBM eServer xSeries Servers for Performances (SG24-5287)
Liens externes