La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Réunion LEGO no 5ANR-CIGC05-0111 Nouvelles de Bordeaux New Madeleine Olivier Aumage Projet RUNTIME LaBRI - INRIA.

Présentations similaires


Présentation au sujet: "Réunion LEGO no 5ANR-CIGC05-0111 Nouvelles de Bordeaux New Madeleine Olivier Aumage Projet RUNTIME LaBRI - INRIA."— Transcription de la présentation:

1 Réunion LEGO no 5ANR-CIGC05-0111 Nouvelles de Bordeaux New Madeleine Olivier Aumage Projet RUNTIME LaBRI - INRIA

2 2 Contexte Evolution du domaine −Evolution applicative −Modularité −Applications composites −Exemple : Projet ANR LEGO −Diet, PadicoTM, Juxmem, etc. + code applicatif −Augmentation du nombre de flux multiplexés

3 3 Contexte Evolution du domaine −Evolution matérielle −Hiérarchisation −HT −SMP −NUMAs −Augmentation du rapport unité de calcul/unité de communication −Augmentation du nombre de flux multiplexés

4 4 Constat Multiplexage « matériel » vs multiplexage logiciel −Multiplexage « matériel » −Quelques unités −3 par défaut sur Myrinet/Mx, par exemple −Capacité désormais inférieure à la demande −Nécessité d’un multiplexage logiciel −Mise en œuvre de ce multiplexage −Nombreuses politiques possibles −Nécessité d’ajout d’entêtes −Coût supplémentaire −Mais apport de nouvelles possibilités

5 5 Contexte Evolution du domaine −Evolution des besoins −Solutions multiples −Capacité d’expérimentation et d’exploration −Modularité, configurabilité −Dynamicité −Configuration à l’exécution −Composants

6 6 Madeleine 3 vs New Madeleine Madeleine 3NewMadeleine NI C Flots applicatifs

7 7 Architecture Vue générale de l’architecture Applicatio n Networ k Collect layer Scheduling layer Transmit layer Core scheduler Optimizing scheduler Strategies Quadrics NICMyri-10G NICs New Madeleine pack / send

8 8 APIs Divers niveaux de commandes −Multiples APIs −Interface send / receive −Niveau minimal −Interface pack −Messages avec construction incrémentale −Interface Mad-MPI −Interface d’émulation Madeleine 3 pour compatibilité

9 9

10 10 Ordonnanceur principal Organisation fonctionnelle −Rôles −Submit −Alimenter l’ordonnanceur optimisant avec les nouvelles requêtes utilisateur −Post −Interroger l’ordonnanceur optimisant pour alimenter les cartes inactives en synthétisant de nouvelles requêtes −Poll −Contrôler l’activité des cartes −Faire progresser les requêtes actives NICs Optimizing scheduler Core scheduler Submit Poll Post pack / send

11 11 Files d’accumulation Synchronisation sur l’activité des cartes −Carte active −Accumulation des requêtes utilisateur −Carte inactive −Appel de l’ordonnanceur optimisant −Analyse de la file d’accumulation −Application d’une politique −Synthèse d’une requête −Construction naturelle de la file −Approche de Madeleine 3 −Synchronisation sur l’application −Optimisation lors de l’appel applicatif NICs Optimizing scheduler Core scheduler Submi t Pol l Post pack / send

12 12

13 13 Ordonnanceur SchedOpt L’ordonnanceur programmable SchedOpt −Notion de tactique −Séquences d’opérations de base mises en œuvre pour remplir cet objectif −Une stratégie peut mettre en œuvre une ou plusieurs tactiques NICs SchedOpt scheduler Core scheduler pack / send Strategi e ● Tactique 1 ● Tactique 2

14 14 Ordonnanceur SchedOpt L’ordonnanceur programmable SchedOpt −Opérations de base −Fusion −Copie bout-à-bout de deux fragments dans un paquet −Association −Referencement de deux fragments dans l’IOvec d’un paquet −Découpage −Repartition d’un fragment sur plusieurs paquets −Changement de piste −Rendez-vous −Ré-ordonnancement NICs SchedOpt scheduler Core scheduler pack / send Strategi e ● Tactique 1 ● Tactique 2

15 15 Ordonnanceur SchedOpt Communications −Au minimum 2 « pistes » −Piste 0 : messages de contrôle −Taille bornée −Possibilité d’encapsulation de données −Fragments de données courts −Piste 1 : messages de données pures −Sans entête −Sur rendez-vous −Fragments de données longs −Modes de transferts actuels −Copie dans le message de contrôle −Collecte (sans copie) dans le message −Transfert sans entête Messages de contrôle Nœu d Messages de données sans entête Nœu d 0 1

16 16 Stratégies proposées Stratégie par défaut −Simple stratégie FIFO −Utilisée comme référence

17 17 Stratégies proposées Stratégie par agrégation −Construction de messages composites −Distinction −Message courts −Messages longs −RDV −Agrégation des demandes et acquittements −Agrégation −Paquets de flots quelconques −Tags −Paquets non consécutifs −Numéros de séquence

18 18 Stratégie d’agrégation Détails −Deux seuils −NM_SO_MAX_SMALL −Dessous, envoi direct par copie −Dessus, envoi après rendez-vous −NM_SO_COPY_ON_SEND_THRESHOLD −Dessous : copie en contigu −Dessus : utilisation d’une nouvelle entrée dans le tableau d’iovecs −Agrégation des messages de taille < NM_SO_MAX_SMALL −Agrégation des messages de contrôle

19 19 Paramètres NM_SO_MAX_SMALL : 32Ko NM_SO_COPY_ON_SEND_THRESHOLD : 32 octets Stratégie d’agrégation Métadonnée s io v 4 octets

20 20 Stratégie d’agrégation Métadonnée s io v Entête + copie des données Paramètres NM_SO_MAX_SMALL : 32Ko NM_SO_COPY_ON_SEND_THRESHOLD : 32 octets 4 octets

21 21 Stratégie d’agrégation Métadonnée s io v Paramètres NM_SO_MAX_SMALL : 32Ko NM_SO_COPY_ON_SEND_THRESHOLD : 32 octets 256 octets

22 22 Stratégie d’agrégation Métadonnée s io v Entête Paramètres NM_SO_MAX_SMALL : 32Ko NM_SO_COPY_ON_SEND_THRESHOLD : 32 octets 256 octets Référence Remarque Exploitation du gather/scatter si disponible

23 23 Stratégie d’agrégation Métadonnée s io v Paramètres NM_SO_MAX_SMALL : 32Ko NM_SO_COPY_ON_SEND_THRESHOLD : 32 octets 64K o

24 24 Stratégie d’agrégation Métadonnée s io v Paramètres NM_SO_MAX_SMALL : 32Ko NM_SO_COPY_ON_SEND_THRESHOLD : 32 octets 64K o Demande de rendez-vous

25 25 Stratégie d’agrégation Métadonnée s io v Paramètres NM_SO_MAX_SMALL : 32Ko NM_SO_COPY_ON_SEND_THRESHOLD : 32 octets 4 octets

26 26 Stratégie d’agrégation Métadonnée s io v Paramètres NM_SO_MAX_SMALL : 32Ko NM_SO_COPY_ON_SEND_THRESHOLD : 32 octets 4 octets Remarque Ainsi de suite, tant que −le paquet n’est pas plein −l’optimiseur n’est pas invoqué pour alimenter une carte

27 27 Stratégies proposées Stratégie multirail −Exploitation de multiples cartes −Potentiellement hétérogènes −Prise en compte des caractéristiques respectives des réseaux −Distinction −Messages courts −Messages longs −Observation experimentale Quadrics NIC Myri-10G NICs

28 28 Stratégies proposées Stratégie multirail – messages courts −Envoi sur le réseau de plus faible latence −Algorithme glouton ? −Moins bon expérimentalement Quadrics NIC Myri-10G NICs

29 29 Stratégies proposées Stratégie multirail – messages longs −Principe de base −Découpage de chaque message −Répartition sur les cartes −Cas hétérogène −Tenir compte des performances respectives de chaque réseau −Equilibrer le temps de transfert des fragments sur chaque réseau −Choisir la taille des fragments en conséquence Quadrics NIC Myri-10G NICs

30 30 Stratégies proposées Stratégie multirail – messages longs −Principe de base −Découpage de chaque message −Répartition sur les cartes −Cas hétérogène −Tenir compte des performances respectives de chaque réseau −Equilibrer le temps de transfert des fragments sur chaque réseau −Choisir la taille des fragments en conséquence Quadrics NIC Myri-10G NICs

31 31 Stratégies proposées Stratégie multirail – messages longs −Principe de base −Découpage de chaque message −Répartition sur les cartes −Cas hétérogène −Tenir compte des performances respectives de chaque réseau −Equilibrer le temps de transfert des fragments sur chaque réseau −Choisir la taille des fragments en conséquence Quadrics NIC Myri-10G NICs

32 32 Communications différenciées Prise en compte des spécificités des flots Jérôme Clet-Ortega Master 2 – Université Bordeaux 1 −Dans le cadre du projet ANR LEGO −Applications, déploiement, contrôle visualisation, transferts de données −Besoins distincts −Stratégie QoS −Priorités −Equité −Application sélective de stratégies distinctes sur des sous-ensembles de flots −Meta-stratégie

33 33 Stratégie QoS Stratégie spécifique pour faire de la différenciation de services −Notion de politique −(mini-stratégies) −possède une ou plusieurs listes de paquets à envoyer −désigne le prochain paquet à émettre selon une politique propre −Politiques proposées −FIFO : pas de distinction entre les paquets −LATENCY : les paquets de petite taille sont prioritaires −RATE : les paquets de taille plus importante sont prioritaires −PRIORITY : chaque flux possède un degré de priorité −mixage de plusieurs politiques : PRIORITY + LATENCY,...

34 34 Stratégie QoS Chaque flux est identifié par un tag −Extension de l'interface Send/Recv : −pour l'association tag politique −pour l'association tag priorité −La stratégie QoS aiguille ainsi chaque flux vers la politique correspondante −Sélection du prochain paquet à émettre : −sélection d'une politique parmi celles qui sont actives (Round-Robin) −sélection d'un paquet selon l'ordonnancement propre à la politique

35 35

36 36 Test NAS-MPI : CG Calcul de la valeur propre d'une matrice avec échanges de messages Stratégie employéeTemps des communications (s) Strat_aggreg2,80 s Strat_qos + FIFO2,79 s Strat_qos + PRIORITY1,51 s

37 37 Tests Disponibilité NewMadeleine −Myrinet, Quadrics, Infiniband, SCI Plateforme expérimentale −Dual-core opteron 1.8GHz −Linux 2.6.17 −MX/Myri-10G network −Elan/QsNet II Quadrics network

38 38 Raw performance on top of Myri-10G – Latency Multi-segment ping-pong Data size (bytes) Transfer time (µs)

39 39 Raw performance on top of Myri-10G – Bandwidth Multi-segment ping-pong Data size (bytes) Bandwidth (MB/s)

40 40 Raw performance on top of Quadrics – Latency Multi-segment ping-pong Data size (bytes) Transfer time (µs)

41 41 Raw performance on top of Quadrics – Bandwidth Multi-segment ping-pong Data size (bytes) Bandwidth (MB/s)

42 42 Aggregating bandwidth for large segments through adaptive stripping Taking the performance of each network into account Data size (bytes) Bandwidth (MB/s)

43 Réunion LEGO no 5ANR-CIGC05-01143 Travaux en cours Activités autour de NewMadeleine

44 44 Travaux en cours Activités autour de NewMadeleine −Services différenciés −Jérôme Clet-Ortega, Master 2 – Université Bordeaux 1 −Multirail −Elisabeth Brunet, doctorante −Mad-MPI −Nathalie Furmento, IR CNRS −Gestion d’événements −Francois Trahay, doctorant −Composantification, NewMadico −Christophe Frezier (IA INRIA), Alexandre Denis (CR INRIA)

45 Réunion LEGO no 5ANR-CIGC05-01145 Conclusion Et perspectives…

46 46 Conclusion Un nouvel outil de support aux communications haute performance −Un ordonnanceur de requêtes original −Optimisations non déterministes −Traitement multiflot −Un support d’expérimentation −Architecture modulaire, composants −Ordonnanceur programmable −Un outil de production −Disponibilité sur toutes les technologies actuelles −Interface MPI optimisée pour une sélection de routines −Faible coût de fonctionnement NewMadeleine

47 47 Perspectives Travaux à plus long terme −Stratégies dynamiques −Evaluation (try) −Essai et score d’un ensemble de tactiques −Application (commit) −Sélection et application de la meilleure tactique −Métrique du score ? Communications différenciées −Export/collaboration au niveau du moteur d’optimisation −MPICH2 – Nemesis, Yampi, Global Arrays, etc. −Multithreading, NUMAs −Brice Goglin, Stéphanie Moreaud (M2, Université Bordeaux 1) −Localité −Positionnement des threads

48 48


Télécharger ppt "Réunion LEGO no 5ANR-CIGC05-0111 Nouvelles de Bordeaux New Madeleine Olivier Aumage Projet RUNTIME LaBRI - INRIA."

Présentations similaires


Annonces Google