Ordinateur massivement parallèle
Mise en place progressive du Cray-T3D et de Unicos 8 sur son frontal Pascal CRAY Y-MP/M94

par Jean-Michel Chenais, SIC-Exploitation

Comme annoncé dans lŒédition spéciale du FI du 9 novembre 1993, consacrée d'une part aux opérations de fermeture du Cray2, et d'autre part à l'installation de l'extension du serveur Pascal et de son système d'exploitation Unicos 7.C.3, (Grandes Man¦uvres d'hiver 1993), le printemps 1994 va voir se dérouler plusieurs événements importants visant à la mise en place de l'ordinateur massivement parallèle Cray-T3D, suite aux accords de recherche et développement CRAY-EPFL (projets PATP).
Ces événements couvrent deux actions distinctes, mais intimement liées: la mise en place sur le serveur de calcul Pascal Y-MP/M94 de la dernière version Unicos 8.0 du système d'exploitation, disponible dès les premiers jours de mars, et la mise en service du T3D, prévue dès début mai. Rappelons que le T3D tel que livré vers le 20 avril comprend 128 PE (processing éléments) basés sur des chips DEC Alpha à 150 MFLOPS (que Cray Research a étendus et regroupés en une architecture de réseau torique à haute bande passante), et disposant chacun d'une unité de calcul et d'une mémoire locale de 16 Mbytes (soit 2048 Mbytes, ou 256 Mmots distribués sur l'ensemble des PE, prévue pour atteindre 2 Gbytes, soit la dimension mémoire du Cray2, par doublement du nombre des PE à 64 Mbytes chacun). Le système d'exploitation Max 1.0, propre au T3D, est constitué d'un ensemble de micro-kernels répartis sur tous les PE. Pour être utilisable, le T3D doit être connecté à un ordinateur frontal, donc ici au serveur Pascal Cray Y-MP/M94. La mise en place dès maintenant du système Unicos 8 sur le frontal et sa mise en exploitation avant l'arrivée même du T3D nous permet d'envisager l'installation et la mise en exploitation de ce dernier dans les meilleures conditions possibles.

UNICOS 8.0

La version Unicos 8 constitue une révision majeure du système d'exploitation. Cet article a pour but essentiel d'informer l'usager des améliorations, nouveautés, voire suppressions, en bref des principales différences par rapport à Unicos 7.C.3, ou du moins, d'indiquer les domaines où les changements seront les plus importants. Les usagers pourront ainsi travailler sur Pascal dans les meilleures conditions possibles dès la mise en exploitation de Unicos 8, prévue pour le début avril, ainsi que sur l'ensemble Pascal/T3D, début mai. Comme il est impossible, dans le cadre de cet article, de décrire de façon exhaustive et détaillée toutes les différences, l'utilisateur est donc prié de se reporter à la documentation Unicos 8 citée en référence (manuels, devant être disponible dès la mi-mars), puis de compléter son information en consultant la documentation en ligne sur le nouveau système. D'autres articles suivront également dans les prochains numéros du FI. Les informations urgentes seront également données par les moyens habituels sur le serveur Pascal.

Principales Nouveautés et Améliorations

D'importantes améliorations ont été apportées au système d'exploitation lui-même. Outre de meilleures performances annoncées, grâce notamment à la mise en place des techniques de multi-threading en plusieurs parties du kernel, Unicos 8 supporte le raccordement des nouveaux disques DD-301, (prévus précisément pour le T3D), offre de nouvelles possibilités de service (plate-forme NQS élargie a du matériel non spécifiquement Cray avec des possibilités de load-balancing) et de scheduling global de la machine (Unified Resource Manager), et étend la conformité aux standards reconnus à de nouveaux domaines, notamment la norme Posix 1003.2. A noter par ailleurs qu'Unicos 8, dans sa configuration Multi-level Security, a passé avec succès les tests de certification de niveau de sécurité B1, tels que définis par les références «Trusted Network Interpretation» et le «Trusted Computer System Evaluation Criteria», du «National Computer Security Center». Cray Reseach est apparemment le seul constructeur à garantir cette référence en matière de sécurité.
Le multi-threading permet au système de traiter plusieurs system calls en même temps. Cette technique réduit les temps d'attente pour l'utilisation des ressources système, donc en particulier le temps passé à contrôler les sémaphores. Afin de permettre à tous les processeurs de traiter plusieurs requêtes simultanées, des interlocks ont été implémentés au niveau des différentes structures des données du Kernel. Principaux bénéficiaires de cette technique: toutes les requêtes issues de TCP/IP, de la librairie Fortran en ce qui concerne les I/O, et de NFS.
Le système Unified Resource Manager (URM) permet une centralisation dans le processus d'allocation des ressources. Donc de meilleures possibilités de contrôle au niveau du batch et l'interactif sont offertes. A noter qu'en cas de forte charge, le temps de réponse ne devraient pas trop diminuer, ceci grâce à la mise en place d'un nouveau swapper autorisant des opérations de swap in et les swap-out asynchrones et multiplexées. Plusieurs améliorations importantes ont été apportées au système NQS: support du T3D, possibilités de régulation des travaux batch (load balancing), génération automatique et régulière de point de reprises (check-pointing), interfaces FTP et FTUA, pour ne citer que les principales.
Concernant la conformité aux normes Posix, il faut noter l'introduction progressive des Pthreads (Unicos 8 et Unicos 9), du remplacement du «File System Switch» (FSS) par le V-node (pour Virtual file-systems, concept basé sur le modèle de AT&T System V, version 4, standard de fait pour le support de nouveaux types de file-systems). En ce qui concerne plus spécialement l'usager, et relativement à la norme Posix 1003.2, il faut noter l'introduction de nouveaux produits et commandes, ainsi que la modification de quelques commandes existantes. En particulier: Toutes ces améliorations/nouveautés/différences concernent surtout les caractéristiques propres de Unicos 8: celles-ci ne touchent que peu ou pas directement l'usager (hormis la conformité à Posix).

Interfaces utilisateurs

Plusieurs nouveautés importantes doivent être notées aux niveau des interfaces, outils et utilitaires utilisateur suivant:

Librairies

Certaines modifications intervenant au niveau des librairies méritent d'être notées:

Nouvelles commandes et/ou options

Parmi les principales commandes ou options de commandes: En ce qui concerne toutes les spécificités d'Unicos 8, seule une partie pourra être appliquée sur le serveur Pascal, car sans objet sur la configuration actuelle.

Mise en place du T3D

Pour fonctionner, le nouvel ensemble T3D/Max 1.0 doit être raccordé à un ordinateur Cray, jouant le rôle de frontal. Les meilleures conditions sont obtenues avec l'installation de Unicos 8 sur ce frontal, d'où la publication des toutes ces informations utiles à l'usager pour son travail de tous les jours sur le serveur Pascal.
En plus des nouveautés apportées dans cette mise à jour ce Unicos, il nous faut mentionner celles spécifiques à l'utilisation du T3D depuis le Pascal/M94.
Le T3D n'est pas accessible directement, mais est plutôt à considérer comme une ressource attachée au frontal. Cette façon de faire offre l'avantage non négligeable de la possibilité d'incorporer la puissance scalaire et vectorielle des processeurs du frontal aux parties d'un code applicatif ne parallélisant pas ou peu sur les PE du T3D. Dans son principe très général, le T3D est accessible depuis le frontal par l'intermédiaire d'un ensemble de classes NQS spécialement configurées pour la circonstance. L'usager dispose de commandes habituelles de soumission de travaux pour exécuter sur le T3D des ensembles de process batch et d'en suivre leurs évolutions. L'envoi de process interactifs est également techniquement possible. Pour générer le code exécutable devant tourner sur le T3D, l'usager utilisera le principe de la «cross-compilation» sur le frontal. Les ressources associées à l'utilisation du T3D et demandées par l'application s'expriment en nombre de PE nécessaires, et de temps d'horloge prévu. Avec Unicos 8, les commandes faisant référence au T3D doivent le cas échéant introduire ces nouveaux paramètres. Une information complémentaire plus complète donnera tous ces détails de l'utilisation du T3D, dès que sa configuration logicielle sera mieux déterminée.
De lui-même, le raccordement du T3D n'impliquera directement que peu de charge supplémentaire sur le frontal. Par contre, il est à prévoir que la nécessité de compiler des programmes par cross-compilation sur le frontal induira sur Pascal un charge indirecte non négligeable. Le maximum sera fait pour qu'avec Unicos 8 l'allocation des ressources se fasse de façon aussi équilibrée et transparente que possible.
Dans la mesure où les applications actuelles de Pascal pourront tourner sur le T3D, cette augmentation de charge pourra être faible. Rappelons en effet, que le T3D n'est pas réservé en exclusivité aux seuls acteurs du projet PATP résultant de l'accord Cray-EPFL: d'autres utilisateurs disposant régulièrement des ressources de Pascal peuvent tourner leurs applications de production sur le T3D, selon des modalités qui doivent être encore précisées. Nous espérons à cette occasion beaucoup de profits pour les usagers.

Article paru dans le numéro 3-94 du Flash Informatique