La machine parallèle MPC1 Hardware, protocoles et performances Université P. & M. Curie (PARIS) Laboratoire dInformatique de PARIS6 Olivier Glück.

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

[number 1-100].
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Le vaccin antigrippal disponible en France :
Institut Supérieur d'Informatique
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
Classe : …………… Nom : …………………………………… Date : ………………..
Est Ouest Sud 11 1 Nord 1 Laval Du Breuil, Adstock, Québec I-17-17ACBLScore S0417 Allez à 1 Est Allez à 4 Sud Allez à 3 Est Allez à 2 Ouest RndNE
Est Ouest Sud 11 1 Nord 1 RondeNE SO
Sud Ouest Est Nord Individuel 36 joueurs
Les Prepositions.
Routage Classless VLSM/CIDR. Sommaire 1)Introduction au routage classless 1)CIDR* 1)VLSM** 1)Configuration * Classless Inter-Domain Routing ** Variable.
- Couche 4 - Couche transport. Sommaire 1) Caractéristiques de la couche transport 2) Les protocoles TCP & UDP 3) Méthode de connexion TCP.
Architecture de réseaux
Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
Objectifs Nous allons concevoir une mise en œuvre contenant un noyau de jeu d’instructions. Nous verrons comment l’architecture de jeu d’instructions.
Génération interactive dimages projectives : Application à la Radiothérapie Pierre BLUNIER Du 01/12/2002 au 28/03/2003 Centre Léon Bérard.
Indicateurs de position
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
Plan de formation Chapitre 1 : Présentation de SAP
1 Efficient Data and Program Integration Using Binding Patterns Ioana Manolescu, Luc Bouganim, Francoise Fabret, Eric Simon INRIA.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
ON SQUATTE AUSSI CODING4FUN LIKE A BOSS SQUATTEUR : RUDY HUYN.
Gestion des Périphériques
JST 2008 Michel Boisgontier CETMEF/DSANM/GRB Ministère de l'Écologie, de l'Énergie, du Développement durable et de l'Aménagement.
Synchronisation et communication entre processus
Chef de projet : COUDERC Antoine Equipe : DELMON - GENIEZ - LACROIX
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Virtual Local Area Network
LES RESEAUX DE CAPTEURS SANS-FIL
Configuration de Windows Server 2008 Active Directory
Optimisations de la bibliothèque de communication MPI pour machines parallèles de type « grappe de PCs » sur une primitive décriture distante Olivier Glück.
5.1 URDL22005 Systèmes dexploitation Threads Vue dEnsemble Modèles de Multithreading Problèmes des Threads Pthreads Threads Windows XP Threads Linux Threads.
Développement d’application web
@SSR – Installation des applications eduscol.education.fr/securite - février 2007 © Ministère de l'Éducation nationale, de l'Enseignement supérieur et.
Pr. Alain Greiner (LIP6 - ASIM) Daniel Millot, Philippe Lalevee (INT)
Olivier GLUCK Jérôme JEANJEAN Responsable : Philippe LALEVEE, Département INF 05/02/1999.
La Saint-Valentin Par Matt Maxwell.
PLD GHome H4214 Piccolo Thomas Gu Lei Deville Romain Huang Yachen
Programmation concurrente
Notre calendrier français MARS 2014
C'est pour bientôt.....
Veuillez trouver ci-joint
Ordonnancement de tâches
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
* Source : Étude sur la consommation de la Commission européenne, indicateur de GfK Anticipations.
Un système de gestion de tâches pour la machine parallèle MPC
La machine parallèle MPC1
SI Informations routières- 1 CETE-SO Les réseaux de transmission : Utilisation du Wi-Fi ‏ La collecte de l’information Formation CERPET – juin 2008 Abdelmename.
CALENDRIER-PLAYBOY 2020.
1. Présentation générale du système
1 Nestlé – Optifibre Zones administrables via le back-office.
Les Chiffres Prêts?
Médiathèque de Chauffailles du 3 au 28 mars 2009.
Projet Implémentation du protocole MMT sous Linux
Les réseaux locaux virtuels : VLAN
1. Introduction Le traitement informatisé de données requiert un dialogue, une communication entre l’homme et la machine, et parfois, entre plusieurs.
Laboratoire Intégration des Architectures Numériques (IAN)
Interface de communication pour les réseaux InfiniBand
Architecture Client/Serveur
(R&D) Valpré, Septembre 2006David Etasse Comment optimiser l’usage d’un lien Ethernet Gigabit en acquisition de données ? « FASTER »
Olivier Glück UPMC/LIP6/ASIM
Transcription de la présentation:

La machine parallèle MPC1 Hardware, protocoles et performances Université P. & M. Curie (PARIS) Laboratoire dInformatique de PARIS6 Olivier Glück

2 Plan n Introduction n Architecture matérielle n La couche de communication bas-niveau (PUT) n MPI sur la machine MPC1 l Problématique l Les messages internes à MPI l Les primitives MPI l Premières performances l PUT en mode utilisateur l Redistribution de la mémoire n Conclusion

3 Introduction n Une carte réseau PCI (FastHSL) développée au LIP6 : l Liens série, point à point (HSL,1 Gbit/s) l RCUBE : routeur (8x8 crossbar, 8 HSL ports) l PCIDDC : contrôleur réseau PCI (protocole de communication de type « Remote DMA ») n But : fournir des couches logicielles les plus performantes au niveau applicatif (MPI)

4 Architecture matérielle R3 PCI DDC R3 PCI DDC Standard PC running LINUX or FreeBSD FastHSL boards Standard PC running LINUX or FreeBSD

5 La carte FastHSL

6 MPC avant

7 MPC maintenant 8 nœuds bi-pro 1GHz, 8 Go de RAM, 160 Go de disk

8 Le matériel Le lien HSL (1 Gbit/s) n Câble coaxial, lien série, point à point, full-duplex n Les données sont encodées sur 12 bits n Contrôle de flux matériel RCUBE n Routeur rapide, reconfigurable et à grande extensibilité n Latence : 150 ns n Routage wormhole PCIDDC n Le contrôleur réseau, interface avec le bus PCI n Réalise le protocole de communication : Remote DMA n Stratégie zéro-copie

9 Le protocole de communication bas-niveau n Protocole zéro-copie (dépôt direct dans la mémoire du destinataire) n Accès direct à la mémoire du nœud hôte Process Memory Process Memory SenderReceiver Process Memory Kernel Memory I/O Memory I/O Memory Kernel Memory Process Memory

10 L'écriture distante

11 PUT : la couche de communication bas-niveau n Supportée par les Unix standards : FreeBSD / Linux n Stratégie zéro-copie n Fournit une API noyau simple utilisant lécriture distante de PCIDDC n Paramètres dun appel à PUT() : l numéro de nœud distant l adresse physique locale l adresse physique distante l taille des données à émettre l un identifiant de message l fonctions de callback pour la signalisation

12 Performances de PUT PC Pentium II 350MHz Débit : 494 Mbit/s Demi-débit : 66 octets Latence : 4 µs (sans appel système, sans interruption)

13 MPI sur MPC (1) Réseau HSL Driver FreeBSD ou LINUX MPI PUT Une implémentation de MPICH sur lAPI PUT

14 MPI sur MPC (2)

15 Problématique (1) n 2 principaux problèmes : l Où écrire les données dans la mémoire physique du nœud récepteur ? l On ne peut transmettre que des données contiguës en mémoire physique

16 Problématique (2) Ici, 3 buffers physiques sont nécessaires.

17 Les messages de lAPI GM_P6 Les messages de contrôle n SHORT : émission des données utilisateur avec copie intermédiaire dans des tampons alloués par MPI. n REQ : envoi dune requête pour un protocole de rendez-vous. n RSP : réponse à une requête (contient la description du tampon de réception). n CRDT : contrôle de flux au niveau MPI (algorithme à crédit). Les messages data n Envoi des données utilisateur en mode zéro-copie après un protocole de rendez-vous

18 Format des messages de contrôle crdttypesrctaglenuser data SHORT : 20 octets + données user crdttypesrctaglensid crdttypesrcsidcanalrecv_map crdttypesrctaglen REQ : 24 octets RSP : 20 octets + recv_map CRDT : 20 octets

19 Les messages de contrôle n Transfert dune information de contrôle (REQ, RSP, CRDT) ou de données utilisateur (SHORT) n Utilisation de tampons contigus en mémoire physique pré- alloués par MPI au démarrage de lapplication (boîtes aux lettres) n Une copie en émission et en réception (pas grave pour des petits messages)

20 Les messages de données n Transfert des données utilisateur par un protocole de rendez-vous n Mode zéro-copie n La description en mémoire physique du tampon de réception est transmise à l'émetteur dans un message RSP

21 Les primitives MPI (1) 2 copies, 1 message0 copie, 3 messages

22 Les primitives MPI (2) MPI_Ssend et MPI_ISsend n On se place dans le mode DATA : quelle que soit la taille du message, on a besoin du protocole de rendez-vous pour faire la synchronisation MPI_Bsend et MPI_IBsend n Idem que MPI_Send et MPI_ISend MPI_Rsend et MPI_IRsend n Idem que MPI_Send et MPI_ISend mais on na plus besoin de REQ (on gagne un message de contrôle dans le cadre du protocole de rendez-vous)

23 Les différentes API dans MPI MPICH MPI-MPC RDMA PUT ou BIP MPI_SEND(VAD, len, tid_dst, TAG) MPI_RECV(VAD, len, tid_src, TAG) API MPI API GM_P6 API RDMA API PUT GMPI_SEND_DATA(VAD, len, tid_dst, TAG, recv_map, canal) GMPI_SEND_SHORT(VAD, len, tid_dst, TAG) GMPI_SEND_REQ(tid_dst, TAG) GMPI_SEND_RSP(tid_dst, TAG, recv_map, canal) GMPI_SEND_CREDIT(tid_dst) RDMA_SEND(Nsrc, Ndst, PRSA, PLSA, len, canal, NS, NR) RDMA_SENT_NOTIFY(Ndst, canal) RDMA_RECV_NOTIFY(Nsrc, canal) RDMA_LOOKUP() PUT_ADD_ENTRY(Ndst, PRSA, PLSA, len, mi, flags) PUT_SENT_NOTIFY(Ndst, PRSA, PLSA, len, mi, flags) PUT_RECV_NOTIFY(mi, data1, data2) PUT_FLUSH_LPE() PUT_FLUSH_LMI()

24 Performances MPI (1) Latency : 29 µsThroughput : 490 Mbit/s

25 Performances MPI (2) Cray Latency : 57 µsThroughput : 1200 Mbit/s MPCLatency : 29 µsThroughput : 490 Mbit/s

26 Performances MPI (3)

27 Comment améliorer les performances ? n On se place dans le cas dune seule application MPI à la fois (mode batch) n On cherche à éliminer les appels système PUT en mode utilisateur n Il faut simplifier les opérations de verrouillage et de traduction dadresses Redistribution de la mémoire n On veut rester dans le standard MPI

28 Les appels système La couche de bas-niveau PUT se trouve dans le noyau. Appels système les plus fréquents : n émission : appel de put_add_entry() n signalisation : soit par interruption soit par polling l appel de put_flush_lpe (signalisation en émission) l appel de put_flush_lmi (signalisation en réception) Appels système dus à la traduction dadresse : n verrouillage des données en mémoire (mlock) n traduction adresse virtuelle en adresse physique

29 PUT en mode utilisateur (1) Un PUT simplifié pour MPI et en mode utilisateur : n une seule application utilisatrice de PUT (MPI) n plus dappels système pour faire les émissions et la signalisation Les problèmes qui se posent : n accès en configuration à la carte FastHSL en mode utilisateur n partage des ressources globales (en particulier de la carte réseau) entre les différentes tâches MPI n Elimination des interruptions trop coûteuses

30 PUT en mode utilisateur (2)

31 PUT en mode utilisateur (3) Sur un PII-350MHz, 128 Mo de RAM : Latence MPI sur PUT noyau MPI sur PUT utilisateur 29 µs21 µs

32 Redistribution de la mémoire (1) On souhaite éviter les coûts de verrouillage et de traductions dadresse. Idée : la mémoire virtuelle de chacune des tâches MPI correspond à une zone contigüe en mémoire physique. Lors de linitialisation, on attribue statiquement la mémoire physique de la machine de façon contigüe à chacune des tâches. But : adresse virtuelle = adresse physique + offset

33 Redistribution de la mémoire (2) Coûteux lors de linitialisation Pas de modification de lOS Pas de modification de la libc

34 Etat davancement n Une première implémentation de MPI sur MPC l résultats encourageants l fonctionne avec PUT noyau ou PUT utilisateur n PUT utilisateur l mesures à affiner l amélioration de la signalisation l on a gagné en portabilité n Redistribution de la mémoire l pas implémenté et pas testé sur MPI l aucune mesure

35 Perspectives n Amélioration de PUT utilisateur l on espère passer en dessous des 20 µs de latence avec MPI n Redistribution de la mémoire l naméliorera pas la latence l amélioration du débit pour les moyens messages