Quelques Elements D'evaluation Du Sun386i
Total Page:16
File Type:pdf, Size:1020Kb
COMMISSARIAT A L'ENERGIE ATOMIQUE CENTRE D'ETUDES DE LIMEIL-VALENTON Département de MATHEMATIQUES APPLIQUEES BP 27 94195 VILLENEUVE-ST-GEORGES CEDEX NOTE CEA-N- .2.6;1 3 QUELQUES ELEMENTS D'EVALUATION DU SUN386I Jacques DAVID François ROBIN Le 20 Juin 1989 2. Résumé Le Sun386i est une station Sun construite autour d'un processeur Intel 80386 qui a la particularité de permettre de faire tourner plusieurs MS/DOS dans des fenêtres gérées par SunView. Ce document présente brièvement cette machine, son utilisation et les possibilités de commu nications entre MS/DOS et UNIX. Il compare ensuite les performances du Sun386i en mode MS/DOS et en mode UNIX avec celle d'un Compaq 386/20 fonctionnant sous MS/DOS dans les domaines suivants : affichage, calcul, entrées/sorties. Abstract The Sun386i is a Sun workstation based on an Intel 80386 processor. One of the most noticeable point of this machine is the possibility of opening several MS/DOS windows in its SunView environnement. This paper briefly describes this workstation, its utilization and shows how MS/DOS and UNIX communicate with each other. This paper also compares the performances (display, computing and I/0 speed) of the Sun386i operating under MS/DOS and under UNIX with those of a Compaq 386/20 personnal computer under MS/DOS. 3, Préambule Ce document présente le compte-rendu d'une journée de tests effectués chez SUN le 4 Janvier 1989. La publication de ce document a été retar dée à la demande de Sun France qui espérait pouvoir mettre à notre disposition, dans des délais raisonnables, une carte permettant d'accé lérer l'affichage des fenêtres DOS. Après plusieurs mois d'attente nous avons finalement décidé de publier en l'état ce rapport afin de fournir rapidement des éléments d'évaluation aux personnes intéressées sachant que les performances en affichage des fenêtres DOS pourront être amé liorées avec la disponibilité de cette carte. A- Introduction Le Sun386i est une station Sun construite autour d'un processeur Intel 80386 (1) qui a la particularité de permettre de faire tourner plusieurs MS-DOS dans des fenêtres gérées par SunView. Cette machine ayant été largement décrite dans la presse depuis sa sortie, nous ne rappellerons ci-dessous que les éléments techniques les plus importants (2) . Cette machine fonctionne en utilisant les possiblités d'émulation 8086 du 80386 et la gestion mémoire associée : chaque MS/DOS qui s'exécute possède un PC 8086/8087 virtuel avec 1 Mo de mémoire vive plus 2 Mo de mémoire étendue. Le système UNIX utilise quant à lui le mode protégé du 80386, chaque fenêtre MS/DOS étant vue comme un process UNIX. La gamme possède 2 modèles principaux (150 et 250) qui diffèrent par leur fréquence d'horloge respectivement 20 et 25 Mhz. Une gamme de disques, d'écrans et d'autres périphériques complète l'offre. Ces machi nes intègrent un coupleur Ethernet permettant, par exemple, une conne xion à d'autres machines Sun (NFS .. ). La machine mise à notre disposition par Sun pour la journée de test est un modèle haut de gamme avec la configuration suivante : Sun386i/250 80386 avec 80387 à 25 Mhz 8 Mo de mémoire Ecran couleur 19", résolution 1152 * 900 Disquette 3"1/2 1.44 Mo Disque 327 Mo SunOS 4.0, MS/DOS 3.3 (1) Les SUN3 sont construits autour de processeurs Motorola 68020, les SUN4 autour de processeurs SPARC. (2) On peut lire par exemple deux articles de la revue Byte : "Sun's New Workstation: the Sun386i" byTom Thompson, July 1988 "The Sun386i" by John Unger, Byte December 1988 4, B- Utilisation pratique L'utilisation de la machine est simple : elle se fait à partir de Sun View en utilisant la souris comme sur un autre Sun (la présentation de l'interface utilisateur étant légèrement différente car plus proche d'OPEN LOOK) . Sous UNIX, la machine est un 'vrai' Sun avec tous les produits habi- tuels ( 1) • L'émulation MS/DOS est très simple à mettre en oeuvre : il suffit de cliquer sur le menu principal de la machine pour obtenir une nouvelle fenêtre dans laquelle démarre immédiatement un DOS 3.3 (2). Le système de fichiers est commun à DOS et à UNIX : un fichier de con figuration permet de faire correspondre à une unité logique DOS (h: par exemple) un sous-arbre du système de fichiers UNIX. Les unités a: et c: sont traitées de façon un peu spéciale, une seule fenêtre DOS pouvant y accéder en écriture. Les autres unités sont partageables. Les périphériques DOS (LPTx:, ... ) sont redirigés vers UNIX pour être traités par des commandes UNIX (on peut par exemple rediriger LPT1: vers lpr). Les disquettes MS/DOS de 1.44 Mo peuvent être lues et écrites sans difficultés. La fenêtre DOS peut émuler un écran CGA, Hercules ou texte. Nous avons utilisé le mode CGA pour tous les essais. La compatibilité dans ce mode est bonne : un programme écrit pour accéder directement aux adresses mémoire de l'adaptateur graphique CGA sur un PC fonctionne sans problème sur la machine (hormis comme on le verra plus loin la lenteur de l'affi chage) . La fenêtre DOS ouverte peut être déplacée ou temporairement fermée; sa taille ne peut par contre pas être modifiée (ce qui est très désagréable car la fenêtre ouverte est très petite) . Le clavier ne permet pas de saisir de caractères accentués français ce qui est particulièrement gênant pour une utilisation de la machine sous DOS (l'affichage de tous les caractères PC se passe par contre sans problèmes dans une fenêtre DOS). (1) Les tests de performance sous UNIX ont été faits avec le compilateur C (cc), en utilisant les options -sun386i -03. (2) Les tests de performance sous DOS ont été faits avec le compilateur Turbo C version 1.5. 5. C- Communications MS/DOS <-> UNIX Les possibilités de communication entre les deux systèmes sont nombreu ses. On peut utiliser o Le couper/coller entre fenêtres DOS et UNIX. o Les périphériques standard (LPTx:, COMx:, ... ) peuvent être redirigés vers des périphériques UNIX. o Le système de fichiers étant partagé, MS/DOS et UNIX peuvent accéder aux mêmes fichiers moyennant les conversions nécessaires pour les fichiers texte (CR-LF, ... ) pour lesquelles il existe deux utili taires (DOS2UNIX et UNIX2DOS) accessibles autant depuis MS/DOS que depuis UNIX. o On peut utiliser le mécanisme de pipe nommé (après avoir créé un tel pipe sous UNIX par la commande /usr/etc/mknod my pipe p) . Ce mécanisme dont on présente un exemple ci-dessous est simple à mettre en oeuvre et paraît très puissant. UNIX MS/DOS cat <my_pipe dir >my_pipe affichage du dir DOS UNIX MS/DOS more <my_pipe ls 1 unix2dos > my_pipe affichage du ls UNIX 6. o On peut utiliser par programme le mécanisme RPC/XDR pour mettre en place des échanges plus compliqués (nous n'avons pas eu le temps d'approfondir ce point). D- Performances D.l- Tests globaux Il s'agissait de mesurer les performances globales de la configuration sur . des programmes de formatage de texte (représentatifs d'une utilisa tion bureautique de la machine), . un programme qui calcule et affiche une vue 200 * 200 de l'espace de Mandelbrot. On trouvera les résultats ci-dessous. Les mauvais résultats du Sun386i sur les programmes de formattage de texte sont dus à la lenteur de l'affichage dans un écran DOS de la machine et non pas à la lenteur du processeur ou du disque (on le verra plus loin dans les tests détail lés). Dans le cas de l'espace de Mandelbrot, les résultats sont bons car ce programme effectue de nombreux calculs flottants pour un point affiché à l'écran. Sun386i/250 Compaq 386/20 fenêtre DOS avec 80387 Formateur de texte (XEDIT) 105 s 23 s Formateur de texte (XFLIP) 289 s 33 s Calcul et affichage Mandel 430 s 370 s 7. 0.2- Test d'affichage Ce test précis permet de juger de la vitesse de l'affichage de la ma chine. On mesure bien (1) les problèmes d'affichage dans la fenêtre MS/DOS en comparant les résultats du Sun sous DOS et sous Shell Tools (les mauvais résultats en mode commande s'expliquent peut-être par la sauvegarde des pages affichées, il ne s'agit pas de résultats comparables). Affichage de 2000 fois "Hello World\n" "Hello World\r" Zenith 148 8Mhz (CGA) 86 s 48 s Compaq 386/20 (VGA) 13 s 6 s Sun386i DOS (CGA) 48 s 42 s Unix commande 160 s 93 s Unix Shell Tools 11 s Pas de résultat (Abort) (1) En utilisation pratique, cette lenteur se manifeste par des phé nomènes désagréables. Par exemple, quand on déplace rapidement le curseur sous un éditeur de texte, l'affichage à l'écran ne suit pas si bien que le curseur disparaît assez souvent 8. 0.3- Tests processeur Ce test permet de juger en détail de la vitesse des calculs (en parti culier des calculs flottants) à partir d'un programme en C. Il se com pose en particulier : . de boucles permettant de mesurer les performances scalaires de la machine sur des opérations élémentaires, . de boucles permettant de mesurer les performances vectorielles de la machine sur des opérations classiques (saxpy, sdot et ssum), . d'un programme de gradient conjugué utilisant plusieurs précondition nements différents, . de programmes classiques (Fibonnaci, décomposition d'un entier en facteurs premiers, crible d'Eratosthène). Nous n'avons pas utilisé les programmes FORTRAN utilisés habituellement pour tester les machines en raison du manque d'un bon compilateur FOR TRAN sous MS/DOS. Quelques points de comparaison existent néanmoins avec les autres rapports d'évaluation du Département : les opérations vectorielles sont issues du bench K et le programme de gradient con jugué est la retranscription en C d'un extrait du bench V (La descrip tion du benchmark CEA FORTRAN se trouve dans la note CEA N-3544, décem bre 1987 : Expérimentation du CRAY-XMP).