Optimisation des ressources d'un cluster pour le calcul scientifique



Documents pareils
Accès optiques : la nouvelle montée en débit

dénombrement, loi binomiale

NFE107 Urbanisation et architecture des systèmes d information. Juin «La virtualisation» CNAM Lille. Auditeur BAULE.L 1

L information sera transmise selon des signaux de nature et de fréquences différentes (sons, ultrasons, électromagnétiques, électriques).

Des familles de deux enfants

Découvrez les bâtiments* modulaires démontables

Un modèle de composition automatique et distribuée de services web par planification

Module : réponse d un système linéaire

S2I 1. quartz circuit de commande. Figure 1. Engrenage

Bois. P.21 Bois-béton à Paris. Carrefour du Bois. Saturateurs. Usinage fenêtres. Bardages P.25 P.34 P.31 P.37. La revue de l activité Bois en France

Compression scalable d'images vidéo par ondelettes 2D+t

prix par consommateur identiques différents prix par identiques classique 3 unité différents 2 1

DIVERSIFICATION DES ACTIVITES ET PRIVATISATION DES ENTREPRISES DE CHEMIN DE FER : ENSEIGNEMENTS DES EXEMPLES JAPONAIS

Santé et hygiène bucco-dentaire des salariés de la RATP

VOIP. Pr MOUGHIT Mohamed Cours VOIP Pr MOUGHIT Mohamed 1

Architecture des ordinateurs

Procès - Verbal du Conseil Municipal Du lundi 15 décembre 2014

Vous êtes un prestataire touristique dans les Monts de Guéret? L Office de Tourisme du Grand Guéret peut vous accompagner!

TP : Outils de simulation. March 13, 2015

Catalogue 3 Chaine sur Mesure

.NET remoting. Plan. Principes de.net Remoting

Sous le feu des questions

Chambre Régionale de Métiers et de l Artisanat. Région Auvergne. Région Auvergne

Les marchés du crédit dans les PVD

Commande prédictive des systèmes non linéaires dynamiques

En vue de l'obtention du. Présentée et soutenue par Philippe NERISSON Le 5 février 2009

Manuel de l'utilisateur

Tests de performance du matériel

CATALOGUE 2. Chaine avec attachements

Guide Mémoire NETRAM

Guide d utilisation (Version canadienne) Téléphone sans fil DECT 6.0/ avec répondeur et afficheur/ afficheur de l appel en attente CL83101/CL83201/

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Limitations of the Playstation 3 for High Performance Cluster Computing

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Architecture des Ordinateurs. Partie II:

Architecture des calculateurs

Chapitre 1 : Introduction aux bases de données

Gestion de clusters de calcul avec Rocks

Tout savoir sur le matériel informatique

Détection d'intrusions en environnement haute performance

c. Calcul pour une évolution d une proportion entre deux années non consécutives

Rapport 2014 et demande pour Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121

Documents et lieux de mémoire de la persécution et de la déportation des Juifs à Nîmes. Pistes d'intervention auprès des classes de 3e et de 1ère.

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Choix d'un serveur. Choix 1 : HP ProLiant DL380 G7 Base - Xeon E GHz

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

LA CERTIFICATION DES ARMATURES

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Initiation au HPC - Généralités

Structure et fonctionnement d'un ordinateur : hardware

Analyse de la bande passante

Partie 7 : Gestion de la mémoire

«INVESTIR SUR LE MARCHE INERNATIONAL DES ACTIONS A-T-IL PLUS D EFFET SUR LA PERSISTANCE DE LA PERFORMANCE DES FONDS? ILLUSTRATION BRITANNIQUE»

Retrouvez-nous sur esg.fr. Diplôme Bac+5 visé par l État / Grade Master Membre de la Conférence des Grandes Écoles

SIGAMM/CRIMSON COMMISSION UTILISATEUR du 05/12/2014

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

<Insert Picture Here> Exadata Storage Server et DB Machine V2

Une nouvelle génération de serveur

Rapport de l AERES sur la structure fédérative :

Matériel & Logiciels (Hardware & Software)

NOTIONS DE RESEAUX INFORMATIQUES

Projet Active Object

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

CR 15, CRI 15, CRN 15, CRE 15, CRIE 15, CRNE 15

Chapitre 4 : Les mémoires

LTE dans les transports: Au service de nouveaux services

Artica. La déduplication. Révision Du 08 Février 2011 version

Cours 3 : L'ordinateur

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Hyper-V et SC Virtual Machine Manager sous Windows Server 2008 R2

GESTION DE LA MEMOIRE

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Mise en place d'un cluster

L ORDINATEUR. Les composants. La carte mère. Le processeur. Fréquence

Demande d'ap informatique 2012

Exécution des instructions machine

CHAPITRE VIII : Les circuits avec résistances ohmiques

Éléments d'architecture des ordinateurs

Projet IGGI. Infrastructure pour Grappe, Grille et Intranet. Fabrice Dupros. CASCIMODOT - Novembre Systèmes et Technologies de l Information

PLAN DE CLASSIFICATION UNIFORME DES DOCUMENTS DU MSSS

Technologie SDS (Software-Defined Storage) de DataCore

Communications performantes par passage de message entre machines virtuelles co-hébergées

Faulconnier Bastien SIO2. Cahier des charges. Choix et mise en œuvre d'un datacenter pour Infrastructure Cloud. Pour la société :

Parallélisme et Répartition

<Insert Picture Here> Solaris pour la base de donnés Oracle

Retours d expériences et perspectives sur les aspects énergétiques

Module 0 : Présentation de Windows 2000

Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales

1 LE L S S ERV R EURS Si 5

Diagrammes de Package, de déploiement et de composants UML

Le Raid c est quoi? Comment ca marche? Les différents modes RAID :

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

ENREGISTREUR DE TEMPERATURE

Transcription:

DELHAY Damien ES Raort d'assistant Ingénieur 4ème année du Cycle Ingénieur à Polytech Paris Sud mai au août 04 Tuteur école : François Samouth Mail : francois.samouth@u-sud.fr Otimisation des ressources d'un cluster our le calcul scientifique Société : LUMAT Adresse : Bâtiment 0, Université Paris Sud, Orsay, 9405 Date du stage : mai au er août 04 Tuteur de l'entrerise : Philie Dos Santos Mail : hilie.dos-santos@u-sud.fr

Table des matières Remerciements...3 Introduction...4 I/ Présentation de la fédération LUMAT...5 I.. La Fédération...5 I.. Plate-formes...6 I.3. GMPCS...6 I.3.) Périmètre...6 I.3.) Descritions matérielles et logicielles...7 II/ Otimisation des calculs sur la grae... II.. Introduction... II.. Généralités sur les calculs arallèles... II.3. iveaux de arallélismes étudiés...0 II.3.) Parallélisme sur un seul nœud...0 II.3.) Parallélisme sur lusieurs nœuds...0 II.4. Descrition matérielle... III/ Performance de la arallélisation our la multilication de matrices... III.. Résultats sur un seul nœud... III..) Méthodes et réalisation...3 III..) Résultats...3 III..3) Otimisations...4 III..4) Comaraison avec une librairie existante...5 III.. Performances sur lusieurs nœuds...6 III..) Méthodes et réalisation...6 III..) Résultats...7 III..3) Otimisations...9 III..4) Comaraison avec une librairie existante... IV/ Méthodologie our otimiser les ressources de calcul... IV.. Mesures sur un nœud... IV.. Mesures sur lusieurs nœuds...3 Conclusion...4 Bibliograhie...5 Annexes...6 Annexe : Lexiques...6 Annexe : Architecture Ivy Bridge...7 Annexe 3 : Multilication sur nœud en mémoire artagée...7 Annexe 4 : Accélération sur un rocesseur Ivy Bridge... Annexe 5 : Accélération sur un rocesseur Sandy Bridge... Annexe 6 : Courbes de tems de communication sur lusieurs nœuds...9 Annexe 7 : Raort ersonnel...30-3

Remerciements Je remercie Philie Dos Santos, mon tuteur de stage, et Georges Raseev our m'avoir encadré durant ce stage sur la grae GMPCS, our leur disonibilité, soutien et leurs conseils tout au long de ce travail. Je remercie également Yves Bergougnoux, Oliver De Kermoysan et Jean-Yves Bazzara, ainsi que tout le ersonnel de l'ismo. Je remercie aussi tous les chercheurs, ingénieurs, techniciens et administratifs travaillant dans les locaux du bâtiment 0 our leur accueil chaleureux. Je tiens à remercier Cédric Koeniguer d'avoir été la our nous encourager durant nos recherches et nos ériodes de stage et François Samouth, our sa bienveillance au bon déroulement du stage. 3-3

Introduction La Grae Massivement Parallèle de Calcul Scientifique est une late-forme de la fédération LUmièreMATière utilisée ar les chercheurs our effectuer des calculs scientifiques de haute erformance. La mission de mon stage est d'otimiser les allocations des ressources de la grae our les calculs arallèles. Pour ce faire, je vais m'auyer sur l'algorithme de la multilication de matrice, qui est entièrement arallélisable, afin d'observer les limitations du arallélisme sur un et sur lusieurs nœuds. Puis, je généraliserai au cas d'un rogramme donné qui n'est as comlément arallélisable. Dans un remier tems, je résenterai le contexte de mon stage. Puis, j étudierai les rincies de la arallélisation sur un et lusieurs nœuds. Enfin, j'aorterai des recommandations our otimiser les ressources de la grae. Enfin, dans l'annexe, le lecteur trouvera un lexique des termes techniques our l'aider dans sa lecture du raort. 4-3

I/ Présentation de la fédération LUMAT I.. La Fédération La fédération Lumière Matière LUMAT est une fédération de recherche, regrouant quatre laboratoires situés dans l'université d'orsay : le Laboratoire Charles Fabry (LCF), l'institut des Sciences Moléculaires d'orsay (ISMO), le Laboratoire de Physique des Gaz et des Plasmas (LPGP) et le Laboratoire Aimé Cotton (LAC). LUMAT est comosé d'environ 30 ersonnes ermanentes, qui sont rattachés au Centre ational de la Recherche Scientifique (CRS), à l'université Paris-Sud (UPS) ou à l'institut d'otique Graduate School (IOGS). Ces 30 ersonnes sont constituées de : - 5 chercheurs - 75 enseignant-chercheurs - 30 ingénieurs, techniciens et administratifs L'organigramme de la fédération s'établit comme ceci: Figure : Organigramme du LUMAT 5-3

I.. Plate-formes L'un des objectifs de LUMAT est de favoriser l'animation et la collaboration entre les différents laboratoires. Elle a mis en lace lusieurs lates-formes instrumentales réondant à la besoin de mutualisation du moyen et savoir-faire de cette fédération à l'ensemble de la recherche. En effet, elles sont ouvertes à l'extérieur et euvent être adatée à d'autres discilines. Les lates-formes sont : - Le Centre Laser de l'université Paris-Sud (CLUPS) - La Centrale d Élaboration et de Météorologie des Otiques X-UV (CEMOX) - La late-forme de mesure et d acquisition des données «Détection : Tems, Position, Images» (DTPI) - La Grae Massivement Parallèle de Calcul Scientifique (GMPCS) sur laquelle j'ai réalisé ce stage. I.3. GMPCS I.3.) Périmètre La volonté de mise en commun des cométences et du matérielles, à amener la fédération LUMAT à acquérir, en 00, la GMPCS our offrir aux scientifiques des moyens de calcul lus erformants que ceux disonibles dans un laboratoire. En effet, il y a 4 catégories de calculateurs en fonction de leurs uissances de calculs. La GMPCS est situé dans celle des mésocentres. Mesure de la erformance ar Floating oint Oérations Per Second (FLOPS) Centre Téra=0¹² Péta = 0¹⁵ Euroéen 0 PétaFLOPS Centre ational PétaFLOPS Mésocentre 0 TéraFLOPS Laboratoire 0, TéraFLOPS Figure : Hiérarchie des centres de calculs scientifiques La GMPCS n'est as le seul calculateur résent à côté de l'université Paris-Sud, il y a le mésocentre informatique d'ile de France Sud à Orsay ou l'institut du Déveloement et des Ressources en Informatique Scientifique (IDRIS) qui ossède un calculateur d'ordre national. Ceendant, le tems de file d'attente de ces calculateurs est lus long que celle de la GMPCS, qui est quasi-immédiat. 6-3

I.3.) Descritions matérielles et logicielles Assemblé ar la société Transtec, la GMPCS est un un regrouement de lusieurs ordinateurs indéendants aelés nœuds qui sont connectés à un nœud maître. Cette grae de calcul est dédié au calcul intensif et ermet d'additionner la uissance de calculs de tous les nœuds. Le nœud maître est l'unique oint d'accès à la grae. Il va s'occuer de : - la gestion des nœuds, il gère le déloiement des systèmes d'exloitation via le logiciel xcat - la gestion des jobs grâce à des scrits SLURM qui ermet la soumission de traitement ar lots (batch), - du suivi de charge des autres nœuds avec Ganglia, - la gestion des données des utilisateurs qui se trouveront exclusivement sur le nœud maître. La figure suivante résente l'architecture matérielle de la grae. Figure 3: Architecture de la grae de calcul Les nœuds sont reliés à 3 réseaux qui ont chacun leurs fonctions : - Le réseau d'administration utilisant le rotocole Ethernet, est utilisé our le artage et les transferts de dossiers entre les utilisateurs et également our l'envoi des codes sur les nœuds. - Le réseau de gestion à distance utilisant le rotocole Ethernet, est utilisé our la gestion des nœuds ar le nœud maître. - Le réseau dédié au calcul utilisant l'infiniband, un réseau lus raide que les récédents, est utilisé our les calculs arallèles entre les nœuds. 7-3

II/ Otimisation des calculs sur la grae II.. Introduction Deuis des années, l'architecture des rocesseurs comorte lusieurs unités de calcul aelés cœurs. Les graes de calcul, comme la Grae Massivement Parallèle de Calcul Scientifique (GMPCS), comortent des nœuds, actuellement chaque nœud ossède deux rocesseurs. ous sommes en résence de grae ayant des centaines voir des milliers d'unités de calcul (cœurs). Un calcul scientifique est : - séquentiel, quand il utilise un seul cœur; - arallèle, quand il utilise lusieurs cœurs sur un seul nœud ou lusieurs cœurs sur lusieurs nœuds. Il en résulte une diminution du tems de calcul. L'objectif de ce stage va être d'otimiser les ressources de la grae our les calculs arallèles en fonction du niveau de arallélisme mesuré. Le arallélisme actuel des ordinateurs est sous-exloités ar les utilisateurs. En effet, un rogramme comorte majoritairement les arties séquentielles et arallèles. En fonction du raort entre ces arties, séquentielle et arallèle, et des directives de arallélisation, un rogramme eut utiliser lus ou moins efficacement la structure arallèle des rocesseurs actuels. Pour analyser la arallélisation, nous utiliserons la multilication de matrices. En effet, cette multilication est une oération simle mais de comlexité ³ (, taille de matrice). Elle consiste à faire des multilication et additions des lignes ou colonnes. Exression mathématique n c ij = aik bkj k= C= A B Exression informatique indice ligne for( i ) indice colonne for( j ) for( k ) indice curseur c[ i ][ j ]=c[ i ][ j ] + a[ i ][ k ] x b[ k ][ j ] ; La multilication de matrices est entièrement arallélisable et convient arfaitement à l'analyse de la arallélisation de rogrammes. De lus, elle est largement utilisée dans les rogrammes des utilisateurs de la communauté scientifique. Finalement, comme ci-dessus, elle eut être rogrammé «naïvement» ou on eut utiliser des librairies otimisées comme la MKL d'intel. II.. Généralités sur les calculs arallèles Un code eut être arallélisé lorsqu'il y a des calculs indéendants les uns des autres. C'est le cas des boucles de la multilication de matrices résentée ci-dessus. Le tems d exécution d'un calcul arallèle T() décomosé en 3 arties : T ( )=s + +c -3

- s la artie séquentielle, - la artie arallèle, divisée ar le nombre d'unités de calcul exécutant le rogramme, - c la artie communication entre les différents rocessus et corresond aux transfert de données entre les différents cœurs et/ou nœuds. L'utilisation de unités de calcul en arallèle va ermettre de diviser le tems d'exécution de la artie arallèle ar, sans our autant diminuer les autres arties (séquentielle et communication). Suivant la loi d'amdhal, l'accélération d'un rogramme arallélisé va ermettre d'estimer le gain de erformance d'un rogramme ar raort à l'utilisation d'une seule unité de calcul. Soient T(), le tems de calcul avec une seule unité de calcul (il n'y a as de communication our un rocessus seul) et T(), le tems de calcul avec unités de calcul utilisées en arallèle. Cette loi décrit l'accélération A() d'un rogramme: A ( )= T () s+ = = < avec T ()=s+ = T ( ) s +c s+ + c s+ + c Cette loi montre les limites des calculs arallèles uisque les arties séquentielle et communication vont imoser une limite à l'accélération. Figure 4: Courbes de l'accélération d'amdhal en fonction du nombre d'unités de calcul Par exemle (cf Figure 4), une ortion de séquentielle/communication de 5 % limite l'accélération du rogramme à 0 maximum. Ceendant, cette loi est idéale car elle ne rend as en comte les créations et destructions des différents rocessus, les transferts entre les mémoires et les unités de calcul, le tems de synchronisations et d'ordonnancement. 9-3

II.3. iveaux de arallélismes étudiés Dans la suite du texte, le travail aborde le arallélisme du oint de vue utilisateur. Il y a deux tyes de calculs arallèles : - mémoire artagée (OMP) qui s'effectue sur un seul nœud uniquement. - mémoire distribuée (MPI) qui eut s'effectuer sur un ou lusieurs nœuds. II.3.) Parallélisme sur un seul nœud La figure 5 résente un schéma ayant deux unités de calcul qui ont une mémoire artagée et des caches. Les caches sont des mémoires à accès raides de etites tailles. Chaque cœur est reliés à son cache L et L. Tandis que le cache L3, comme la mémoire RAM, est artagé entre les cœurs. Figure 5: Schéma de la mémoire artagée Sur un nœud, nous ouvons utiliser l'interface rogrammable OenMP (Oen Multi-Processing) ou la norme MPI (Message Passing Interface), que l'on décrira lus récisément dans la suite du texte. La méthode OenMP (mémoire artagée) est très aréciée des utilisateurs car on l'utilise sans changer l'architecture du code. En effet, il suffit de lacer une directive (#ragma) devant la artie du code à aralléliser. Il ne restera lus qu'à choisir les variables rivées et artagées entre les rocessus, ainsi que le nombre de cœurs que l'on veut alloués au rogramme. En OenMP (mémoire artagée) ou MPI (mémoire distribuée), sur un seul nœud, le rocesseur coie les données en mémoire, donc le transfert de données entre les différents cœurs est extrêmement raide. La artie communication, c, devient négligeable et l'accélération s'écrit: A n= ( )= T () = ; lim A n= ( )= avec n le nombre de nœud T ( ) s s+ Il résulte que le ourcentage de la artie séquentielle limite l'accélération indéendamment du nombre de coeurs utilisé. En lus de ces questions générales, nous analyserons les différentes réartitions des rocessus sur un nœud: regrouer les cœurs sur un même rocesseur, ou diserser les cœurs sur les deux rocesseurs. II.3.) Parallélisme sur lusieurs nœuds La arallélisation sur lusieurs nœuds s'effectue ar l exécution d'un seul rogramme sur l'ensemble des nœuds. ous effectuons cette arallélisation en utilisant la norme Message Passing Interface (MPI) avec l'imlémentation OenMPI. La mémoire est localisée sur des nœuds différents, donc il s'agit d'une mémoire distribuée. Le nombre de rocessus arallèles et la caacité mémoire euvent être augmentés en fonction du nombre de nœuds disonibles. 0-3

La communication entre les nœuds est réalisée ar des messages à travers le réseau. Avec la norme MPI, ils faut exlicitement attribuer les tâches à chaque unité de calcul (cœur) et donc modifier rofondément l'architecture du code. Contrairement à la arallélisation sur un seul nœud, la distribution des taches entre les nœuds occue un tems de communication non négligeable. La figure 6 résente un schéma de la mémoire distribuée de 4 nœuds avec un rocesseur ar nœuds. Les mémoires sont rores à chaque nœuds. Les nœuds communiquent entre eux ar le réseau. Réseau Figure 6: Schéma de la mémoire distribuée (MPI) Lors d'un calcul à mémoire distribuée, le transfert de données entre les différents nœuds asse ar le réseau et comaré au transfert de mémoire, la artie communication n'est lus négligeable et l'accélération de la loi d'amdhal redevient : A n >( )= T ( ) = T ( ) ; lim A n> ( )= avec n le nombre de nœud s+ c s+ + c Pour augmenter l'accélération, il faut minimiser les tems de communications entre rocessus. Le tems de communication déend de deux éléments : - a, le tems de latence nécessaire our établir la communication entre les rocessus, en secondes. - b, le débit de données maximum, en secondes ar octets. Il s'agit de l'inverse de la bande assante. Le tems de communication our B octets s'écrit : T comm T ( ) La grae de calcul utilise deux moyens de transmissions, l'infiniband ou l'ethernet. Voici leurs caractéristiques théoriques : T comm=α+β B et c= Latence [ms] Bande assante [Gb/s] InfiniBand 40 Ethernet 50-3

II.4. Descrition matérielle Les rogrammes ont été exécutés sur les nœuds équiés de rocesseurs Intel Xeon E5 670 v. Un nœud ossède deux CPU ayant une architecture Ivy Bridge avec 0 cœurs. A l intérieur d'un CPU, les caches L et L sont rores à chaque cœur et le cache L3 est commun à tous les cœurs d'un même rocesseur. Pour transférer les données du cache L3 aux cœurs, un Ring Bus est situé autour du cache L3 et a une bande assante de 44Go/s. (cf. Annexe : Schéma de l'architecture d'un CPU Ivy Brigde) LA figure résente l'architecture d'un nœud de la GMPCS. Chaque rocesseur est relié à la RAM ar 4 canaux mémoire DDR3 et à l'autre rocesseur ar liens QPI. Les débits entre les différents éléments ne sont as identiques. Deux liens QPI relient les rocesseurs entre eux. Un lien QPI a un débit de GT/s, au total 3Go/s. Alors que 4 liens DDR3 qui relient la RAM et le CPU ont un débit de l'ordre de 60Go/s. DDR3 RAM DDR3 CPU Ivy Brigde QPI QPI 57,4Go/s RAM 0 coeurs 0 coeurs 4 canaux DDR3 CPU Ivy Brigde liens QPI 3 Go/s 4 canaux DDR3 57,4Go/s Figure 7: Architecture d'un nœud de la grae Pour otimiser leur utilisations, ces rocesseurs disosent des nouvelles technologies suivantes : - TurboBoost qui ermet d'augmenter la fréquence d'horloge du rocesseur. Cette hausse de fréquence est en fonction du tye de travail réalisé, du nombre de cœurs actifs, de la consommation électrique et de la temérature du rocesseur. Cette otion sera activée dans nos tests, uisqu'elle aura une réercussion sur le nombre de cœurs/nœud utilisées. - Le HyerThreading (HT) qui améliore le remlissage du ieline et des registres en ermettant l'exécution de lusieurs files de traitement sur chaque cœur. ous désactivons cette otion. - Advanced Vector Extensions (AVX) qui ermet d'aliquer simultanément la même instruction à lusieurs données contiguë en mémoire. Le rocesseur est caable de réaliser oérations ar cycle d'horloge sur les flottants en double récision (DP). Puisque les unités AVX sont différentes, dans le même cycle, on eut effectuer 4 additions sur une série de données et 4 multilication sur une autre série de données. Cette otion sera activée uisqu'il aura une réercussion sur le tye de arallélisme utilisé. III/ Performance de la arallélisation our la multilication de matrices III.. Résultats sur un seul nœud Pour effectuer la arallélisation sur un nœud, on eut utiliser la mémoire artagée (OenMP) ou la mémoire -3

distribuée (MPI). En mémoire artagée, la arallélisation est facile à mettre en lace et son exécution est imlicite. En mémoire distribuée, il faut changer la structure du code. Comme il utilise des coie en mémoire our distribuer les données, le tems de communication est quasi-équivalent à la mémoire artagée. III..) Méthodes et réalisation Pour la multilication de matrice, avec la norme OenMP (mémoire artagée), les indices i,j,k des 3 boucles (cf formule Informatique. 9) ne euvent as être tous rivées. En effet, la boucle externe doit être ublique et artagée entre les threads our éviter que deux rocessus écrivent dans la même case de la matrice résultat. Les deux autres indices sont rivés et sont donc réartis entre les unités de calculs. Pour la norme MPI(mémoire distribuée), il faut décrire entièrement les envois de données à travers les threads. Ce rocédé sera exliqué lus en détails dans les arties suivantes. Dans la multilication de matrices, la artie séquentielle est minime car il s'agit de 3 boucles imbriquées indéendantes. Donc, elle eut devenir négligeable et l'accélération de la loi d'amdhal devient : A ( )= T () = = T () III..) Résultats Afin de confirmer les formules théoriques, nous avons fait des calculs avec des matrices de tailles différentes (cf. Annexe 3 : Multilication sur un seul nœud en mémoire artagée). Pour la clarté de l'exosé, les résultats ci-arès corresond à la multilication des matrices de tailles 9x9, sur un seul nœud, en faisant varier le nombre de cœurs/nœud. Les résultats résentés dans la figure suivent la loi d'amdhal. Accélération sur un noeud 0 6 Accélération 4 Mémoire artagée (OMP) Mémoire distribuée (MPI) Accélération théorique 0 6 4 0 4 6 0 4 6 0 ombre de coeurs Figure : Accélération sur un seul nœud our matrice 9x9 Les courbes corresondent bien à la loi d'amdhal. En effet,si nous utilisons fois lus de cœurs our le rogramme, le tems de calcul est divisé ar. Ceendant, on ne eut as aliquer ceci our les matrices de 3-3

etites tailles uisque le rocesseur va utiliser son rore cache et non la RAM, les données rivées seront transmis beaucou lus raidement à l'unité de calcul que les autres données. ous ouvons remarquer que l'accélération de la mémoire distribuée(mpi) décroit lus vite que la mémoire artagée(oenmp). En effet, même si les données assent ar la mémoire, la mémoire distribuée doit découer les données our l'envoyer à chaque cœur. Donc, lus il y a de cœurs, lus le rogramme asse du tems à découer les données et à les regrouer. Alors que our l'oenmp, le artage des données est imlicite et il otimise le ieline et la bande assante. A artir de 6 cœurs, il y a une saturation de l'accélération qui ne suit lus la loi d'amdhal. Pourtant, en théorie, la multilication de matrices est arallèle à 00% et avoir une accélération de jusqu'à 0 coeurs. En effet, les canaux mémoire DDR3 qui relient la mémoire aux rocesseurs font un goulot d'étranglement des transferts de données.(cf. Annexe 4 : Accélération sur un rocesseur Ivy Bridge).Le goulot d étranglement eut s'exliquer ar le nombre de canaux DDR3 ar raort au nombre de cœurs. La mémoire RAM est reliée ar 4 canaux au rocesseur (Figure 7) et le nombre de cœurs de 0 ar rocesseur. Pour éviter cette saturation de l'accélération, la solution serait l'ajout d'un canal mémoire DDR3, ce qui ermettrait augmenter le débit et de conserver le raort cœurs/canaux= des anciens rocesseurs Sandy Bridge à cœurs (cf. Annexe 5 : Accélération sur un rocesseur Sandy bridge). En effet, Intel révoit d'aorter cette amélioration sur les rochaines générations de rocesseurs. III..3) Otimisations Pour aller lus loin dans l'otimisation, nous ouvons utiliser les otions du gestionnaire de tâches SLURM. D'abord, considérons la réartition des rocessus sur les cœurs d'un nœud et utilisons la variable d'environnement KMP_AFFIITY de SLURM qui gère ces réartitions. Il y a 3 ossibilités: - none (ar défaut) : le système gère la réartition des rocessus, et sera aléatoire. - comact : les rocessus sont distribués le lus roche les uns des autres. - scatter : les rocessus sont distribués le lus loin les uns des autres. La figure 9 résente les courbes d'accélération comact/none et scatter/none. Raort des otions 70% 60% 50% Raort(%) 40% 30% comact/none scatter/none 0% 0% 00% 90% 0% 4 6 0 4 6 0 ombre de coeurs Figure 9: Courbes entre les raorts d'accélération des otions 4-3

Bilan our otimiser les erformances de calculs sur un seul nœud : Configurations otimales Tye de mémoire Entre coeurs Entre 0 coeurs Partagée (Oen MP) Comact Scatter Distribuée (MPI) --bycore --bysocket Entre et cœurs, l'otion comact est recommandé. En effet, our l'otion scatter, des transferts de données vont asser ar les liens QPI qui sont moins raide que ceux des canaux mémoire, le tems de calcul sera donc lus long. Entre 0 et 6 cœurs, l'otion scatter est recommandé. En effet, our l'otion comact, arès cœurs, les 4 canaux mémoire DDR3 engendrent un goulot d'étranglement. Donc, il est référable de réartir les tâches sur les rocesseurs même si il faut envoyer des données ar les liens QPI. Configurations non otimales Entre cœurs Entre 9 0 cœurs > 64Go Bande assante Entre et cœurs, si les données du calcul déassent 64Go, la caacité d'une seule RAM est atteinte. Les données sont stockés sur l'autre RAM et vont asser le lien QPI. L'accélération sera diminuée. Entre 9 et 0 cœurs, la bande assante des canaux mémoire va être saturée, ar l'effet du goulot d'étranglement. L'accélération diminuera. La discussion et les suggestion ci-dessus sont également alicables à des algorithmes de comlexité différentes. III..4) Comaraison avec une librairie existante Finalement, nous allons comarer la multilication «naive» utilisée dans les calculs ci-dessus une librairie otimisée, la Math Kernel Library (MKL) d'intel dédiée aux calculs scientifiques. Ainsi, la fonction dgemm révue our réaliser des multilications de matrices denses découe les matrices en de nombreux blocs our avoir une utilisation otimale de la mémoire cache. Voici, ci-dessous, les erformances de cette multilication de matrices toujours our une matrice de taille 9x9. 5-3

Accélération sur un noeud, otion=comact 40 0 Accélération 00 0 dgemm (MKL) multilication naîve 60 40 0 0 4 6 0 4 6 0 ombres de coeurs Figure 9: Courbes d'accélération de la fonction MKL, dgemm Par raort à la multilication «naïve», le résultat est bien meilleur, nous obtenons un gain d'accélération d'environ 5 our les matrices de grosses tailles. La dgemm réalise le même nombre d'oérations et d'allocations mémoire que la multilication «naïve» (cf. Effective imlementation of DGEMM on modern multicore CPU) mais les données sont gérées différemment : elle doit utiliser avantageusement les mémoires caches en découant les matrices en blocs our otimiser la bande assante, et en transosant les blocs, les données sont contiguës en mémoire ce qui ermet d'utiliser l'avx( oérations simultanée sur les nombres en double récision ar cycle d'horloge). Pour otimiser les ressources de la grae, il est conseillé d'utiliser des librairies mathématiques otimisées quand cela est ossible mais également d'assurer la contiguïté des données en mémoire our utiliser l'avx. III.. Performances sur lusieurs nœuds III..) Méthodes et réalisation Pour effectuer la multilication de matrices sur lusieurs nœuds, il est nécessaire d'utiliser la rogrammation en mémoire distribuée, et on utilisera la norme MPI. Avec cette solution, l'utilisateur doit changer la structure de son rogramme our organiser exlicitement la communication entre les nœuds. Un rocessus «maître» distribue le travail aux nœuds «esclave», uis en fin de calcul récuère les résultats artiels et met en forme le résultat final. Comaré aux calculs sur un nœud (III.), l'accélération déend du tems de communication. Pour la multilication, l'accélération est : A ( )= T () = T () c+ = c + c + +c 3 = + c 6-3

Soit la multilication de matrices carré de taille (n,n), mat_a*mat_b=mat_c. om de la communication Exlication c Proortion de tems our transférer la matrice mat_b de taille (n,n) à toutes les tâches MPI c Proortion de tems our transmettre les sous-matrices mat_ai de de taille (n/,n) à chacune des taches MPI. Pour ce stage, nous avons choisi le cas otimal où n/ est entier. c3 Proortion de tems our récuérer les roduits des sous-matrices mat_ai*mat_b Schéma MPI III..) Résultats Pour comarer les erformances avec celles obtenues sur un seul nœud, nous avons conservé la même référence, c'est-à-dire mémoire artagée (OMP) sur seul cœur sans otion. Le grahique suivant résente ces résultats en mémoire distribuée (MPI) our une multilication de matrices de 9x9. 7-3

Accélération sur lusieurs noeuds (otion ar défaut) 45 40 35 nœud nœuds 4 nœuds nœuds Accélération maximale théorique Accélération 30 5 0 5 0 5 0 4 6 3 64 ombre de taches total = nombre de noeuds x nombre de taches/noeud Figure 0: Accélération sur lusieurs nœuds Pour augmenter encore l'accélération, il est nécessaire d'utiliser lusieurs nœuds de calcul. Ceendant, le transfert de donnée limite l'accélération. Par exemle, our nœuds et 6 cœurs, nous obtenons une baisse d'environ 50% des erformances due à l envoi de données (cette observation n'est as que sur cette seule figure), ouvant être exliquée ar la loi d'amdhal : A ( )= c+ = + c c si A ( ) c si A ( ) c En effet, si la artie communication est imortante devant la artie arallèle, l'augmentation du nombre de cœurs n'influe lus sur l'accélération. -3

III..3) Otimisations Comme vu dans la loi d'amdhal récédemment, la communication c limite l'accélération.pour identifier l'imact sur la communication c, nous allons donc tester les réseaux mis à notre disosition: l'infiniband et l'ethernet. Vitesse InfiniBand/Ethernet 00% otion=bid_to_oe 000% Raort(%) 00% 04 4096 9 600% 400% 00% 0% MPI x MPI x MPI x 4 MPI x MPI x 6 ombre de taches Figure : Raort entre la vitesse InfiniBand/Ethernet en fonction du nombre de cœurs sur un nœud Théoriquement, l'infiniband (40Go/s) est 40 fois lus raide que l'ethernet(go/s). Pratiquement, l'infiniband est au maximum 0 fois lus raide que l'ethernet et sa vitesse décroit au fur et à mesure que l'on augmente le nombre de rocessus ar nœud. Otimisation : Il faut utiliser le réseau InfiniBand our augmenter la vitesse de transfert des données. A artir de ce fait, nous allons analyser à artir de combien de taches MPI, cela n'est lus bénéfique. En rerenant la loi d'amdhal, nous en déduisons : A ( )= = c c + + c si A( )= c c + étant la artie arallélisable (ou la artie calcul du code), et c la artie communication : T ()= c 0 c 0 < c> Donc, si cette condition est remlie, l'augmentation du nombre de taches aura eu d'influence sur le gain d'accélération. Il faudra alors diminuer la artie communication our que l'accélération augmente d'avantage. 9-3

Dans le grahique suivant, nous allons aliquer les résultats récédents en renant la multilication d'une matrice 9x9. Si le otion=bind-to-none, InfiniBand Pourcentage de tems de communication 0,9 0, 0,7 0,6 0/ C our nœuds C our 4 nœuds C our nœuds 0,5 0,4 0,3 0, 0, 0 4 6 3 64 ombre de taches total = nombre de noeuds x nombre de taches/noeud Figure 3: Courbes d'otimisation des ressources en fonction de la communication ourcentage de tems de communication est suérieur à 0/ (artie à droite de la courbe en ointillée sur la Figure 3), la communication influe sur l'accélération du calcul. A artir de ce fait, nous constatons que l'utilisation de nœuds n'est as otimisé, même si on eut augmenter l'accélération en augmentant le nombre de taches. A artir de 3 coeurs réartis en nœuds, donc 4 coeurs ar nœud, la communication aura lus d'influence que le nombre de cœurs utilisé. De lus, our nœuds, on constate une forte augmentation our 3 taches (x6), l'utilisation de 6 taches sera légèrement moins raide (cf Figure ). ous constatons que our de diminuer les communications, il est référable d'utiliser taches/nœud (cf Annexe 6 : Courbes des tems de communication sur lusieurs nœuds). Otimisation : Il faut utiliser taches/nœud our diminuer les tems de communications. A artir de ce fait, on utilise la rogrammation hybride, c'est-à-dire : - mémoire distribuée sur les nœuds qui exécute des taches, - mémoire artagée sur les rocesseurs qui exécute des rocessus. Avec cette méthode, il y a moins de taches en mémoire distribuée, donc moins de transferts de données, cette rogrammation améliore le tems de communication. La figure résente les cas ossibles de cette rogrammation hybride sur noeuds. On constate, comme cidessus, que l'utilisation de taches/noeuds est otimale. Le calcul et la communication sera lus raide qu'avec une seule tache. De lus, cette rogrammation sera lus raide qu'une rogrammation en mémoire distribuée «basique». 0-3

Accélération 70 60 Accélération 50 OenMP+MPI x OenMP+MPI x OenMP+MPI x OenMP+MPI x MPI x 6 40 30 x x 4x x 6 4 0 0 0 Tye de distribution des taches Figure : Accélération de la rogrammation hybride sur lusieurs noeuds Otimisation 3 : Utilisation de la rogrammation hybride III..4) Comaraison avec une librairie existante Comme our la mémoire artagée, nous allons mesurer l'accélération our une bibliothèque existante. Il s'agit un nouvelle fois de la MKL d'intel qui utilisera des autres librairies ate à réaliser du arallélisme à mémoire distribuée. L'une de ses librairie est PBLAS qui est une «adatation» de BLAS our les calculs sur lusieurs nœuds. Voici les résultats obtenus our la fonction dgemm en MPI (mémoire distribuée): Sur ce Accélération otion=bind-to-none, InfiniBand 40 0 MPI x MPI x MPI x MPI x MPI x MPI x MPI x MPI x MPI x Accélération 00 0 60 40 0 0 56 5 04 04 4096 6 4 9 Taille de matrice Figure : Accélération de la fonction dgemm grahique, nous constatons que la librairie existante est bien lus erformante que la fonction réalisée -3

«naïvement». En effet, la fonction utilise un algorithme avec une comlexité lus faible (cf. III..4) et les transferts de données seront beaucou lus efficace. La fonction envoie certainement les données en même que les calculs sont réalisés en utilisant des envois non-bloquant, c'est-à-dire que les nœuds «maitre» et «esclave» vont ouvoir continuer leurs calculs tout en transférant des données. Sur un seul nœud, la dgemm, la fonction MKL a une accélération lus imortante que celle de la dgemm. La fonction à mémoire distribuée est otimisé our les calculs sur lusieurs nœuds, ainsi l'accélération sur lusieurs nœuds ( et, ar exemle) sera aussi efficace que la dgemm our le même nombre de taches. Tout comme sur un seul nœud, il est lus favorable d'utiliser des bibliothèques existantes otimisées que de réaliser les algorithmes soi-même si cela est ossible. IV/ Méthodologie our otimiser les ressources de calcul En résumé, à l'aide de l'algorithme de la multilication de matrices, entièrement arallèle, nous avons déterminé, our un nombre de cœurs donné, les otimisations adéquates our diminuer le tems de calcul. Maintenant, nous allons rooser un guide méthodologique our otimiser les ressources de la grae our des rogrammes arallèles. De façon emirique, il est recommandé de choisir un nombre de cœurs égale à l'accélération maximale: = s IV.. Mesures sur un nœud Sur un nœud, la communication est nulle car les échanges sont réalisés en mémoire : A ( )= s+ Il suffit donc de réaliser mesures sur le tems d'exécution du rogramme donné : sur un cœur T() et sur cœurs T(). Ceci ermet de déterminer les ortions de code séquentielle et arallèle : = A () A ( ) ( ) s= Le nombre de cœurs à allouer est =/s. Plaçons nous dans le cas d'un rogramme otimisé avec s=5 %, il est recommandé d'utiliser =/s=0 cœurs. Dans le tableau suivant, l'accélération et l'efficacité our 0 et 40 cœurs montrent que la règle emirique donne les meilleurs résultats. 0 coeurs 40 coeurs Accélération 0,5 3,56 Efficacité 67, % 33,9 % -3

En conclusion, il est imortant d'otimiser la artie séquentielle du code car elle détermine le nombre de cœurs à allouer. Maintenant, nous abordons les codes qui nécessitent lusieurs nœuds, ces codes ont une artie séquentielle < % ou sont massivement arallèle (tâches indéendantes et sans communication). IV.. Mesures sur lusieurs nœuds Voici la loi d'amdhal modifié renant en comte la communication sur lusieurs nœuds : s (+ ) A ( )= c s + ( + ) Cas : La artie séquentielle est négligeable (<%) avec communication A ( )= + - Cas otimal : c c donc A ( )=, ceci se vérifie quand >0 c ous avons identifié qu'une façon de minimiser la communication est d'utiliser taches MPI (mémoire distribuée) ar nœud et le reste en OenMP (mémoire artagée). - Cas défavorable : c donc A ( )=, ceci se vérifie quand c < c 0 Par exemle, avec une artie séquentielle de %, l'exécution d'un rogramme arallèle sur : - un nœud (0 coeurs) donne une accélération A(0)= 6, (communication en mémoire donc négligeable) - 5 nœuds (00 cœurs) donne une accélération A(00)=0 (avec une communication de 0 %). Cas : Programme massivement arallèle sans communications A ( )= s+ Dans ce cas, se reorter aux mesures sur un nœud car il faut otimiser la artie séquentielle sur chacun des nœuds. 3-3

Conclusion Ce stage s'est intéressé à la arallélisation des calculs scientifiques sur une grae. J'ai étudié l'allocation des ressources de calculs et fait des roositions d'otimisation. Le but est d'utiliser efficacement les ressources de calculs des rogrammes comortant des arties arallèles et séquentielles afin que l'ensemble de la communauté scientifique ait un tems de restitution des calculs moins élevés. Ainsi, our déterminer le nombre otimal de cœurs our un rogramme scientifique articulier dont le raort séquentiel/arallèle est inconnu, je roose la méthodologie suivante : - sur un nœud, deux mesures suffisent our déterminer les roortions séquentielle et arallèle d'un code. On en déduit alors le nombre otimal de cœurs à allouer ; - sur lusieurs nœuds, quatre mesures sulémentaires sont nécessaires et de nouveau il en découle le nombre otimal de cœur à allouer. ous avons noté que la communication entre les nœuds limite l'accélération. De ce fait, il faut limité le nombre de tâches MPI (mémoire distribuée) à deux ar nœud et il suffit de rajouter des rocessus OenMP (mémoire artagée) our augmenter l'accélération. De lus, j'ai aorté des recommandations our gérer efficacement les cœurs alloués, c'est-à-dire : - Sur la réartition des rocessus sur les différents rocesseurs, our éviter le hénomène de «goulot d étranglement» sur les canaux mémoires et entre les rocesseurs et sur le réseau InfiniBand - Sur la réartition des données, avec la contiguïté des données en mémoire our effectuer lus d'oérations dans un même cycle (AVX). Les méthodes discutées dans cette étude euvent être étendues aux accélérateurs de calculs. 4-3

Bibliograhie [] Andrew Sunderland, Xiaho Guo, Dense Linear Algebra Performance Analysis on the Fujitsu BX900 OPL Machine [] Emilio Francesquini, Alfredo Goldman, University of Sao Paulo, Scheduling on current multi-core clusters [3] Intel Cororation, Intel C Comiler User and Reference Guides [4] Intel Cororation, Intel MPI Library for Linux OS [5] Jalele Chergui, Pierre-François Lavallée, Institut du déveloement et des ressources en informatique scientifique (IDRIS), OenMP, arallélisation multitâches our machines à mémoire artagée [6] Pawel Gener, Victor Gamayunov, David L. Fraser, Effective Imlementation of DGEMM on modern multicore CPU [7] Intel Cororation, Intel Math Kernel Library (Intel MKL) 0. 5-3

Annexes Annexe : Lexiques OMP P : Mémoire artagée avec P rocessus, donc s effectuant sur P cœurs. MPI xt: Mémoire distribuée sur nœuds avec T taches sur chaque nœud. Exemle : MPI x5 = nœuds, 5 taches/nœud. OMPI xtxp : Mémoire distribuée sur nœuds avec T taches sur chaque nœud et mémoire artagée sur P rocessus sur chaque tache. Exemle : OMPI x5x = nœuds, 5taches/nœud, rocessus/tache. Processus : (Threads) Un rocessus est une file de traitement de données (oérations, allocations, etc.) s effectuant sur un cœur. Tache : (Tasks) Une tache est un rocessus effectuant une arallélisation en mémoire distribuée, c est-à-dire un rocessus connecté à un réseau hors CPU. Cœur : Un cœur est une unité de calcul ouvant traiter une file d exécution. Cache : Le cache est une mémoire très raide (lus que la RAM) qui ermet de stocker les données nécessaires aux calculs. Elle est très roche des cœurs mais est de etites caacités. Maintenant, il y a des caches artagées entre les cœurs (L3), et des caches rores à chaque cœur (L + L) RAM (Random Access Memory) : La RAM est une mémoire avec un accès raide our stocker les données nécessaire aux calculs. CPU ou rocesseur : Un CPU est un ensemble d éléments our réaliser des calculs. Il ossède 0 cœurs (our les nœuds Ivy Bridge), le cache (L3) artagé entre les cœurs. œud : Un nœud est un ordinateur connecté à d autres. Il ossède de la mémoire (RAM), CPU (en général), et d autres érihériques comme un accélérateur de calcul (GPU). Grae (Cluster) : est un ensemble de nœuds connectés entre eux. QPI : Le QuickPath Interconnect (QPI) est un bus de données à haut débit oint à oint et bidirectionnel. Il a une largeur de bus de 0 bits, un débit de 6,4 x 0/ = 6Go/s. Pour un lien bidirectionnel, il y a donc 3Go/s. DDR3 : Le Double Data Rate 3rd generation Synchronous Dynamic Random Access Memory (DDR3 SDRAM) est une mémoire vive à accès direct. InfiniBand : C'est un bus à haut débit destiné aux communications externes. Il est bidirectionnel et ossède une faible latence (ms) et un débit de 40 Go/s. OenMP : Interface rogrammable our effectuer du arallélisme en mémoire artagée, sur un seul noeud MPI : La norme Message Passing Interface (MPI) sert à effectuer du arallélisme en mémoire distribuée, sur un ou lusieurs nœuds. AVX : L'Advanced Vector Extensions (AVX) ermet de réaliser 4 additions et 4 multilication sur des flottants double récision ar cycle d'horloge. 6-3

Annexe : Architecture Ivy Bridge Figure : Architecture d'un rocesseur Ivy Brigde Annexe 3 : Multilication sur nœud en mémoire artagée Accélération (tems) sans otion 0 0 cœurs cœurs 6 cœurs 4 cœurs cœurs 0 cœurs cœurs 6 cœurs 4 cœurs cœurs cœur 6 Accélération 4 0 6 4 0 56 5 04 04 4096 9 634 Taille de matrice (x) 7-3

Annexe 4 : Accélération sur un rocesseur Ivy Bridge Accélération (tems) Ivy Bridge - x 0 cores - 59,7 GBs (4x DDR3 à 66MHz) 4 OMP OMP OMP OMP OMP 0 6 4 6 0 4 0 56 5 04 04 4096 9 634 Annexe 5 : Accélération sur un rocesseur Sandy Bridge node-05 Sandy Bridge - x cores - 5, GBs (4x DDR3 à 600MHz) 4 OMP OMP OMP OMP 0 6 4 6 4 0 56 5 04 04 4096 9 634-3

Annexe 6 : Courbes de tems de communication sur lusieurs nœuds Tems de communication 6 4 Tems (s) 0 noeud noeuds 4 noeuds noeuds 6 4 0 4 6 3 64 ombre de taches total 9-3

Annexe 7 : Raort ersonnel J'ai choisi de réaliser mon stage de 4ème année dans la fédération de recherche LUmière MATière (LUMAT), sur une late-forme dédiée aux calculs scientifique aelée la Grae Massivement Parallèle de Calculs Scientifiques,GMPCS. J'ai intégré une équie constituée du resonsable technique qui est mon tuteur de stage, Philie Dos Santos, et du resonsable scientifique, Georges Raseev. Cette équie est situé au sein des locaux de l'ismo, au bâtiment 0 de l'université Paris Sud. J'ai u côtoyer les membres de l'ismo et les chercheurs, ingénieurs de LUMAT. La mission de mon stage a été d'otimiser les ressources de la grae our les calculs arallèles. En effet, j'ai aorté des recommandations our augmenter l'efficacité des ressources allouées et j'ai réalisé une méthodologie our déterminer le nombre otimal de cœurs à allouer our un calcul donné. Les chercheurs sont souvent des gens assionnés et imliqués dans leurs travaux. Ils ont u m'aorter de nombreuses connaissances sur tout les domaines. Ils ont une aroche très ragmatique des événements et des éléments qui les entourent. Il y a une grande art de réflexion dans leurs roos. J'ai vraiment arécié de débattre avec eux, resque tous les midis, arès le reas durant une ause café, sur des sujets divers. Pour ce qui est de la mission de stage, elle m'a également aorté de nombreuses atitudes. C'était la remière fois que je voyais une grae de calcul de cette taille. Dans l'ensemble, j'ai u comrendre le fonctionnement de ce système avec les arties matérielle et logicielle. Ainsi, j'ai étudié l'architecture d'une grae avec les différents blocs (maître, esclave, accélérateur de calcul, switch). ous avons mis en lace des nouveaux nœuds, où j'ai u aréhender la réalité de la grae avec les éléments qui l'entourent comme le refroidissement de la salle ou la structure ermettant de suorter les nœuds. Ensuite, j'ai assimilé les méthodes our utiliser la grae avec un gestionnaire de tâches, de données et des systèmes d'exloitations. De lus, j'ai étudié lus en détails l'architecture d'un nœud (ordinateur) afin de comrendre au mieux l exécution d'un rogramme. Premièrement, avec l'architecture des rocesseurs Intel (Sandy Brigde, Ivy Bridge) avec les CPUs, cœurs, RAM et les liens entre chaque érihériques. Puis, j'ai étudié les files d'exécution des rogrammes (threads) et les nouvelles technologies Intel comme l'hyerthreading, le TurboBoost, etc. A artir de ceci, j'ai acquis une lus grande connaissance sur les avancées technologiques des ordinateurs. Pour la rogrammation, j'ai codé en langage C mais j'ai du analyser certains rogrammes en d'autres langage ce qui m'a ermis d'arendre quelques notions du Fortran et d'utiliser le C++. De lus, j'ai arofondi mes cométences en réalisant de la rogrammation arallèle sur un seul nœud et sur lusieurs. J'ai acquis de nouvelles notions avec les rogrammations en mémoire distribuée et artagée en utilisant les interfaces de rogrammation our les calculs arallèles comme OenM et MPI. Enfin, our l'écriture de mon raort de stage, j'ai du être rigoureux our que les chercheurs aient la ossibilité de le lire our gagner du tems our leurs calculs et gérer au mieux les ressources de la grae our la communauté scientifique. 30-3

Pour conclure, voulant me diriger vers la rogrammation embarquée, le stage a été utile et satisfaisant. Il m'a aorté de nombreuses cométences que je vais ouvoir réutiliser durant mes rochaines années. Il m'a fait découvrir le monde de la recherche qui est vraiment différent du monde de l'entrerise. J'ai u également connaître de nombreuses choses sur les nouvelles technologies qui vont faire leurs aaritions en informatique et dans d'autres domaines. 3-3