Home
Rapport final () - Département Informatique
Contents
1. adressage de m moire 32 bits PUC a acc s une zone de donn es qui peut occuper jusqu 4 Go de m moire virtuelle et est en g n ral divis e en deux partitions 2 Go sont allou s au syst me d exploitation et les 2 autres Go sont affect s l application active Dans les nouvelles architectures 64 bits il est possible de sp cifier les adresses de m moire virtuelle en utilisant compl tement les 64 bits Cela augmente la plage de m moire adressable bien au del des restrictions impos es par les mod les 32 bits Outre la capacit d utiliser 64 bits pour d finir une adresse en m moire les processeurs 64 bits ont en fait une autre fonction importante savoir la manipulation de 64 bits de donn es simultan ment Etant donn que la capacit de manipuler 64 bits de donn es la fois d pend plus de la structure des bus que des processeurs la tendance vers le traitement 64 bits va de pair avec d importants progr s en mati re de technologie des bus syst me Par ailleurs la r duction des interconnexions entre circuits entra ne la diminution des latences syst me globales De plus la combinaison de deux circuits engendre un lib re de l espace pour les cartes en vue de mises niveau mat rielles ult rieures Il ne faut pas oublier que ces architectures comptent un plus grand nombre de registre d une plus grande taille Nous allons de plus pr s deux microprocesseurs 64 bits l Alpha et I ltanium qui sont l
2. rp add r1 r2 r3 Si rp 1 r1 r2 r3 rp add r1 imm r3 Si rp 1 r1 valeur imm diate r3 rp sub r1 r2 r3 Si rp 1 r1 r2 r3 rp sub r1 imm8 r3 Si rp 1 r1 extSigne imm8 O extSigne signifie extension de signe de la valeur imm diate exprim e sur 8 bits entre 128 et 127 vers une valeur sur 64 bites sign e 2 4 2 Les instructions logiques Les instructions logiques r alisant un traitement bit bit des donn es titre d exemple le compilateur transforme une instruction en langage C C utilisant l op rateur bit bit amp en instruction and Le tableau suivant donne les exemples d instructions logiques les plus fr quentes rp and r1 r2 r3 Si rp 1 r1 r2 ET r3 rp and r1 imm8 r3 Si rp 1 r1 imm8 ET r3 rp andem r1 r2 r3 Si rp 1 r1 r2 ET NON r3 2 4 3 Les instructions de d calage Les instructions de d calage de donn es sont utilis es pour r aliser de op rations de multiplication et de division par des puissances enti res de 2 Le tableau suivant num re les instructions de d calage les plus fr qunetes rp shl r1 r2 r3 D caler r2 de r3 positions gauche r sultat dans r1 Compl ter par des z ros d calage logique rp shl r1 r2 compteur D caler r2 de compteur positions gauche r sultat dans r1 Compl ter par des z ros d calage logique rp shr r1 r2 r3 D caler r2 de r3 positions droite r sultat dans r1 Compl ter
3. 1 4 5 6 t1 add t1 1 KEE Master 1 STIC informatique page 15 Travail d tude et de recherche 2004 2005 M me remarque que pr c demment si le bloc d instructions n tait pas lin aire le compilateur aurait intervenu statiquement L aussi des limites pourraient emp cher ce dernier de bien faire ses optimisations On les abordera plus loin Pr diction de branchements Elle a lieu l ex cution au moment du chargement des instructions Le processeur essaye de pr voir ce qui va leur tre demand C est ce que l on appelle la pr diction de branchements proc d permettant de diriger les instructions traiter vers le bon pipeline L exemple suivant pr sente une s quence deux blocs de base de code o on fait un LOAD suivi d un ADD d une valeur puis on branche sur L1 Supposons que le branchement est pr dit correctement Sur une machine ex cution ordonn e d instructions cette s quence prendra 9 cycles M me si le branchement est pr dit correctement le processeur ne pourra pas terminer l instruction qui suit le branchement avant que ce dernier ne soit termin son tour Sur une machine ex cution d sordonn e d instructions la pr diction exacte du branchement permettra au processeur d examiner les 5 instructions la foi et de r ordonner dynamiquement le second LOAD et ADD avant le branchement Dans l ordre Dans le d sordre t1 load a0 0 t1 load a0 0 p1 load a0 t1 add t
4. F pour flottant B pour branchement et X pour multim dia le champ Template indique les d pendances entres les instructions l int rieur d un m me paquet ou dans deux paquets voisins Ceci se fait l aide de la marque stop Lorsque ce bit est pr sent il indique que les instructions apr s la marque stop d pendent des instructions avant la marque stop d pendance des donn es titre d exemple une valeur 00 pour le champ Template indique que les instructions qui composent le paquet ne contiennent aucune d pendance ni entre elles ni avec les instructions du paquet suivant Ainsi si ce dernier ne contient pas de bit stop au milieu les six instructions des deux paquets peuvent s ex cuter simultan ment L utilisation du bit stop augmente le parall lisme et simplifie la micro architecture Un ensemble d instructions cons cutives sans marque de stop entre elles constitue un groupe Un groupe d instructions est localis entre deux marque stop et peut utiliser plusieurs paquets 2 2 Lecture des instructions On passe d abord par un m canisme de pr chargement contr l par le compilateur ou par le logiciel Il a pour but d viter des d fauts dans le cache Ceci se r alise au moment de la compilation par l insertion d indications permettant de charger les prochaines instructions ex cuter de la m moire externe vers l un des trois niveaux de m moire cache lItanium a trois niveaux de cache Deux paquets d instr
5. de stockage partir de plusieurs disques durs L unit ainsi cr e a donc une grande tol rance aux pannes haute disponibilit ou bien une plus grande capacit vitesse d criture suivant le niveau du RAID choisi La r partition des donn es sur plusieurs disques durs permet donc d en augmenter la s curit de contr ler le co t et de fiabiliser les services associ s 2 3 Grappe OpenVMS C est un environnement informatique OpenVMS hautement int gr distribu sur de nombreux syst mes Alpha et IA64 ou bien Alpha et Vax Les syst mes faisant partie d une grappe OpenVMS Cluster peuvent partager le traitement le stockage de masse et d autres ressources sous un m me domaine de s curit et de gestion OpenVMS l int rieur de cet environnement hautement int gr les syst mes conservent leur autonomie car ils utilisent des copies locales r sidantes en m moire du syst me d exploitation OpenVMS Les syst mes OpenVMS Cluster peuvent ainsi d marrer et arr ter de fa on ind pendante tout en b n ficiant des m mes ressources 2 3 1 Caract ristiques gt EEEEEEEE ee Master 1 STIC informatique page 10 Travail d tude et de recherche 2004 2005 e Haute disponibilit C est l une des caract ristiques du cluster OpenVMS la plus importante Les services et les applications qui
6. Master 1 STIC informatique page 46 Travail d tude et de recherche 2004 2005 MIGRATION DES APPLICATIONS he Master 1 STIC informatique page 47 Travail d tude et de recherche 2004 2005 PHASE DE MIGRATION Cette phase inclut les tapes suivantes 1 Pr paration de l environnement de migration Pour pr parer un environnement efficace de migration il faut v rifier les l ments suivant o les outils de migration compilateurs traducteurs binaire TIE RTLs les libraires du syst me ainsi que les fichiers d inclusion des programmes C o Les noms logiques o Les outils de test et d analyse 2 Compilation de vos sources sur la derni re version d OpenVMS Alpha Ceci permet de couvrir les erreurs qui peuvent avoir lieu sur l OpenVMS 164 Les nouvelles version de compilateurs sont plus expressives et introduisent des standards plus strictes d interpr tation 3 Tester application sur l Alpha Cette phase de test permet d tablir des statistiques de d part sur les performances de l application On pourrait par la suite comparer ces r sultats et les opposer a celles des tests similaires sur le syst me IA64 voir tape 5 5 Recompiler et linker votre application sur le syst me 164 En g n ral la migration de l application n cessite des cycles minutieux de r vision de compilation du link et de debogage du code Durant ce processus on r sout les erreurs syntaxiques et logiqu
7. binaire a t constat e En effet parfois il y a des chutes de performances de l application traduite par rapport sa recompilation Ceci est d au fait que la traduction ne cible pas que l application elle m me mais malheureusement dans certains cas elle est oblig e de prendre toutes biblioth ques et librairies de l ancien environnement auxquelles celle ci est li e et de les traduire aussi avec elle Kaes Master 1 STIC informatique page 49 Travail d tude et de recherche 2004 2005 Chapitre 5 Conclusion 1 Bilan technique Malgr son architecture sophistiqu e et en d pit du fait qu il jette toute la responsabilit sur les compilateurs l Itanium a montr son efficacit travers la quasi totalit des benchmarks qu on a fait tourner OpenVMS V8 2 a prouv qu il peut tr s bien assumer la responsabilit et bien jou le r le que lui a confi le processeur en offrant une panoplie de compilateurs assez robustes qui r ussissent faire d une mani re statique plus efficace ce que faisait les processeurs traditionnels dynamiquement d une mani re mat rielle Aucun impact sur la s curit et les performances des applications migr e na t remarqu 2 Perspectives r sultantes de ce travail Ce travail a t l occasion pour nous de voir comment se passent les choses en pratique et nous a permis de mettre en uvre les connaissances th oriques qu on a acquises tout au long de notre cursus uni
8. ce dont lelle d pend et qui assure son ex cution correcte Pour commencer valuer l application on localise les l ments suivants a Parties de L applications KE Master 1 STIC informatique page 45 Travail d tude et de recherche 2004 2005 o Les codes sources pour le programme principal o Les biblioth ques et les images partag es o Les fichiers de configuration scripts fichier de base de donn es fichiers lues ou crits par l application o Les fichiers de documentation a Autres composants binaires dont d pends notre application o Biblioth ques de chargement dynamique o Caract ristiques n cessaires de l environnement dans lequel tourne l application par ex Quantit de m moires requise espaces disque etc o Les outils de test d analyse et de v rification qui permettent de migrer tester application et d valuer ses performances Beaucoup de ces l ments ont d j t port s vers le nouvel environnement comme par ex les biblioth ques les run time images les compilateurs et leur RTLs 5 Choix de la m thode et processus de la migration Une fois le plan d valuation tabli l application doit tre migr e vers le nouvel environnement Deux m thodes d action sont possibles o la compilation o la traduction binaire Le choix entre ces deux m thodes est le fruit de la r ponse aux questions et de l accomplissement des t ches de la figure suivante Kaes
9. contenu de rd vient de la m moire par l instruction d8 r7 r14 nous ne pouvons pas contr ler l galit l avance KE Master 1 STIC informatique page 28 Travail d tude et de recherche 2004 2005 Pour contourner ce probl me d alias et viter la perte de cycles l Itanium propose d utiliser une nouvelle version de l instruction d Il s agit de la version avanc e d a En utilisant cette instruction le chargement sp culatif de la donn e dans le registre est r alis bien avant le point d utilisation add r10 r6 r1 ld8 r7 r14 cycle 4 et initialiser le registre r7 es d autres instructions ld4 a r6 r7 cycle 2 chargement sp culatif avanc S d autres instructions st4 rl r3 cycle 0 barri re de store lev e ld4 c r6 r7 cycle 0 v rification du load avanc add r10 r6 rl cycle 2 utilisation de la donn e charg e Comme on peut le voir dans cette nouvelle version l instruction de chargement a t avanc e un tel point que la premi re instruction qui l utilise s ex cute sans retard Pour v rifier qu aucune instruction st n a acc d la m me adresse m moire on trouve sa place une instruction d4 c r6 r7 Son r le est de v rifi qu il ny apas eu d alias entre d et st Si c est le cas il faudra relancer l instruction d C est le compilateur qui est derri re tout ceci Notons que pour les chargements avanc s le compilateur
10. corps de la fonction la place de l appel et ferait ainsi en sorte que les performance soit les m me pour un processeur ex cution ordonn e IA64 et un autre a ex cution d sordonn e Alpha Mais comme on av le voir plus loin ce n est pas si simple que a 1 2 Multi threading simultan Les syst mes informatiques ont deux formes de parall lisme l un au niveau des instructions dit ILP Instruction Level Parallelism et l autre au niveau des threads dit TLP Thread Level Parallelism Le dernier permet a un syst me multiprocesseur d ex cuter plusieurs threads d une application ou plusieurs programmes ind pendants en m me temps Le multi threading simultan dit SMT Simultaneous MiltiThreading est une autre technologie qui permet a un processeur d exploiter les deux types de parall lisme ILP et TLP Plusieurs threads peuvent s ex cuter sur un processeur SMT et ce dernier va allouer dynamiquement les ressources entre les threads L unique avantage de la technologie SMT est que le processeur peut utiliser le parall lisme d instruction et le parall lisme de thread un pour l autre Plusieurs threads peuvent tourner en parall le dans une portion parall le d une application Dans les portions s quentielles toutes les ressources du processeur peuvent tre appliquer un seul thread La loi de Amdhl dit que les performances d une application parall le sont limit es par le temps pass
11. http gnv sourceforge net DECset _ PCA DIGITAL Performance and Coverage Analyzer for OpenVMS CD d installation de HP FAA Les benchmarks FAA Les benchmarks sont accessibles depuis ftp ftp nosc mil pub aburto lll _ _ Master 1 STIC informatique page 55 Travail d tude et de recherche 2004 2005 GNV is a GNU based project delivering a Unix like environment for OpenVMS It is intended to provide the important subset of Unix Linux POSIX necessary to port UNIX OpenSource software to OpenVMS GNV consists of a Unix like shell environment and many of the tools and utilities common to Unix shell environments he Master 1 STIC informatique page 56
12. impl mentation de deux architectures diff rentes RISC et EPIC 4 Le mod le RISC L architecture RISC Reduced Set Instruction Computer ou machine a jeu d instruction r duit a t invent pour simplifier l enrichissement excessif du jeu d instructions CISC Les instructions tant plus simples la gestion de simultan it s s en trouve grandement simplifi e Les caract ristiques communes aux architectures RISC sont les suivants e Lancement de plusieurs instructions par cycle he Master 1 STIC informatique page 12 Travail d tude et de recherche 2004 2005 e des op rations registre registre dans une architecture de type chargement rangement e Allocation dynamique des ressources par le processeur e Analyse des d pendances lors de l ex cution e Renommage dynamique de registres e Ex cution d sordonn es des instructions e Pr diction dynamique des branchements e des modes d adressage simples et peu nombreux les modes d adressages complexes pouvant tre r alis s a partir des modes d adressages simples e des formats d instructions simples et peu nombreux taille d instruction fixe poss dant des champs fixes Le tout r sulte en des instructions et une unit de contr le simples Nous allons voir la machine Alpha qui est une impl mentation de cette architecture 5 Le mod le EPIC l aube des ann es 90 les laboratoires HP commen aient explorer un mod le pour une future archit
13. laboration du cahier des charges Par la suite une micro formation de d marrage avec OpenVMS donn e par monsieur Bedin compl t e par une auto formation avec les commandes avanc es et l criture de scripts DCL Digital Command Language a d bouch sur une ma trise partielle de ce syst me partir de ce point nous avons pu installer un certain nombre d utilitaires biblioth ques et logiciels sur les deux machines Nous avons commenc crire nos propres files de travaux batch s rie de programmes s quentiels de traitement par lot automatiser nos tests et mettre en place des m thodes permettant la r cup ration et l archivage des r sultats Une phase d laboration de corollaires et conjectures th oriques notamment dans l tablissement de la m thodologie de la migration s est effectu e en parall le avec ce qui pr c dait En dernier lieu une comparaison des r sultats th oriques avec les interpr tations des tests pratiques a t faite et des conclusions s en sont ressorties 4 Retour sur le cahier des charges Le cahier des charges d taill est disponible sur le site du suivi de notre TER l adresse http deptinfo unice fr twiki bin view Minfo Cluster OpenVMS Voici les principales dates de notre calendrier tel qu il a t soumis au jury de pr soutenance ABOUNADA tude du cas de la fran aise Sami des jeux par toute l quipe R gles Kecrercrne aes COMpDOSAnts de BOUKADIDA de Rec
14. lui m me vers l architecture Itanium La section suivante contient une description des diff rences des conventions d appel entre les proc dures sur les deux plate formes Le Mod le des donn es OpenVms sur l Alpha reste ambigu vis vis du mod le des donn es qu il utilise beaucoup de programmes semblent suivre le mod le ILP32 alors que le syst me en grosse partie op re en utilisant le mod le P64 ou LP64 Une r gle de signe pour les entiers a permis de rendre cette ambigu t plus ou moins transparente OpenVMS 164 pr serve cette caract ristique alors que l architecture de Iltanium d finie un mod le purement LP64 Usage de registres g n raux Les registres g n raux sont utilis s pour les op rations arithm tiques OpenVms 164 utilise les m mes conventions pour ces registres sauf dans les cas suivants o R8 et R9 seuls sont utilis s pour la valeur de retour o R25 est utilis pour passer des informations sur un argument Usage de registres flottants Les registres flottants sont utilis s pour le calcul sur les nombres virgule flottante ainsi que les emulation des flottants de VAX et certains calcul sur les entiers OpenVms 164 utilise les m mes conventions pour ces registres sauf dans le cas suivant o F8 and F9 only sont utilis s pour la valeur de retour Passage de param tres Le passage des param tres sous OpenVMS ressemble aux conventions de l Itanium Voici une description des
15. nous l a sugg r monsieur Lecarme Ces modifications n ont aucunement impact notre travail vu que tout tait heureusement pr vue dans notre cahier des charges et on s y tait bien pr par KE Master 1 STIC informatique page 8 Travail d tude et de recherche 2004 2005 Chapitre 2 OpenVMS cluster et mod les architecturaux 1 OpenVMS Initialement con u en 1976 par Digital pour tourner sur les VAX ordinateurs 32 bits OpenVMS autrefois VMS Virtual Memory System a t port sur les architectures 64 bits Alpha en 1992 et plus tard sur Itanium en 2003 ll est r put tre le syst me d exploitation le plus s curis au monde et est utilis sur d normes ordinateurs par des clients tels que Airbus Peugeot Citroen la Fran aise des jeux France Telecom le CEA les autoroutes du sud de la France Canal Provence les h pitaux et bien d autres de m me taille dans le monde entier Il joue un r le important dans les environnements informatiques strat giques o les performances la disponibilit et la s curit sont des priorit s absolues Les principaux traits qui le caract risent syst me d exploitation 32 bits sur machines VAX 64 bits sur Alpha et Itanium SMP multi t ches multiprocesseur multi utilisateur syst mes Alpha VAX Intel Itanium partir d OpenVMS 8 0 POSIX contient un grand nombre de langages de programmation comme Pascal DEC C Fortran DEC C et beaucoup d a
16. peut non seulement faire avancer l instruction de chargement mais aussi les instructions qui utilisent la donn e charg e Ainsi dans notre exemple m me l instruction add peut tre avanc e avant le sf si le compilateur le juge int ressant par exemple pour remplir des paquets 2 5 4 Le pipeline logiciel Le pipeline logiciel est l une des techniques les plus utilis es pour augmenter le degr du parall lisme dans les boucles L id e g n rale est de r aliser un recouvrement entre les diff rentes it rations d une boucle Pour pr senter le principe prenons l exemple suivant en langage C for int i 0 i lt N i sum sum afi bfi Dans chaque it ration de la boucle de cet exemple il y a trois tapes un l ment du tableau a et un l ment du tableau b sont lus ensuite trait s multiplication et addition et enfin le r sultat sum est crit en m moire Il est clair qu il existe une d pendance entre ces op rations En cons quent si la boucle est ex cut e un grand nombre de fois les ressources mat rielles seront mal utilis es Le pipeline logiciel consiste transformer le code pour manipuler des donn es ind pendantes Apr s les deux premi res it rations prologue dans le nouveau code voir sch ma ci dessous chaque it ration consiste additionner le r sultat de l it ration i 2 a multiplier les l ments de l it ration i et lire les l ments a i et b i de l
17. tude et de recherche 2004 2005 Les benchmarks qui ont t test sur nos plates formes et leurs r sultats sont les suivants FIB BENCHMARKS Ce bench calcule la suite r cursive de fibonnacci Son temps d ex cution T n d pends du temps d ex cution d un appel r cursif k selon la relation T n k n42 Le temps de calcul sur IA64 est inf rieur a celui de Alpha comme le montre la figure suivante suivant he Master 1 STIC informatique page 33 Travail d tude et de recherche 2004 2005 On remarque des performances crasantes de I Itanium face l Alpha Ceci montre l efficacit du m canisme de sp culation de l Itanium voir plus haut et t moigne du niveau de robustesse du compilateur CC disponible sur la version 8 2 de OpenVMS On rappelle que les optimisation sont faites de mani re logicielle au niveau des compilateur pour ce qui est de l architecture EPIC MFLOPS BENCHMARK Ce benchmark vise d terminer la puissance de calcul flottant d un syst me en estimant le nombre maximum d instructions flottantes qui peuvent avoir lieu en une unit de temps Le programme sollicite intensivement le FPU pour ex cuter des instructions FADD FSUB FMUL et FDIV Le code est crit de telle fa on favoriser l utilisation des registres et minimiser l interaction avec la m moire principale ce qui permet d avoir une estimation de temps d ex cution des instruction flottantes e
18. 1 L ex cution dans le d sordre du jeu d instructions 14 1 1 1 Ordonnancement dynamique 14 1 12 Renommage des registres eee cc ceseeccseeseeseseeecesesecseesecaeaececsaesecseesecseesecaesaececseeeeseeseeeeeeees 15 1 1 3 Pr diction de branchements ooo ccc cccceccseesecseseescssesecseeseceesseecsaesecsecsecsesececsaeecsenseeeeees 16 1 1 4 Pr diction travers un appel de fonction 16 1 2 Multi threading simultan 17 2 LE MICROPROCESSEUR ITANIUM 20 2 1 Le format des instructions cce cece cete ce ceee testes ceaeeseeaecacesecaseeesseesesaeeseesesstensenees 20 2 2 Lecture d s Instructions zeien deegeger hes cal ananas dass era tes dt 21 2 3 Ex cution des instructions oo ccc ccc cess csscccecsessesecseesececsessesecsessesecsecsesecsecseeecsesseeeesees 21 2 4 Le jeu d instruction de Pltanium 23 2 4 1 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 Les instructions d acc s m moire 25 2 5 Les techniques avanc es pour la sp culation dans I Itanium 26 2 5 1 La sp culation de contr le Ee ZE Ed 26 2 5 2 Les branchements par le m canisme de pr dicats oo ec eceeeeseeeeecneeseeeeeceeeeeseeeeeeneeaees 27 KEE Master 1 STIC informatique page 3 Travail d tude et de recherche 2004 2005 2 5 3 D pendances des donn es et sp culation 28 2 5 4 L
19. 1 1 1 p3 load a1 BEQ t1 L1 2 1 3 t1 add t1 1 2 L1 4 BEQ t1 L1 3 p2 add p1 1 t1 load a1 5 t1 load a1 P4 add p3 1 t1 add t1 1 6 4 BEQ p2 L1 7 8 add t3 1 Bien s re une technique de compilation appropri e pourrait aider faire ceci d une fa on logicielle la compilation Mais l aussi a se discute Pr diction travers un appel de fonction L exemple qui suit pr sente une s quence de trois blocs de base de code o les deux premiers blocs g n rent un appel de fonction Supposons que le branchement est pr dit correctement Sur une machine ex cution ordonn e d instructions cette s quence prendra 11 cycles Dans une machine ex cution d sordonn e d instructions la pr diction exacte du branchement permettra au processeur de voir les instructions des deux c t s de l appel de fonction Il pourra donc KEE Master 1 STIC informatique page 16 Travail d tude et de recherche 2004 2005 achever l ex cution du corps de la fonction avant que l instruction BSR ne soit ex cut e Dans l ordre Dans le d sordre T1 LOAD a0 0 t1 LOAD a0 0 p1 LOAD a0 T1 ADD t1 1 1 p3 LOAD a1 BEQ t1 L1 2 1 3 t1 ADD t1 1 2 L1 4 BEQ t1 L1 3 p2 ADD p1 1 BSR foo 5 BSR foo i p4 ADD p3 1 6 t1 LOAD ai 4 BEQ p2 L1 foo T 5 BSR foo t1 LOAD ai 8 6 ret t1 ADD t1 1 9 ADD t3 1 ret 10 ret De m me un compilateur intelligent pourrait ici incorporer in line le
20. 6 PRESENTATION GENERALE DU TRAVAIL EFFECTUE scsscsssssssssssssscssscssssssccseccseccsassssssnsssnssens 6 1 INTRODUCTION E 6 2 ENVIRONNEMENT iii 6 3 DEROULEMENT 83 sccs2essee gsedassceseadss casgeves ogsdesee ogcoeass saetaasveadduness cazsiesvasdua ssegedsisvecQevaeasadesat cascuasssast asteaseevcanes 7 4 RETOUR SUR LE CAHIER DES CHARGES 7 CHAPITRE 2 55 EEA E ve cues E see cs cssvavevsdeedzcusavooeesesteceavessestessacade ut eoasedtecesssesivsseedsssesvencsesiee 9 OPENVMS CLUSTER ET MODELES ARCHITECTURAUX cssssssssscssccssscssscsssssssssssssssnsessssseseseees 9 1 el EE 9 2 CLUSTER OPENVMS 9 2 1 D finition nn a EE RR 10 2 2 G n ralit s et architecture ssearereresere renet 10 2 2 1 Principe de partage nnns te 10 2 2 2 Principe du mirroring 10 2 2 3 La technologie du RAID 10 2 3 Grappe Open MM eeneg EENS 10 2 3 1 we NEE TEE 10 2 3 2 Composants logiciels 5 5482 408 Serge edd edd dees 11 3 ARCHITECTURES 64 BITS ren 12 A RE D cs dacdavescougvaad vateeves EEE soeagvancseavest aE 12 4 LE MODELE Te 12 5 LE MODELE EPIC onnan nd has a a a e a a nesteeres 13 CHAPITRE 3 orso ee eege Eddie ENEE 14 ALPHA VERSUS ITANIUM ETUDE THEORIQUEBE cssssscssssscecsssscscssssececsassccocsessesacsasscsacsassesesears 14 1 LE MICROPROCESSEUR ALPHA 14 1
21. A et ITANIUM dont les caract ristiques concessionnaire ont t donn es au tout d but de ce document nous avons choisi de faire tourner des benchmarks standardis s sur les deux machines a Les sources de ces benchmarks sont crites en C Pour les compiler sur l une et l autre des deux machines on a utilis les versions suivantes du compilateur CC HP C V7 1 011 Compaq C V6 5 001 a Un traducteur binaires AEST V1 0 a t install sur les 2 machines Ce traducteur transforme les images binaires de l Alpha vers des binaires quivalents aux formats IA64 Les binaires qu on a ex cut et dont on a r cup r les r sultats d ex cution ont t obtenus de quatre mani res e B1 Binaires obtenus en compilant les codes sources sur la machine Alpha e B2 Binaires obtenus en compilant les codes sources sur la machine Itanium e B3 Binaires traduits en appliquant AEST depuis la machine Alpha sur B1 e B4 Binaires traduits en appliquant AEST depuis la machine Itanium sur B1 Ainsi un B1 est destin a la machines Alpha tandis que les binaires B2 B3 B4 sont destin s l IA64 a Les options d optimisation du compilateur loop unrolling function inlining ont aussi t utilis es sur quelques benchmarks pour permettre d atteindre les performances cr tes Ceci vise aussi solliciter les compilateurs en vue de voir leur implication dans l optimisation statique du code KEE Master 1
22. ENCHMARK Le probl me de queens consiste a calculer le nombre de configurations possibles de positionner N dames sur un chiquier N x N sans qu elles soient prises Le temps n cessaire de calculer ces configurations en fonction du nombre N de reines est donn dans le tableau suivant IA64 0 59s 3 58s 23 18s 160s Alpha 2 1s_ 12 47s 79 88s 545 750s he Master 1 STIC informatique page 38 Travail d tude et de recherche 2004 2005 Nsieve BENCHMARK Ce bench se base sur l algorithme du Crible d Eratosthenes pour calculer les N premiers nombres premiers ll est utilis pour calculer le nombre maximal d instructions enti res que le CPU peut traiter par seconde MIPS Les teste ont montr que sur IA64 on peut atteindre jusqu a d1450 MIPS contre seulement 458 MIPS du cot Alpha Hanoi BENCHMARK C est un benchmark qui r sout le probl me de la Tour de Hanoi en utilisant des appels r cursifs Le tableau ci contre montre les r sultats d ex cution de ce bench sur les 2 architectures 1A64 18 262143 0 01000 655 3575 20 1048575 0 01000 2621 4375 21 2097151 0 02000 2621 4388 23 8388607 0 09000 2330 1686 24 16777215 0 17000 2467 2375 25 33554431 0 33000 2542 0023 26 67108863 0 67000 2504 0621 27 134217727 1 33000 2522 8896 28 268435455 2 67000 2513 4406 29 536870911 5 33000 2518 1562 30 1073741823 10 67000 2515 7962 Mo
23. STIC informatique page 31 Travail d tude et de recherche 2004 2005 a Pour permettre d effectuer une mesure du nombre de cycles CPU n cessaires a ex cution des benchmarks le nombre total d instructions ex cut es ainsi que le nombre de cycles CPU pass s en d crochage des biblioth ques de debogage sp cialis es fournies par le kit DECSet ont t li es nos binaires L avantage de ces biblioth ques est que non seulement elles permettent de mesurer le performances mais aussi la sauvegarde de certains v nements pendant ex cution des processus d fauts de cache temps d ex cution appels syst mes dans des fichiers de trace nous permettant ainsi a Deux m triques principales ont t utilis es pour la mesure de performances le nombre maximal d instructions pouvant tre ex cut es par un processeur exprim en MIPS millions ou milliards d instructions par seconde pour les calculs flottants intensifs les processeurs peuvent ex cuter jusqu des millions ou des milliards d op rations flottantes par seconde Ces capacit s sont exprim es en termes de MFLOPS ou GFLOPS Le sch ma suivant montre comment nous nous tions pris pour faire notre tude exp rimentale Phase de deploiement des sources aA em MACHINE gt Compilateur ae F GE EE EE CODE SOURCE Compilateur Traducteur IA64 MACHINE lx za eee Master 1 STIC informatique page 32 Travail d
24. Travail d tude et de recherche 2004 2005 rsit SOPHIA ANTIPOLIS Aiton dbl Is alt Auteurs ABOUNADA Sami BOUKADIDA Mohamed J KSOURI Sonia KEN Encadrants M BEDIN Christophe M LECARME Olivier he Master 1 STIC informatique page 1 Travail d tude et de recherche 2004 2005 REMERCIEMENTS Nous tenons remercier tous ceux qui nous ont aid s d une mani re ou d une autre pendant ce travail d tude et de recherche Tout particuli rement monsieur Olivier Lecarme pour ses pr cieux conseils la rectification ainsi que la validation de notre plan et pour sa disponibilit Nous remercions tout autant monsieur Christophe Bedin d avoir bien voulu accepter la charge de nous former et diriger tout le long de ce travail Nous remercions galement monsieur Didier Pitisi de la Fran aise des jeux Leur aide a t d terminante lors de la formalisation du projet o ils ont apport de nombreuses id es cl s KEE Master 1 STIC informatique page 2 Travail d tude et de recherche 2004 2005 Table des mati res REMERCIEMENTS cocsecvescencesesestee coconvcovenesuecsesessestosesvessecestcadesesseute EENS 2 TABLE DES MATIERES ivsisssssscsssssciccsntesssssssdecocsesesessocsvedssensssdssesesscisvessbessedovednseeoessvsssbes tesdevesecdosededscansescdepsassess 3 GHARITIRE 41 E E E EEE E E save oviea costectessssessacess catvuvsecdeusdesesessesss cues cocccevsesssvexs 1s becesusvateoeseesen
25. ate forme d OpenVMS HP envisage de maintenir une politique stricte pour assurer que les applications qui tournaient sur un OpenVMS Alpha tourneront avec succ s sur l OpenVMS 164 Les applications qui b n ficient des librairies et des services syst me doivent pouvoir sans modifications tre port es sur la deniere version de OpenVms 164 Des changements minimaux ont t apport s au nouvel environnement mais la structure de base et les fonctionnalit s d OpenVms restent les m mes 2 Terminologie Il y a une diff rence majeure entre le vocabulaire migration et le vocabulaire transport dans le cadre de notre m thodologie En effet une migration consiste en le d placement d une application d un environnement en un autre sans pour autant avoir a toucher a son code source dans le cas ou se dernier serait disponible Toute r criture de l application ou toute modification aussi infinit simale qu elle soit est une transportation 3 Diff rence entre OpenVMS Alpha et OpenVMS 164 Le protocole d appel inter proc dural L impl mentation du protocole d appel entre les proc dures diff re l g rement sur la famille des processeurs Intel Itanium des conventions choisies par OpenVMS VAX et Alpha Ceci a t tabli dans le but de minimiser le co t et la difficult de porter les KEE Master 1 STIC informatique page 43 Travail d tude et de recherche 2004 2005 applications et le syst me d exploitation
26. ble pr cision Si une application a t crite pour OpenVMS VAX ou OpenVms Alpha en utilisant les flottants par d faut elle peut tre migrer sur OpenVMS 164 de deux mani res o Continuer a utiliser le formats VAX Les compilateurs d tectent ces formats et g n rent du code qui converti ces formats en IEEE et reconverti les r sultats de nouveau en format VAX ceci peut engendrer une chute des performances car les donn es sont converties l ex cution o Convertir les donn es VAX et IEEE avec un convertisseur fourni par HP et laisser l application tourner avec ces donn es 4 Evaluation d applications en pr paration a la migration L valuation de l application d termine les tapes n cessaires a sa migration au nouvel environnement OpenVMS 164 Le r sultat de l valuation doit tre un plan de migration qui r ponds aux questions suivantes e Comment migrer l application e Combien de temps et d effort la migration n cessite e Avez vous besoin du support des services de HP L valuation doit inclure les tapes suivantes a Etablissement d un cahier des charges de l application pour identifier ses d pendances des autres logiciels et librairies a S lection de la m thode de migration recompilation du code source ou traduction du binaire La premi re tape dans le processus d valuation est de d terminer exactement ce qui doit migrer Ceci n inclut pas l application seule mais aussi tout
27. cette partie car la compr hension de la suite de notre tude en d pend 2 1 Le format des instructions Le compilateur et l assembleur ltaium regroupent les instructions par paquets bundles de 3 instructions Ces derniers sont ex cut s enti rement et Itanium 2 la machine sur laquelle nous travaillons en est un est capable d ex cuter simultan ment deux groupes Chaque groupe est cod sur 16 octets ou 128 bits La figure suivante donne le format d un groupe d instructions KE Master 1 STIC informatique page 20 Travail d tude et de recherche 2004 2005 Un paquet bundle 128 bits ch Instruction 2 Instruction 1 Instruction 0 Gabarit 41 bits A1 bits 41 bits Template Type M moire Type M moire Type entier 5 bits M M Integer I MMI Cette figure contient trois instructions sur 41 bits chacune Le champ Template gabarit facilite la phase de d codage Dans cet exemple le groupe est compos de deux instructions m moire M et d une instruction enti re 1 Pour cett raison le champ Template est positionn a MMI De cette fa on la premi re instruction est envoy e directement vers l unit de calcul sur les entiers alors que les deux suivantes sont envoy es directement vers les deux unit s m moire Avec 5 bits pour ce champ il est possible de coder 128 combinaisons diff rentes Seules 24 combinaisons sont utilis es En plus du type d instruction M pour m moire pour entier
28. chargement de la donn e depuis la m moire Mais elle ne r alise ni la modification du registre destination r1 ici ni la g n ration d exception s il arrive que celle ci se serait produite Si cette instruction g n re une exception le bit NaT du registre destination r7 est positionn 1 Ceci permet de sp cifier qu une exception a t cr e lors de l ex cution du chargement sp culatif mais qu elle ne sera r ellement signal e que lors de l instruction chk s rl routine Even Cette instruction a pour r le de v rifier qu une donn e valide a t plac e dans le registre destination r1 Autrement dit elle sert a v rifi que le chargement est termin et qu il ny a pas eu d exception NaT 0 Dans le cas contraire un branchement vers la routine de gestion de l exception est effectu Notons enfin que cette technique est r alis e uniquement lorsque le compilateur juge que le branchement a une faible chance d tre pris Dans le cas contraire le chargement n est pas sp cul et il garde sa position apr s l instruction de branchement KE Master 1 STIC informatique page 26 Travail d tude et de recherche 2004 2005 ld8 s r1 r2 chargement sp culatif add sub br eq barri re pour remonter Id oes ld8 r1 r2 br eq Al n y a plus de barri re pour Id add r3 rl r10 chk s rl routine Exception add r3 rl r10 2 5 2 Les branchements par le m canisme de pr dicats Prenons l exe
29. ctions de branchement dont le r sultat peut tre pr dit avec une grande confiance de fa on statique c est dire au moment de la compilation Voici un exemple p1 br cond spntdebut KEE Master 1 STIC informatique page 27 Travail d tude et de recherche 2004 2005 Dans cet exemple nous avons un branchement conditionn par p1 Il est pr dit statiquement non pris spnt static predicted not taken vers l instruction tiquet e par debut Le processeur ne va pas alors utiliser les ressources mat rielles pour traiter le branchement puisque le compilateur a jug qu il a suffisamment d informations pour garantir avec une tr s forte probabilit que le branchement ne sera pas pris De la m me mani re il existe trois autres types d indications sptk static predicted taken dpnt dynamic predicted not taken et dptk dynamic predicted taken Pour les deux derni res indications dptn et dptk le processeur doit utiliser le m canisme mat riel pour r aliser la pr diction de branchement Les branchements dont le r sultat est difficile pr dire par les deux m canismes pr c dents peuvent utiliser le troisi me m canisme Cette solution repose sur l utilisation de pr dicats et permet d liminer les instructions de saut 2 5 3 D pendances des donn es et sp culation Les d pendances de donn es sont une autre cause pouvant limiter les performances des processeurs tout particuli rement lorsqu il s agit d
30. ctions du type une instructions sur plusieurs donn es sont disponibles De cette fa on il est possible de r aliser en une seule instruction par exemple 8 additions sur 8 jeux de donn es sur 8 bits chacun On peut r aliser de la fa on des op rations logiques des d calages etc e Unit s fonctionnelles pour les donn es virgules flottantes Il existe deux unit s de multiplication et addition et deux unit s pour les autres op rations Au maximum deux instructions flottantes peuvent tre lanc es par cycle L ltanium contient 4 types de registres e Les registres g n raux au nombre de 128 registres de 64 bits chacun Ils servent a stocker les valeurs enti res utilis es comme source et ou destination des instructions enti res Nous trouvons un bit not NaT Not a Thing associ chacun des registres Ce bit est utilis lors de la sp culation sur les instructions de chargement pour des donn es de type entier Il sert signaler une exception suite l ex cution d une instruction de chargement sp culative Nous le d taillons dans le paragraphe d di aux diff rentes techniques de sp culation utilis es dans l Itanium e Les registres flottants au nombre de 128 registres de 82 bits chacun Les registres de 0 31 sont statiques et peuvent tre utilis s a n importe quel moment Les registres flottants n ont pas de bits NaT associ s Si une exception se produit dans un chargement vers un registre flot
31. dans les portions s quentielles am liorer les performances de ce genre d application n cessite alors une augmentation de la vitesse des portions parall les et s quentielles Un processeur SMT peut g rer cette vitesse efficacement Voici un exemple qui illustre l ex cution parall les de plusieurs instructions par cycle he Master 1 STIC informatique page 17 Travail d tude et de recherche 2004 2005 for i o i lt n i work on afi deux instructions par cycle ALUO ALU1 load afl 1 work ali work ali work ali work ali load afi 2 work ali 1 work ali 2 work ali 1 work ali 1 O ND quatre instructions par cycle ALUO ALU1 ALU2 ALU4 0 load a l 2 i load afl 3 z 1 work afi work ali work afi 1 work ali 1 2 work afi work ali work ali 1 work ali 1 3 load ali 4 e load afi 5 4 work ali 2 work a i 2 work afi 1 work ali 3 5 work ali 2 work ali 2 work ali 1 work ali 3 Supposons qu il faut 4 instructions work a pour chaque l ment du tableau a que tout le tableau est dans le cache et que le LOAD prend 3 cycles pour retourner la valeur bien s re quand celle ci est dans le cache comme suppose Sur une machine qui traite deux instructions par cycle on peut charger l l ment suivant du tableau alors qu on travaillait sur l l ment en cours Ceci permet d utiliser les unit s fonctionnelles d une fa on efficace Sur une machine
32. diff rences principales e Le standard OpenVms ajoute un registre d information pour permettre de conna tre le nombre d arguments lors d un appel e Lors du passage des param tres en registres le premier param tres est pass soit dans R32 soit dans F16 le second dans R33 ou F17 et ainsi de suite On ne peut pas passer plus de 8 param tres en registres e Lors du passage d un param tre 32 bits dans un registre g n ral le bit 32 est assign au signe du param tre n 31 ca r on commence RO e OpenVMS supporte seulement la repr sentation ittle endian e OpenVMS supporte les trois types de flottants VAX F float 32 bits D float 64 bits et G_floating 64 bits Les valeurs de ces derniers sont pass es dans les registres g n raux KEE Master 1 STIC informatique page 44 Travail d tude et de recherche 2004 2005 Les valuers de retour Les valeurs de retour jusqu 16 octets de taille peuvent tre retourn es en registre Les valeurs qui ont des tailles plus grandes sont plac es dans le premier ou le deuxi me emplacement des arguments Les Flottants L architecture Alpha supporte les formats IEEE et VAX au niveau mat riel Les compilateurs d OpenVms g n rent du code en utilisant le format de VAX par d faut avec la possibilit sur l Alpha de d utiliser le format IEEE L Itanium quand lui impl mente seulement le format IEEE au niveau materiel et supporte les IEEE simple et dou
33. e pipeline logiciel oo ccc cccesesscsseseeseesecsteseecssesecsecsecsesaececssesecsessecsesesessecseeseeaeeaeeeseaes 29 CHAPITRE 4 scscssscsesscasesesvecsesvsdesvenssuestevesyeoseseauscsesetteaesesiestecustecdasesceabesusdesvesvecesteensseeseoearsodesestecssvestve se orev ovdtsesvess 31 DE ALPHA VERS ITANIUM ETUDE EXPERIMENTALE ccsssssssssscscssccssssecssssesesesscssscsessecsseseees 31 TESTS ET BENCHMARKS ionun iritisa ika eevee diese rente dh dant iat Hedin 31 FIB BENCHMARKS 5 age geteet ee Ces cca uctics ene caz speeds EEE OD NETET te sbengnt near en ed AEN 33 MFLOPS BENCHMARK ageet tintin en 34 QUEENS BENCHMARK Seed tagged tintin antenne ie ais 38 NSIEVE BENCHMARK nn ie nn e E einen EEE E 39 WHETSTONE BENCHMARK ntm ent seen nee nn dances DATEN NENT 40 HEAPSORT BENCHMARK Seege AER 41 LINPACK EE 42 CHAPITRE nine me nn eee een n seen ess r Eeen dg 43 METHODOLOGIE DE MIGRATION D APPLICATIONS OPENVMS ALPHA A OPENVMS IA64 43 1 INTRODUCTION EE 43 2 Te e 43 3 DIFFERENCE ENTRE OPENVMS ALPHA ET OPENVMS 164 0000000 cece ccceccsecssecseecsesesseceseeeseeseeseens 43 4 EVALUATION D APPLICATIONS EN PREPARATION ALA MIGRATION 45 5 CHOIX DE LA METHODE ET PROCESSUS DE LA MIGRATION 46 6 BL Ir 48 CHAPITRE D nn et en ie nee NEES deeg 50 CONCLUSION FOR RE EE 50 1 CIR UI 50 2 PERSPECTIVES RESULTANTES DE CE TRAVAIL 50 3 EXTENSIONS POSSIBLES DE CE TRAVAIL 50 BIBLIOGRAPHIE vesisssssssssssssscssstsssss
34. ecture 64 bits qui augmenterait significativement le niveau de performance au dessus de ce qui pourrait tre fait avec du simple RISC Reduced Instruction Set Computer L id e de base tait de tirer profit des le ons des mod les ant rieurs et de construire une architecture mot d instruction plus long qui viterait les probl mes traditionnels du mod le VLIW Very Long Instruction Word Le but final tait d aller au dela du niveau de performance du mod le RISC Plus tard le paradigme r sultant fut appel EPIC Explicit Parallel Instruction Computer Comme VLIW a exprime explicitement un parall lisme d instructions mais qui le fait dans un mode qui vite le probleme de comptabilit binaire associ a VLIW II fait d une fa on logicielle reposant sur la robustesse des compilateurs ce que fait le RISC d une fa on mat rielle au niveau du processeur Du coup a donne au compilateur voire au d veloppeur la possibilit d identifier les t ches parall les du code qui peuvent exploiter pleinement le mat riel et am liorer les performances des logiciels HP a invit Intel participer l effort de mod lisation et de construction de cette architecture Ceci a conduit l alliance HP Intel et la d finition d une architecture r volutionnaire capable d offrir faible co t des performances de calcul in gal es baptis e IA64 Les caract ristiques communes aux architectures EPIC sont les suivants Ordonnancemen
35. edit BASENAME upcase mess mess gt EXECUTION DU BASENAME T FILENAME DEFINE process sys output BASENAME res COUNT 0 LOOP mess TEST NUMBER COUNT J if BASENAME EQS QUEENS THEN T c COUNT 10 ELSE T ENDIF COUNT COUNT 1 if COUNT NE LIMIT COUNTER THEN GOTO LOOP ENDIF FILENAME F SEARCH DIR_EXE EXE IF FSLENGTH FILENAME EQ 0 THEN GOTO END ENDIF GOTO TOP Zoo oo oo mmm mo oo oo om mmm moo Coon mm Gm END CD sys ter com purge exit Kaes Master 1 STIC informatique page 54 Travail d tude et de recherche 2004 2005 Annexe B Logiciels install s pour l tude exp rimentale HR ERA EEE Softwares install s sur l alpha et itanium pour le TER PERE EEA RER FH Alpha HHHHHHH Alpha Environment Software Translator AEST V1 0 for Alpha systems http n71000 www7 hp com openvms products omsva omsais_license html HP Digital Continuous Profiling Infrastructure DCP T2 0 http n71000 www7 hp com openvms products dcpi GNV V1 6 2 http gnv sourceforge net HAHAHA Itanium HAHAHA Alpha Environment Software Translator AEST V1 0 for Integrity servers http n71000 www7 hp com openvms products omsva omsais_license html Translated Image Environment TIE V1 0 software component V1 0 http N71000 www7 hp com openvms products omsva omsais_license html GNV V1 6 2
36. el car les restes d optimisations n ont pas d impact fort sur les performances Donc le pipeline logiciel ne joue pas de r le ici voir chapitre pr c dent KEE Master 1 STIC informatique page 40 Travail d tude et de recherche 2004 2005 CosMops ExpMops FixMops Wope SECTION Lors de la recompilation sur Itanium on a remarqu une augmentation l g re de la taille de l ex cutable c est du l effet de in line par rapport celui obtenu par compilation sur Alpha On voit de nouveau que l alpha perd au profit de l Itanium Donc l optimisation logicielle m me si elle est un peu p nalisante au niveau de la taille de ex cutable est meilleure que l optimisation mat rielle faite par le processeur Alpha qui ici exploite son m canisme d ex cution d sordonn e des instructions via la pr diction a travers un appel de fonction voir le chapitre pr c dent HEAPSORT BENCHMARK Ce bench se sert de l algorithme de tri par tas pour trier un tableau de long Il donne une estimation du nombre de MIPS pour les diff rentes architectures Oc eee Master 1 STIC informatique page 41 Travail d tude et de recherche 2004 2005 MIPS 8000 16000 32000 64000 128000 256000 512000 1024000 2048000 Array length in bytes LINPACK Ce benchmark permet de mesurer les performances du calcul flottant des machines Il est vu comme un benchmark s rieux car il manipule de gros volu
37. es mettre en corr lation avec ceux obtenus partir des tests Une s rie de benchmarks bien choisis et tr s cibl s a r affirm la validit de nos aboutissements notamment du c t des performances Ceci a pour but de guider les clients de HP qui seraient int ress par les nouvelles machines base du microprocesseur Itanium 2 Environnement Deux machines mises en cluster mixtes deux n uds avec OpenVMS TM Alpha Operating System Version V8 2 sur la premi re dont l adresse sur le r seau est rondo unice fr et HP OpenVMS Industry Standard 64 Operating System Version V8 2 sur la deuxi me qui est biprocesseur et dont l adresse est presto unice fr Deux translateurs binaires divers compilateurs et trans compilateurs ainsi que certaines librairies de tests de performances ont t install s sur les deux machines Voici les sp cifications des deux processeurs Nom Alpha Itanium mod le Compaq AlphaServer DS10 HP rx2600 Fr quence 466 MHz 1 3 GHz Bus principal 77 MHz 128 bits 400 MHz 128 bits Temps par cycle 2 1 107s 0 77 107s Niveau du cache Niveau 2 2 MB Niveau 3 3 MB E Master 1 STIC informatique page 6 Travail d tude et de recherche 2004 2005 3 D roulement Ce projet s est d roul en plusieurs tapes Au tout d but c tait une phase de compr hension et d tude du sujet suivie d une phase de documentation ayant eu lieu en parall le avec l
38. es par les outils de d veloppement Les erreurs de syntaxe sont faciles corriger alors que les erreurs logiques n cessitent plus d effort et de modification du code 5 Tester application migr e Tester l application permet de comparer les fonctionnalit s de la version migr e contre celle de Alpha tablies l tape 3 La comparaison reste valides si on a activ les m mes chemins d ex cution du code avec les m me fr quences et en manipulant les m mes volumes sur les deux machines 6 Limites On va exposer les limites sans pour autant les d tailler car comme dit dans la section terminologie ceci rentre dans le cadre du transport d applications et on ne parle plus d une simple migration KEE Master 1 STIC informatique page 48 Travail d tude et de recherche 2004 2005 e Code crit en Macro 64 d Alpha Ce code doit tre r crit dans un autre langage e Code qui a t conditionn pour tre ex cuter sur VAX ou Alpha Ce code doit tre r viser pour prendre en compte l IAG4 e Code qui utilise les services syst mes d pendant de architecture Alpha e Code qui utilise les threads e Code privil gi Notons que ces limites sont pour la plupart issues des vieilles habitudes de programmations ou d applications trop li es aux architectures pour lesquelles elles ont t cr es et que la probabilit de les croiser est infime Une autre limite reli e au m canisme de traduction du
39. est le c ur d un cluster OpenVms Il est utilis intensivement par le syst me d exploitation Ses services permettent un acc s fiable et coordonn toutes les ressources et fournissent des m canismes de signalisation de probl mes de concurrence au niveau du syst me et des processus dans toute la grappe OpenVMS o Le gestionnaire de files d attente OpenVMS g re les lots et les files d attente d impression l chelle de la grappe lesquels deviennent d s lors accessibles depuis n importe quel syst me Les traitements par lots soumis dans des files d attente l chelle de la grappe sont achemin s vers les syst mes disponibles afin d assurer le partage de la charge o Le serveur de bande Il utilise le serveur OpenVMS TMSCP Tape Mass Storage Control Protocole afin de rendre accessibles aux autres syst mes de la grappe OpenVMS Cluster les unit s de bande auxquelles il a un acc s direct he Master 1 STIC informatique page 11 Travail d tude et de recherche 2004 2005 o Le serveur de disque II utilise le serveur OpenVMS MSCP Mass Storage Control Protocol afin de rendre accessibles aux autres syst mes de la grappe OpenVMS Cluster les unit s de disque auxquelles il a un acc s direct 3 Architectures 64 bits Les architectures 64 bits sont une avanc e d cisive pour les applications charg es de la gestion de jeux de donn es volumineux et complexes Dans les anciennes architectures qui reposent sur l
40. exemple les registres ar65 et ar66 sont utilis s pour impl menter le pipeline logiciel 2 4 Le jeu d instruction de l Itanium Une instruction Itanium a la forme suivante rp mn monique comp dest srcs O rp registre de pr dicats p0 a p63 mn monique nom de l instruction comp symbole permettant de compl ter le nom de l instruction dest op rande destination srcs un ou plusieurs op randes sources Par d faut le registre de pr dicats utilis est le registre pO qui est toujours un et le r sultat est donc crit dans le registre destination Mn monique et comp permettent de sp cifier l op ration d sir e Certaines instructions n utilisent pas le champ comp Les champs dest et srcs font r f rence soit des registres soit des op randes imm diats Voici deux exemples d instructions comment es pl add r10 r12 r13 addition de r12 et r13dans r0 si pl 1 p0 ld8 s r31 r3 chargement dans r31 de la donn e 8 octets point e par r3 sans condition sur les pr dicats car p0 est toujours 1 Le jeu d instruction de l Itanium est divis en 8 groupes Nous allons pass en revue les instructions les plus courantes 2 4 1 Les instructions arithm tiques enti res Le tableau suivant donne les utilisations les plus courantes des instructions arithm tiques enti res KEE Master 1 STIC informatique page 23 Travail d tude et de recherche 2004 2005 T
41. fonctionnent sur un cluster sont install s de mani re redondante pour un m canisme haute disponibilit Hight Avaibility afin que le syst me reste disponible en cas de panne du mat riel informatique Le cluster offre galement la possibilit de passer sans interruption d un serveur d faillant un autre serveur pouvant le remplacer C est ainsi que les clusters assurent une grande disponibilit des services serveurs m me en cas de panne e Adaptabilit scalability et flexibilit Le cluster offre la possibilit d ajouter ou de supprimer d autres noeuds sans interrompre le fonctionnement Cette souplesse nous permet de mettre en place un cluster r pondant toutes les attentes e Partage des charges La r partition de la charge entre chacun des serveurs clusters se produit automatiquement Les clusters OpenVMS comportent une fonction de r partition automatique de la charge 2 3 2 Composants logiciels C est ce qui assure les fonctions de communication et le partage des ressources Ils s ex cutent sur tous les noeuds du cluster Ce sont o Le gestionnaire de connections c est le responsable du contr le de l adh sion des n uds du cluster Il assure que les n uds du cluster sont admis directement en utilisant le m canisme du vote et quorum et que les ressources sont r allou es au cluster quand les noeuds sont inactifs o Le gestionnaire de verrouillage distribu Distributed Lock manager c
42. h s appele toto exe sa sortie standard est redirig vers le fichier tot res Ce fichier est sauvgarde dans un repertoire qui possede un nom logique sys ter res GC LAEAAESSPEEAARE ESEREAEREL ERE ERIRELEREEREEAR BED EER RAR ERED mess NOEUD THIS NODE ARCH NAME mess DAD TYPE NATIVE cd sys ter res IF ARCH_NAME EQS Alpha THEN DIR_EXE sys TER alpha ELSE DIR_EXE sys TER ia64 IF P1 EQS T THEN DIR_EXE sys TER trans TYPE TRANSLATED GOTO OK ENDIF REPONSE N cd ia64 read time_out 5 sys command prompt VEVILLEZ CHOISIR LE TYPE E EXECUTION Native Translated N end_of_file OK AP PP PP A EP Co A REPONSE IF REPONSE EQS T THEN DIR_EXE sys TER trans TYPE TRANSLATED cd translated ENDIF ENDIF OK FILENAME F SEARCH DIR_EXE EXE IF FSLENGTH FILENAME EQ 0 THEN mess ERR LE REPERTOIRE f trninm DIR_EXE EST VIDE IF TYPE EQS NATIVE THEN mess COMMENCER PAR COMPILER LES SOURCES AVEC LE BATCH KEE Master 1 STIC informatique page 53 Travail d tude et de recherche 2004 2005 mess CO c MPILE COM ELSE mess COMMENCER PAR TRADUIRE LES BINAIRE AVEC LE BATCH mess TRANSLATE COM ENDIF GOTO END ENDIF mess PHASE D EXECUTION TYPE LIMIT COUNTER 5 AAA AP TOP BASENAME f element 0 f element 1 FILENAME BASENAME f
43. herche des composants de OpenVMS pouvant tre mis en migration commun dans un cluster mixte par Abounada amp Boukadida par Ksouri Mohamed KOSTOV Dimitre Limitations par kostov KSOURI F Sonia S SS Construction du document rendre par toute l quipe KEE Master 1 STIC informatique page 7 Travail d tude et de recherche 2004 2005 Malheureusement quelques difficult s se sont pr sent es en cours de route et nous avons d op rer des changements mineurs sur la r partition des t ches sur les personnes et sur le temps pour y palier La r duction de l effectif de l quipe trois tudiants a fait qu on a pris un petit retard sur la partie limitations li es au fait d tre en cluster Aussi avons nous n glig l application de la Fran aise des jeux faute de fourniture n cessaire de leur part pour des raisons de confidentialit il leur a t impossible de divulguer leur code source Nous n avons m me pas des d mos de binaires Nous nous tions donc content d une tude th orique qui a oppos les deux architectures qui a bien r pondu aux besoins et qui a exhib clairement les r gles de migration dans le cas g n ral suivie d un grand nombre de tests que nous avons crits ou choisis nous m me pour v rifier l exactitude de nos r sultats Nous avons m me charg cette partie plus que pr vue pour compenser l absence d application mettant ainsi l accent sur la pratique comme
44. instructions d acc s m moires en lecture Comme ceci a t expliqu dans le paragraphe pr c dent il int ressant de lancer l instruction de chargement au plut t afin de r duire la latence de ces acc s en lecture Un probl me peut se poser lorsqu une instruction de stockage STOTRE la m me adresse est ex cut e entre le chargement avanc et l instruction qui utilise la donn e charg e Comme bien souvent le mode d adressage utilis par les instructions m moire est l adressage indirect il devient impossible de d tecter cette situation de d pendance entre les instructions m moires d et st Le code suivant explique le probleme a travers un exemple ld8 r7 r14 cycle 4 initialiser le registre r7 Sc d autres instructions st4 rl r3 cycle 0 barri re de store ld4 r6 r7 cycle 0 load monter add r10 r6 rl cycle 2 utilisation de la donn e charg e Dans cet exemple il est int ressant de remonter l instruction d4 au plus t t afin d assurer la pr sence de la donn e dans r6 avant le d but de l ex cution de l instruction add r10 r6 rl La pr sence du st4 r1 r3 emp che cela car les contenus de r1 et r7 peuvent tre identiques Autrement dit r7 et r7 sont deux alias de la m me adresse En effet dans ce cas la donn charg e par d4 sera modifi par le st4 De ce fait l instruction add ne va pas additionner la valeur apr s le st mais avant cette instruction Puisque le
45. it ration i La fin de la boucle se he Master 1 STIC informatique page 29 Travail d tude et de recherche 2004 2005 termine par deux boucles pilogue r alisant le traitement des deux derniers l ments qui ont t d j charg s mais non encore trait s ai a i bi bli p ai bi pilogue Temps Voici notre exemple apr s transformation prologue ai a 0 bi b 0 p ai bi ai a 1 p ai bi ai a 1 bi b 1 pipeline logiciel for 2 i1 lt N itt sum Dp p ai bi ai afi bi bfi pilogue sum p p ai bi SUM p Il est clair que l un des inconv nients majeurs de cette technique est l augmentation de la taille du code Par cons quent le compilateur ne devra r aliser cette transformation que le lorsque le gain de performances apport par cette technique est important Ceci revient ne consid rer que les boucles avec un grand nombre d it rations Dans le cas de lItanium cette contrainte est lev e car le processeur est dot d outils logiciels et mat riel permettant une utilisation efficace du pipeline logiciel sans avoir ajouter du code pour les parties prologue et pilogue de la boucle KEE Master 1 STIC informatique page 30 Travail d tude et de recherche 2004 2005 Chapitre 4 De Alpha vers Itanium etude exp rimentale Tests et Benchmarks Pour comparer les performances des deux processeurs ALPH
46. l ment de la liste moins qu on ait d j charger le pr c dent Cette limitation est in vitable a moins de r crire le code Ici on va voir l importance du parall lisme de thread En effet on peut tr s bien utiliser le multi threading simultan e en ex cutant un autre programme ou une autre thread du m me programme sur d autres unit s fonctionnelles d j initialis es Mais comment est ce possible En fait le m canisme de multi threading simultan es transforme le parall lisme au niveau des threads en un parall lisme au niveau des instructions Un processeur Alpha ex cution d sordonn e d instructions un m canisme de chargement d instructions FETCH ordonn et un m canisme d ex cution d sordonn Les instructions sont prises dans l ordre de leur apparition dans le programme puis ex cut es dans un ordre d termin par les d pendances existantes entre elles Entre le FETCH et la portion de la machine o sera ex cut e la donn e il y a une queue Les instructions y attendent d tre trait es he Master 1 STIC informatique page 19 Travail d tude et de recherche 2004 2005 C est peu pr s ceci FETCH ordonn queue ex cution d sordonn es sortie ordonn SMT est impl ment de fa on permettre un FETCH d un thread diff rent a chaque cycle Les instructions cherch es FETCH voient leurs registres renomm s voir 3 1 2 et sont plac es dans une queue Gr ce au reno
47. lui m me cette optimisation pargnant ainsi le processeur de faire ceci d une mani re mat rielle Cependant le compilateur pourrait ne pas tre assez efficace On va voir ce qu il en est pour l Itanium plus loin 1 1 2 Renommage des registres Toujours d une fa on dynamique C est l op ration magique qui permet de transformer une instruction utilisant des registres architecturaux en une instruction utilisant des registres physiques Ce renommage vise viter qu une valeur encore n cessaire ne soit effac e L exemple suivant pr sente un bloc lin aire similaire de 4 instructions Notons que le deuxi me chargement r utilise le m me registre que le premier Un compilateur n aurait pas pu faire un ordonnancement statique pour un processeur ex cution d sordonn e d instructions en d pla ant le deuxi me LOAD avant le ADD qui le pr c de parce que ceci aurait cras l entr e du ADD Dans un processeur ex cution d sordonn e d instructions les registres architecturaux sont reli s a des registres physiques et le r sultat de chaque instruction est crit dans un registre physique distinct Ceci vite le probl me d effacement de donn es et permet au processeur de d placer le second LOAD devant le ADD Dans l ordre Dans le d sordre t1 load a0 0 t1 load a0 0 p1 load a0 t2 add t1 1 1 p3 load ai t1 load a1 2 1 t1 add t1 1 3 t2 addT1 1 2 t1 load a1 3 p2 add p71 1 p4 p3
48. mes de donn es en se contentant de r soudre un syst me d quations lin aires en utilisant des matrices de taille 100x100 Deux versions ont t test es et chaque version a t optimis e avec le loop unrolling La premi re version ex cute ses instructions sur des flottants en simple pr cision GP ROLL SP_UNROLL et la seconde en double pr cision DP_ROLL DP_UNROLL On remarque rapidement qu en double pr cision les performances ont chut ce qui semble normal car les calculs en doubles pr cisions sont plus couteaux en nombre de cycle que ceux en pr cision simple ee Master 1 STIC informatique page 42 Travail d tude et de recherche 2004 2005 Chapitre 5 M thodologie de migration d applications OpenVMS Alpha OpenVMS IA64 1 Introduction L architecture OpenVMS 164 est bas sur le mod le 64 bit et sur des fonctionnalit s similaires a celles de l architecture Alpha ainsi la plus part d applications qui tournaient sur OpenVMS alpha peuvent aujourd hui tre port es sur la nouvelle architecture 164 avec un effort minime OpenVMS Alpha et OpenVMS 164 sont deux variantes de OpenVMS qui sont produites a partir du m me code source et par la suite tous aspects non d pendant du mat riel a t incorpor dans les deux version sans changements aux sources minimisant ainsi le temps d effectuer des testes de qualifications et assurant la disponibilit des applications critiques sur les deux pl
49. mmage de registres des instructions issues de diff rents threads sont m lang es dans la queue et peuvent tre ex cut es dans un m me cycle Voyons maintenant qu en est il d une autre architecture qui elle aussi en est une 64 bits mais qui est tout aux antipodes de la premi re 2 Le microprocesseur Itanium Dans cette partie nous pr sentons les fondements de l architecture des processeurs Itanium Comme ceci a t dit dans le paragraphe pr c dent l Itanium tire une bonne partie de ses performances du fait qu il expose au compilateur le parall lisme employ par le processeur Dans flltanium une partie importante du travail habituellement faite par le processeur pendant l ex cution du programme se trouve transf r e au compilateur Ce dernier a une vue plus large sur le code ex cuter et dispose d une quantit de ressource beaucoup plus grande que le processeur Par cons quent cette approche offre plusieurs avantages notamment une simplification de l architecture et une augmentation du degr de parall lisme Elle requiert n anmoins de la part du compilateur et du d veloppeur des connaissances l mentaires sur la fa on dont le code est ex cut par le processeur Une connaissance du jeu d instructions et des ressources mat rielles de l architecture Itanium est donc utile pour exploiter pleinement ces avantages Voyons de plus pr s les aspects architecturaux de ce processeur Nous allons bien d tailler
50. mple suivant if rl r2 r3 r4 else r7 r6 r5 Habituellement cette s quence est traduite en langage machine en suivant le sch ma suivant 1 Tester galit de r1 0 2 Si r sultat faux aller 5 3 r2 r3 r4 4 aller 6 5 r7 r6 r5 6 fin Le probl me pos avec ce sch ma concerne l instruction 1 Elle doit tre termin e avant de pouvoir commencer le reste des instructions afin de choisir l une des deux voies soit celle qui commence en 2 soit celle qui commence en 5 De ce fait si le calcul dert d pend d une autre valeur n cessitant beaucoup de temps l instruction 1 peut tre retard e d un grand nombre de cycles Cette situation peut ralentir la vitesse d ex cution du programme La solution la plus souvent adapt e consiste faire une pr diction du r sultat du test Cette pr diction consiste en g n ral m moriser le r sultat du dernier test et l utiliser de nouveau comme nouveau r sultat Itanium 2 fait mieux que a et il propose deux nouveaux m canismes de pr dictions de branchement Le premier consiste contr ler le m canisme de pr diction par des indications fournies par le compilateur Ces indications sont cod es dans l instruction de branchement c est une pr diction statique De ce fait d s que l instruction est lue le processeur conna t le conseil donn par le compilateur pour r aliser la pr diction Ce m canisme est utilis pour les instru
51. niversit de Tours http www blois univ tours fr marcel archi node195 html 4 document sur les clusters http www transtec de D F IT Kompendium ITKnowHow Clusters HighAvailabilityCluster html Livres 1 The VMS User s Guide Digital Press James F Petrs III Patrick J Holmay 2 lA 64 linux kernel design and implementation hp invent David Mosberger St phane eranian 3 Assembleur Micro Application Pierre Maurette 4 The Theory of Parsing Translation and Compiling Volume Parsing Alfred V Aho Jeffry D Ullman 5 Les processeurs Itanium eyrolles Smail Nar 6 Compilateurs Principes techniques et ou outils InterEditions Alfred aho Ravi Sethi Jeffrey Ullman ee ee Master 1 STIC informatique page 51 Travail d tude et de recherche 2004 2005 Autres supports http www raytheon computers com ref docs alpha_ia64 pdf http www lsr imag fr Les Personnes Martin Heusse Appr eaPres Architectures64bits pdf www decus de sig vms TUD 2004 VMS Update PDF Kaes Master 1 STIC informatique page 52 Travail d tude et de recherche 2004 2005 Annexe A Exemple d un fichier de commande DCL EE TER MAITRISE INFORMATIQUE 2005 ABOUNADA SAMI BOUKADIDA MOHAMED J KSOURI SONIA script qui lance l ex cution des benchmarks et sauvgarde leurs resultats La sortie standard des benchs est redirig e vers des fichiers de sauvgarde Par ex Si le benc
52. par des bits de signe d calage arithm tique rp shr u r1 r2 r3 D caler r2 de r3 positions droite r sultat dans r1 Compl ter par des z ros d calage logique 2 4 4 Les instructions de comparaison La structure g n rale d une instruction de comparaison est la suivante ee Master 1 STIC informatique page 24 Travail d tude et de recherche 2004 2005 rp cmp relComp typeCom pl p2 r2 ou imms r3 Les parties relcomp et typeComp compl tent le code op ration cmp Le premier champ re Comp relation de comparaison est obligatoire et indique la relation sur laquelle porte l op ration de comparaison Le deuxi me champ typeComp type de comparaison n et pas obligatoire Lorsqu il est pr sent il indique de quelle mani re les registres de pr dicats sont positionn s 2 4 5 Les instructions de branchement Dans l Itanium une attention particuli re a t r serv e aux instructions de branchement Il existe un grand nombre de variantes d instruction de branchement qui ont toutes comme mn monique br Le tableau suivant donne les instructions br les plus courantes et les plus importantes rp br cond bwh ph dh Branchement conditionnel relatif la position tiquette25 courante IP relatif rp br cond bwh ph dh b2 Branchement conditionnel indirect par l utilisation de registre de branchement b2 rp br call bwh ph dh Branchement ou appel vers une fonction b1 tiquette25 rep r e
53. par l tiquette tiquette25 b1 contient l adresse retour rp br cloop bwh ph dh Tant que le registre d application ar lc est non tiquette25 nul aller tiquette25 bwh repr sente l indication donn e par le compilateur pour la pr diction de branchement ph Prefech Hint repr sente l indication donn e par le compilateur pour le pr chargement des instructions dans le cache Dh branch cache Deallocation Hint repr sente l indication don e par le compilateur concernant la probabilit de r ex cution ou non de l instruction de branchement tiquette25 indique une tiquette sur 25 bits La derni re instruction de tableau br cloop est utilis e pour ex cuter des boucles du type for en C ou DO en FORTRAN Il existe une autre version de br largement utilis e pour r aliser le pipeline logiciel 2 4 6 Les instructions d acc s m moire L Itanium reprends le principe de instructions RISC pour les instructions m moires Ce principe consiste ne r aliser les acc s m moire qu travers les deux instructions de chargement LOAD et de stockage STORE Il existe des instructions d di e aux acc s m moire pour charger u stocker les registres flottants KEE Master 1 STIC informatique page 25 Travail d tude et de recherche 2004 2005 2 5 Les techniques avanc es pour la sp culation dans l Itanium 2 5 1 La sp culation de contr le Dans la section 2 2 d di e au fichier de regist
54. res nous avons d j mentionn l utilisation des bits NaT et NaTValue pour l ex cution des instructions de chargement sp culatif Nous allons d taill maintenant ce m canisme Comme le montre l exemple qui suit I ltanium utilise la technique des chargements sp culatifs avanc s pour cacher la latence des instructions m moires Ainsi au lieu de r aliser l instruction de chargement juste avant l instruction utilisant la donn e charg e le chargement est d plac suffisamment l avance pour viter de faire attendre les instructions suivantes et augmenter de ce fait les performances N anmoins si le principe para t simple les instructions de branchement peuvent limiter cette utilisation En effet sans utiliser de sp culation il est impossible de faire remonter une instruction de chargement plus haut que la premi re instruction de branchement conditionnelle Cela peut alt rer le contenu du registre destination et peut provoquer la g n ration d exceptions suite l acc s m moire adresse ill gale ou d faut de page par exemple Pour cette raison l Itanium utilise une technique originale permettant de s parer d une part le lancement de l instruction de chargement et d autre part la d tection et la prise en charge de l exception si celle ci se produit Comme le montre l exemple suivant le m canisme utilise deux instructions d s et chk s Dans notre exemple l instruction d8 s r1 adress lance l op ration de
55. ssstsvsssosecssssssssasasesssvessessessesess secede ssossccosssvcsessesasesess sosssssssvsssecssasscs sc sosseessasteses 51 ANNEXE egene eege Eege REECH 53 EXEMPLE D UN FICHIER DE COMMANDE DCL ssmennnnmnnsnnnenernnsenensrensennsee 53 ANNEXE B eege EE N Eege Eege eege 55 LOGICIELS INSTALLES POUR L ETUDE EXPERIMENTALE ssnssssessnessenennsnense 55 KEE Master 1 STIC informatique page 4 Travail d tude et de recherche 2004 2005 he Master 1 STIC informatique page 5 Travail d tude et de recherche 2004 2005 Chapitre 1 Pr sentation g n rale du travail effectu 1 Introduction Le sujet de ce travail d tude et de recherche tant la migration d applications sous OpenVMS d un environnement Alpha vers un environnement Itanium Ce sujet est propos par Hewlett Packard concepteur du processeur Itanium en collaboration avec Intel successeur de l ancien constructeur Digital et donc d tenteur actuel des droits sur le syst me d exploitation OpenVMS Le travail r alis a consist en l tude minutieuse des caract ristiques de chacun des deux processeurs Alpha et son successeur Itanium ainsi que du syst me OpenVMS Cette tape a d bouch sur la d termination de la possibilit de la migration d une plateforme l autre et a permis l laboration d une m thodologie th orique qui en donne les r gles Par la suite un assez vaste travail pratique a permis de corroborer les r sultats th oriques et de l
56. t diminue la latence du m moire Les it rations sont de petites tailles et peuvent tenir dans la cache de telle sorte minimiser les Cache miss Flops c est divis en 8 modules M ind pendants qui calculent l int grale de diverses fonctions math matiques complexes et 4 unit s de tests U qui ne sont que des combinaisons des modules d j voqu s de la fa on suivante U1 5 M2 M3 U2 M1 M3 M4 M5 M6 4 M7 U3 MT M3 M4 M5 M6 M7 M8 U4 M3 M4 M6 M8 Le tableau suivant d crit pour chaque module le nombre d instructions virgule flottante par it ration Module FADD FSUB FMUL FDIV TOTAL M1 7 Jo l6 ID 14 m hB 2 1 1 M3 6 h2 9 b 7 m 7 In 8 b l5 M5 Im Jo 5 n 29 me 13 lo 6 o 2 m hB hB B3 h 2 M8 Im o 17 In T30 u a 12 m4 5 5 U2 58 14 S 14 152 u3 62 5 2 5 l6 u4 3 2 50 0 Mm LLL ee Master 1 STIC informatique page 34 Travail d tude et de recherche 2004 2005 Parmi les choses qui nous ont marqu es dans ce bench le fait que M8 ex cute 2 5 plus d instructions que son pr d cesseur M7 en 2 fois moins de temps Ceci vient du fait que l op ration Fdiv tr s co teuse en nombre de cycles se voit moins souvent du cot du M8 Enfin comme le montrent les figures suivantes les op rations sur les flottants s ex cutent tr s efficacement sur un IA64 si on fait la comparaison avec
57. t statique des instructions Op rations cod es dans des instructions composites plusieurs champs Analyse des d pendances faite par le compilateur Allocation explicite des ressources faite statiquement par le compilateur Nous allons voir l Itanium qui est une impl mentation de cette architecture Master 1 STIC informatique page 13 Travail d tude et de recherche 2004 2005 Chapitre 3 Alpha versus Itanium tude th orique 1 Le microprocesseur Alpha Les processeurs Alpha sont apparus vers 1992 sur le march Ils ont t produits pour succ der la lign e des VAX Leur production sera stopp e au profit des de l Itanium Ils ont des caract ristiques techniques tr s en avance sur leur temps les performances lev es et les traitements 64 bits ont t une priorit C est une technologie RISC a hautes fr quences de fonctionnement Leurs principaux traits caract ristiques on ne va pas beaucoup s attarder sur les d tails architecturaux ici 1 1 L ex cution dans le d sordre du jeu d instructions Dans le mod le classique d ex cution le processeur va chercher une instruction dans le cache l ex cute met jour les registres et la m moire et passe la suivante Les syst mes pipeline vont au del de ce m canisme s quentiel L ex cution dans le d sordre repose sur le fait de charger plusieurs instructions a la fois a les mettre dans une queue dite fen tre d instr
58. tant une valeur r serv e sp cialement d di e cet effet est charg e dans le registre destination Cette valeur est not e NaTVal Le reste des registres de 32 127 est utilis pour r aliser le pipeline logiciel Ce m canisme sera d taill par la suite e Les registres de pr dicats l Itanium contient aussi 64 registres de pr dicats Ces registres de 1 bit servent liminer les instructions de branchement Ils sont positionn s 1 ou 0 vrai ou faux suivant le r sultat d une comparaison Comme pour les registres g n raux et les registres flottants une partie de pO p15 est statique alors que le reste est utilis pour faire le pipeline logiciel En g n ral l utilisation des registres de pr dicats permet de transformer des sections contenues dans des branchements en une suite d instructions avec pr dicats La KE Master 1 STIC informatique page 22 Travail d tude et de recherche 2004 2005 section d di e aux techniques de sp culation nous donnera plus de d tails e Les registres de branchement L Itanium 2 la machine sur laquelle nous travaillons contient 8 registres de 64 bits destin s contenir les adresses des cibles pour les instructions de branchement indirect e Les registres d application l Itanium contient enfin 128 registre de 64 bits chacun nomm s registres d application Chacun de ces registres a une fonction particuli re et peut tre acc d par l application A titre d
59. traitant quatre instructions par cycle on peut charger les deux prochains l ments alors qu on travaillait d j sur les deux qui les pr c daient et continuer utiliser les unit s fonctionnelles d une fa on beaucoup plus efficace Voici un autre exemple illustrant l appel au parall lisme de thread lorsque le parall lisme d instruction se voit limit Master 1 STIC informatique page 18 Travail d tude et de recherche 2004 2005 While a 0 Work on node a a a gt next deux instructions par cycle ALUO ALU1 0 an load a gt next 1 work a work a 2 work a work a 3 a load an gt next 4 work an work an 5 work an work an quatre instructions par cycle ALUO ALU1 ALU2 ALU4 0 an a gt next 3 5 1 work a work a work a work a 2 3 a load an gt next 4 work an work an work an work an 5 On a chang la structure de donn es utilisant ainsi une liste chain e la place du tableau Sur une machine ex cutant deux instructions par cycle on peut charger le prochain l ment de liste alors qu on travaillait encore sur l l ment courant utilisant de la sorte les unit s fonctionnelles d une fa on efficace Par contre sur une machine 4 instructions par cycles il n est pas possible de trouver davantage du parall lisme On peut simplement traiter un l ment de la liste tous les trois cycles m me si on parall lise le travail sur un l ment On ne peut pas charger le prochain
60. uctions 6 instructions sont lus par cycle et sont envoy s vers le tampon des instructions qui est directement connect aux ports des unit s fonctionnelles 2 3 Ex cution des instructions L ex cution d instructions se fait par la s lection d un groupe de plusieurs instructions Un paquet en est construit nous en verrons dans le paragraphe suivant la m thode de construction La structure de paquet permet de KEE Master 1 STIC informatique page 21 Travail d tude et de recherche 2004 2005 v hiculer les instructions parall les Pour qu un groupe s ex cute il est n cessaire que les instructions qui le composent soient pr tes l ex cution Les unit s fonctionnelles de la partie de la micro architecture charg e de l ex cution sont group es comme suit e Unit s enti res Six au total Un maximum de six instructions enti res peut tre ex cuter chaque cycle e Unit s m moires 4 ports sont connect s l unit m moire cache dont deux doivent tre des instructions de chargement et deux doivent correspondre des instructions de stockage STORE en m moire e Unit s multim dias Il en existe dix Au maximum deux instructions multim dias peuvent tre ex cut es par cycle d horloge Les donn es multim dias sont cod s sur 64 bits et peuvent tre consid r s comme deux donn es sur 32 bits 4donn es sur 16 bits ou 8 donn es sur 8 bits Pour profiter de cette repr sentation plusieurs instru
61. uctions et a les ex cuter suivant une optimisation mat rielle plusieurs instructions par cycle Cette optimisation repose sur la combinaison de quatre techniques 1 1 1 Ordonnancement dynamique Le processeur peut r ordonner dynamiquement c est dire lors de l ex cution les instructions afin de limiter sa latence L exemple suivant pr sente un bloc lin aire de 4 instructions crites dans un pseudo code Consid rons l ex cution de ce block sur une machine qui traite 4 instructions par cycle et qui a une latence m moire de 3 cycles lors du chargement LOAD de la donn e si celle ci est pr sente dans le cache cache hit Dans un pipeline ordonn la s quence prendra 7 cycles supposant que les donn es se trouvent d j dans le cache Dans un pipeline ex cution d sordonn e le processeur va chercher les quatre instructions a la foi et notera que le second LOAD est ind pendant du premier ADD Il va le d placer et KEE Master 1 STIC informatique page 14 Travail d tude et de recherche 2004 2005 l ex cuter avec le premier LOAD Ainsi la s quence n aura co t que 4 cycles Dans l ordre Dans le d sordre t1 load a0 0 t1 load a0 0 t1 load a0 t2 add t1 1 1 t3 load a1 t3 load a1 2 1 t4 add 13 1 3 t2 add t1 1 t3 load a1 3 t2 add t1 1 3 1 4 5 6 t4 add t3 1 videmment si ce n tait pas un bloc lin aire un compilateur intelligent aurait op r
62. un Alpha noter que l on sollicite de nouveau la capacit du compilateur optimiser le code statiquement et qu on l oppose aux optimisations faites par le processeur Alpha dynamiquement en compilant avec diff rents niveaux Level d optimisation RO ALPHA Opt level2 WW 14 64 0pt level2 MFLOPS M1 M2 M3 M4 MS MG M7 MS u1 U2 U3 U4 MODULE KEE Master 1 STIC informatique page 35 2004 2005 Travail d tude et de recherche E A 64 Opt level3 EE EE 1 1 1 1 1 3 1 1 1 D En TES Be ES mm DEE pos 4 EE kel ke Gi O D oO F Sd01 N ETC EE o Kei ke CO w Mi MG MODULE page 36 Master 1 STIC informatique Travail d tude et de recherche 2004 2005 RSA levels 988 1254 0rt level2 MFLOPS M1 M2 M3 M4 M5 M6 M7 M8 u1 U2 U3 ug MODULE Le fait de passer un niveau plus lev d optimisation faite par le compilateur de la machine ltanium a fait que les performances ont tripl Ceci corrobore le fait que ce sont les compilateurs qui ont la responsabilit de produire du bon code bien optimis pour le processeur et qui sont maintenant la charge d exploiter au mieux les unit s fonctionnelles de ce dernier KEE Master 1 STIC informatique page 37 Travail d tude et de recherche 2004 2005 MFLOPS M1 M2 M3 M4 MS M6 M7 MS u1 u2 U3 U4 MODULE QUEENS B
63. utres 32 processeurs maxi par syst me jusqu 96 syst mes par cluster DCL Shell als CLI X 11 MOTIF GUI TCP IP syst me de fichiers ODS 2 ISO 9660 Read FAT R W NFS et SMB le syst me des fichiers supporte Record Management Services RMS utilisation mainframes ordinateurs de bureau serveurs clusters Java Development Kit serveur Web Netscape Fasttrack 2 Cluster OpenVMS KEE Master 1 STIC informatique page 9 Travail d tude et de recherche 2004 2005 2 1 D finition Un cluster en fran ais grappe est une concentration de deux ou plusieurs machines qui acc dent des donn es communes 2 2 G n ralit s et architecture Il existe diff rentes architectures de cluster qui se distinguent par leurs mani res d acc der au domaine de stockage 2 2 1 Principe de partage Un cluster peut adopter l un ou l autre des strat gies de partage suivantes Soit on permet tous les n uds d acc der au m me domaine de stockage Des probl mes de concurrence se posent alors Il faut g rer les acc s parall les en criture OpenVMS contr le tr s bien ce point Soit on exclu l acc s commun aux m mes donn es 2 2 2 Principe du mirroring Avec le principe de mirroring chaque noeud est disponible sur un domaine de stockage refl t sur une connexion de r seau d di e Le terme exact en OpenVMS est le shadowing 2 2 3 La technologie du RAID Elle permet de constituer une unit
64. versitaire C tait aussi une chance de voir de plus pr s le monde industriel vu que ce travail s est d roul en collaboration avec HP qui a ses propres contraintes et qui ne ressemble pas toujours au monde universitaire Aussi avons nous appris de nouvelles connaissances et nous sommes nous familiaris s avec un nouveau syst me d exploitation et des nouvelles plates formes 3 Extensions possibles de ce travail Ce travail pourrait tre repris et poursuivi en vue de couvrir la partie traduction du binaire alpha En effet le m canisme de traduction dans ses d tails pourrait lui seul faire l objet d un travail d tude et de recherche Les quipes futures peuvent compl ter un point rest inachev dans ce projet savoir l tude d une application pratique de l ordre de celle de la Fran aise des jeux qu on a malheureusement pas eu la chance d aborder faute de fourniture Un autre point peut tre trait en extension de ce travail qui est la migration ou plut t le transport d applications Vax la g n ration ant rieure Alpha vers la plate forme Itanium Master 1 STIC informatique page 50 Travail d tude et de recherche 2004 2005 Bibliographie Internet 1 Essentiellement le site OpenVMS de HP http n71000 www7 hp com 2 Le manuel d utilisateur OpenVMS http tigger stcloudstate edu tigger openvms 72final 6489 6489pro html 3 Cours d architecture des ordinateurs IUP GEI de l u
65. yenne de nombre de d placements 25 usec 2511 9407 ALPHA sg z zz ee Master 1 STIC informatique page 39 Travail d tude et de recherche 2004 2005 17 131071 0 01000 327 6775 18 262143 0 01000 655 3575 19 524287 0 03000 436 9058 20 1048575 0 05000 524 2875 21 2097151 0 11000 476 6252 22 4194303 0 20000 524 2879 23 8388607 0 41000 511 5004 24 16777215 0 82000 511 5005 25 33554431 1 66000 505 3378 26 67108863 3 32000 505 3378 27 134217727 6 63000 506 1000 28 268435455 13 25000 506 4820 30 1073741823 53 02000 506 2909 WHETSTONE BENCHMARK Ce benchmark a t programm par Harold Curnow en 1972 en FOTRAN Il mesure les performances du CPU traiter les op rations sur les entiers et les flottants Il est mesur en KWIPS mille Instruction whetsone secondes Le programme contient 8 boucles principales reparties comme suit 3 boucles qui op rent sur les flottants 2 boucles qui op rent sur les appels de fonctions 1 boucle qui contient des affectations 1 boucle qui contient des branchements if then else 1 boucle qui effectue du calcul arithm tique sur les entiers Les 3 premi res boucles se mesurent en MFLOPS et le reste en MOPS million d op rations secondes Lors de la phase de compilation l unique optimisation esp r e par le compilateur est le in lining le fait d incorporer le code de la fonction appel e la place de l app
Download Pdf Manuals
Related Search
Related Contents
TCM-136ART/ARH/FRT/FRH VHF FM Istruzioni d`uso VEGABAR 52 Configuration – Mode d`emploi Doozer Performance Series 1150e - Titan Tool International PDFファイル Ergotron TM Series Tilting Wall Mount The Original Pink Box PB18VREC Use and Care Manual Blu-ray Disc™ / DVD Player BP340 Allied Telesis at-9000/24 User's Manual Copyright © All rights reserved.
Failed to retrieve file