communications dans les grappes hautes performances raymond namyst labri université de bordeaux i
TRANSCRIPT
![Page 1: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/1.jpg)
Communications dans les grappes hautes performances
Raymond NamystLaBRIUniversité de Bordeaux I
![Page 2: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/2.jpg)
Plan
Technologies matérielles Ethernet, Myrinet, SCI
Interfaces de bas niveau BIP, SISCI, VIA
Interfaces de haut niveau MPI et les communications irrégulières
Interfaces de niveau intermédiaire FM, Madeleine
Vers les grappes hétérogènes…
![Page 3: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/3.jpg)
Technologiesmatérielles
Cartes passives, actives,réseaux à capacité d’adressage
![Page 4: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/4.jpg)
(Fast|Giga)-Ethernet
Interconnexion Hub ou switch
Câblage Cuivre ou fibre optique
Latence ~20 µs
Débit 100 Mb/s et 1Gb/s
Note Compatibilité avec l’Ethernet classique
Hub
Switch
![Page 5: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/5.jpg)
Ethernet
Cartes passives (sauf Giga-Ethernet) Interfaces : TCP, SBP, GAMMA, VIA, …
Network
TX reg
RX reg
Packet InterfacePacket InterfacePCI
Bridge
PCI
Bridge
PCI Bus
DMADMA
Memory
TX-ring
NIC
![Page 6: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/6.jpg)
Myrinet
Société Myricom (C. Seitz) Interconnexion
Switch Câblage
Nappes courtes Cartes équipées d’un processeur Latence
1~2 µs Débit
1 Gb/s Note
Durée de vie limitée des messages (50 ms)
LANai
![Page 7: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/7.jpg)
Myrinet
Routage Réseau commuté, routage wormhole
Carte programmable Protocoles de transmission
« intelligents » Stratégie adaptée à la taille des messages Déclenchement d’interruptions
NetworkRISC
Packet
Interface
DMADMA
PCI
Bridge
PCI
Bridge
PCI Bus
LANai
SRAMSRAM
NIC
![Page 8: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/8.jpg)
SCI
Scalable Coherent Interface Norme IEEE (1993) Société Dolphin
Fonctionnement par accès mémoire distants Projections d’espaces d’adressage
Machine A Machine B
Réseau SCI
Mémoire
MémoireBus PCI Bus PCI
![Page 9: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/9.jpg)
Carte à capacité d ’addressage
BUS PCI
TLB
Interface
paquetPaquet
SCI
Pci req:
addr+data
BUS PCI
TLB
Interface
paquet
Paquet SCI
Pci req:
addr+data
Partie émission Partie réception
![Page 10: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/10.jpg)
Adressage à distance
Projections effectués par le pilote (SISCI) Zones de mémoire physiques souvent spécifiques
Accès mémoire effectués par le processeur Le processeur distant n’est pas (forcément) interrompu
Interconnexion SCI
Processus A
Espace d'adressage
virtuel
Bus PCI
PCI-SCI
Processus B
Espace d'adressage
virtuel
Bus PCI
PCI-SCI
Mémoire physique
![Page 11: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/11.jpg)
SCI : mécanisme d’adressage
Adresse Virtuelle 32 bits
MMU
Adresse Physique (E/S)
Bus d’E/S
32 bits
10 bits 18 bits
Table de Translationdes Adresses
16 bits 30 bits 18 bitsDestinataire
Réseau
![Page 12: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/12.jpg)
30 bits 18 bits
Réseau
Adresse Physique (E/S)
Bus d’E/S
32 bits
Mémoire
SCI : mécanisme d’adressage
![Page 13: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/13.jpg)
SCI : performances
Latence : 2.5 s (écriture de processus à processus) Débit : 45 Mo/s Verrou : < 10 s (fetch&add)
![Page 14: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/14.jpg)
Interfaces de bas niveau
BIP, SISCI, VIA
![Page 15: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/15.jpg)
Communications performantes
Comment exploiter les réseaux rapides ? Faible latence
Quelques microsecondes Bande passante élevée
De l’ordre du Gb/s
Tendance actuelle Interaction directe avec la carte réseau
Communication en « mode utilisateur » Transmissions zéro-copie
La carte récupère/dépose les données au bon endroit
![Page 16: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/16.jpg)
Interfaces
Initialisation Réservée au système Uniquement en début
de session
Transferts Directs depuis
l’espace utilisateur Pas d’appels
systèmes Pas de transitions Transmissions zéro-
copie
Interface
Programme
Réseau
Système
Espace utilisateur
TransfertsInitialisation
![Page 17: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/17.jpg)
Streamline Buffer Protocol
UNH (R. Russell & P. Hatcher) Principe
Partage de tampons entre noyau/processus Tampons préformatés (trames ethernet)
Deux jeux de files de tampons : RQ & SQ
Performances (Linux, P133) Latence : 24 us, débit : ~ 12 Mo/s
![Page 18: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/18.jpg)
Basic Interface for Parallelism: BIP
L. Prylli & B. Tourancheau Principe
Envoi de message “classique” (asynchrone)
Pas de contrôle de flux Pas de detection d’erreur
Performances Latence : 4.8us, débit : 126 Mo/s
![Page 19: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/19.jpg)
BIP
Fonctionnalités réduites au minimum Messages courts : recopiés à l’arrivée Messages longs : mode zéro-copie (RDV)
Contrôle de flux minimal Matériel (msgs “évaporés” au dela de
50ms)
![Page 20: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/20.jpg)
Interface Dolphin pour SCI
Deux niveaux : Interface orientée “fichiers projetés” Interface orientée “VIA” (cf + loin)
Fichiers projetés Utilisation de “mmap”
Synchronisation Segments spéciaux “fetch & add”
![Page 21: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/21.jpg)
SISCI: principe
Communications Accés mémoire distants
Implicites (après projection) Explicites (remote DMA)
Support matériel pour une MVP (?) Performances
Ecriture 2 us, lecture 4 us Bande passante 85 Mo/s (difficilement
!)
![Page 22: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/22.jpg)
SCI : optimisations matérielles
Caches dans la carte : Read Prefetching Write Combining
Interconnexion SCI
Processus A
Espace d'adressage
virtuel
Bus PCI
PCI-SCI
Processus B
Espace d'adressage
virtuel
Bus PCI
PCI-SCI
Mémoire physique
![Page 23: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/23.jpg)
Conséquences
Une Grappe SCI est une NC-NUMA Non-Coherent Non-uniform Memory
Arch. Cohérence séquentielle non vérifiée
Plus gênant : ordre des écritures modifié Pb d’atomicité des transactions PCI Assez inhabituel (?)
![Page 24: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/24.jpg)
VIA
Virtual Interface Architecture
Tentative de standardisation Beaucoup d’industriels impliqués
Caractéristiques Principe d’interfaces virtuelles Zones de transmission protégées Lectures/Ecritures distantes
![Page 25: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/25.jpg)
VIA: Basic Principles
Use the Kernel for Set-Up……and Get It Out of the Way for Send/Receive!
The “Virtual Interface” (VI) Protected Application-Application Channel Memory Directly Accessible by User Process
Target Environment LANs and “SAN”s at Gigabit Speeds No Reliability of Underlying Media Assumed
![Page 26: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/26.jpg)
VI Architecture
VI Consumer
VI User Agent (“libvia”)O
pen,
Con
nect
, M
ap M
emor
y
Descriptor Read, Write
VI-Capable NIC
Sockets, MPI,Legacy, etc.
RequestsCompleted
VI VI C
S S S COMP
R R R
VI
Do
orb
ells
Und
eter
min
ed
VI Kernel Agent (Slow) User-Level (Fast)
Host
NIC
![Page 27: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/27.jpg)
A Virtual Interface
VI Consumer
VI-Capable NIC
Descriptor
Descriptor
Send Q
Sen
d D
oo
rbel
l
Descriptor
Descriptor
Recv Q
Rec
eive
Do
orb
ell
Status Status
![Page 28: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/28.jpg)
Descriptors
Descriptors Contain: Address and Length of Data Buffer Status Fields Memory Protection Information Multiple Segments to Allow
Scatter/Gather etc., etc., etc.
A minimum of 45 bytes long Many messages may only be a few
bytes...
![Page 29: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/29.jpg)
Queues and Doorbells
Queues of DescriptorsTransmit and ReceiveCompletions and Errors May Reside on Host or NIC (Unspecified)
Doorbells“Addresses” of Descriptors, Small and FastAllows NIC to Use Descriptors…Future “VIA-NICs” May Have Hardware Support
![Page 30: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/30.jpg)
Memory Registration
Data buffers and descriptors must reside within a region of “registered memory”
Call VipRegisterMemory Pins the specified pages into physical
memory Communicates the addresses to the NIC
To allow DMA I/O from the NIC
![Page 31: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/31.jpg)
Ce qu’il faut retenir
Interfaces de très bas niveau ! Fonctionnalités proches du matériel
Grande efficacité Paradigmes très différents Approche non généralisable
Pas de consensus Tentative de standard : VIA
- Virtual Interface Architecture (Intel, Microsoft, Compaq)
- But : dénominateur commun- Bas niveau, peu adapté à certaines technologies
Portabilité ???
![Page 32: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/32.jpg)
Interfaces de haut niveau
LA solution ?
![Page 33: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/33.jpg)
Bibliothèques
Paradigme passage de message Les nœuds se synchronisent et communiquent
par messages
Deux instructions de base Send émission d’un message Receive réception d’un message
Points forts Simple à mettre en oeuvre Permet d’émuler les autres paradigmes
![Page 34: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/34.jpg)
PVM
Parallel Virtual Machine Laboratoire National d’Oak Ridge (Tennessee) 1989
Caractéristiques Notion de machine virtuelle
Ensemble de machines physiquesConstruction préalable au lancement de la session
Disponibilité très large Réseaux
UDP + protocole de réémission
Support de l’hétérogénéité XDR
![Page 35: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/35.jpg)
MPI
Message Passing Interface MPI-Forum v1.0 1994 v2.0 1997
Caractéristiques Un standard, pas une bibliothèque Diverses implémentations
MPI-CHLAM-MPI…
Supplante PVM Version 2.0 encore peu implémentée
![Page 36: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/36.jpg)
MPI répond-t-il aux besoins ?
Implantations efficaces existantes MPICH/BIP, MPICH/SISCI, etc.
Quid des schémas de communication de la vraie vie ?
Messages dont le contenu est inconnu a priori par le récepteur
- Transmissions zéro-copie ?
Messages asynchrones- Recouvrement des communications ?
Accès mémoire distants (PUT/GET)- Temps de réponse ?
![Page 37: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/37.jpg)
Transmissions zéro-copie
Processus A Processus BRéseau
Message
EntêteDonnées
![Page 38: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/38.jpg)
Transmissions zéro-copie
Processus A Processus BRéseau
EntêteDonnées
![Page 39: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/39.jpg)
Transmissions zéro-copie
Processus A Processus BRéseau
EntêteDonnées
![Page 40: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/40.jpg)
Transmissions zéro-copie
Processus A Processus BRéseau
Préparation mémoire
EntêteDonnées
![Page 41: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/41.jpg)
Transmissions zéro-copie
Processus A Processus BRéseau
Acquittement
EntêteDonnées
![Page 42: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/42.jpg)
Transmissions zéro-copie
Processus A Processus BRéseau
EntêteDonnées
DMA
![Page 43: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/43.jpg)
Transmissions zéro-copie
Processus A Processus BRéseau
Préparation mémoire
Acquittement
Message
EntêteDonnées
DMA
![Page 44: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/44.jpg)
Transmissions zéro-copie
Processus A Processus BRéseau
Préparation mémoire
Acquittement
Message
EntêteDonnées
DMA
![Page 45: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/45.jpg)
Et la réactivité alors ?
Problèmes Assurer la progression des communications
asynchrones Réagir rapidement aux sollicitations extérieures
procproc proc proc
réseau
![Page 46: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/46.jpg)
Envois asynchrones
Parvient-on vraiment à assurer du recouvrement ?
Processus A Processus B
Acquittement
MPI_Isend
MPI_recv
MPI_test
![Page 47: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/47.jpg)
Interfaces deniveau intermédiaire
Madeleine : principe et interface
![Page 48: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/48.jpg)
Madeleine
Interface de communication Efficace et portable
Double objectif Support de multiples paradigmes/modes Support de multiples réseaux simultanément
Proposition Programmation par « contrat »
Contrôle du niveau d’optimisation Transferts immédiats possibles
Statut Disponible sur BIP, GM, SISCI, VIA, TCP et MPI.
![Page 49: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/49.jpg)
Construction des messages
Gestion des canaux (~ communicators) Choix explicite du dispositif physique
Interface
mad_begin_packing
mad_pack
mad_end_packing
mad_begin_unpacking
mad_unpack
mad_end_unpacking
![Page 50: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/50.jpg)
Construction des messages
Commandes Mad_pack(cnx, buffer, len, pack_mode, unpack_mode) Mad_unpack(cnx, buffer, len, pack_mode, unpack_mode)
Modes d’émission Send_CHEAPER Send_SAFER Send_LATER
Modes de réception Receive_CHEAPER Receive_EXPRESS
Contraintes d’utilisation Séquences pack/unpack strictement symétriques
Triplets (len, pack_mode, unpack_mode) identiques en émission et en réception
Cohérence des données
![Page 51: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/51.jpg)
Contrat programmeur/interface
Send_SAFER/Send_LATER/Send_CHEAPER
Contrôle du transfert des données Latitude d’optimisation
Engagement du programmeur Intégrité des données
Services particuliers Émission différée Réutilisation de tampons
Spécification au niveau sémantique Indépendance : service requis / technique sélectionnée
![Page 52: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/52.jpg)
Émission
Pack
Modification
End_packing
Send_SAFER Send_LATER Send_CHEAPER
![Page 53: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/53.jpg)
Structuration des messages
Receive_CHEAPER/Receive_EXPRESS
Receive_EXPRESS Réception immédiate impérative Interprétation/extraction du message
Receive_CHEAPER Réception libre du bloc Contenu du message Express
![Page 54: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/54.jpg)
Réception
Unpack
Après Unpack
End_unpacking
Receive_EXPRESS Receive_CHEAPER
Donnée disponible Disponibilité ???
Donnée disponible
![Page 55: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/55.jpg)
Exemple
mad_end_unpacking(cnx);
send_CHEAPER,receive_CHEAPER);
mad_unpack(cnx, s, n,
s = malloc(n);
send_CHEAPER,receive_EXPRESS);
mad_unpack(cnx, &n, sizeof(int),
cnx = mad_begin_unpacking(channel);
p_mad_connection_t cnx;
char *s = NULL;
int n;
mad_pack(cnx, s, n,
send_CHEAPER, receive_CHEAPER);
mad_end_packing(cnx);
send_CHEAPER, receive_EXPRESS);
mad_pack(cnx, &n, sizeof(int),
n = strlen(s) + 1;
cnx = mad_begin_packing(channel, dest);
p_mad_connection_t cnx;
char *s = "Hello, World !";
int n;
Sending side Receiving side
![Page 56: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/56.jpg)
Exemple
mad_end_unpacking(cnx);
send_CHEAPER,receive_CHEAPER);
mad_unpack(cnx, s, n,
s = malloc(n);
send_CHEAPER,receive_EXPRESS);
mad_unpack(cnx, &n, sizeof(int),
cnx = mad_begin_unpacking(channel);
p_mad_connection_t cnx;
char *s = NULL;
int n;
mad_pack(cnx, s, n,
send_CHEAPER, receive_CHEAPER);
mad_end_packing(cnx);
send_CHEAPER, receive_EXPRESS);
mad_pack(cnx, &n, sizeof(int),
n = strlen(s) + 1;
cnx = mad_begin_packing(channel, dest);
p_mad_connection_t cnx;
char *s = "Hello, World !";
int n;
Sending side Receiving side
![Page 57: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/57.jpg)
Exemple
mad_end_unpacking(cnx);
send_CHEAPER,receive_CHEAPER);
mad_unpack(cnx, s, n,
s = malloc(n);
send_CHEAPER,receive_EXPRESS);
mad_unpack(cnx, &n, sizeof(int),
cnx = mad_begin_unpacking(channel);
p_mad_connection_t cnx;
char *s = NULL;
int n;
mad_pack(cnx, s, n,
send_CHEAPER, receive_CHEAPER);
mad_end_packing(cnx);
send_CHEAPER, receive_EXPRESS);
mad_pack(cnx, &n, sizeof(int),
n = strlen(s) + 1;
cnx = mad_begin_packing(channel, dest);
p_mad_connection_t cnx;
char *s = "Hello, World !";
int n;
Sending side Receiving side
![Page 58: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/58.jpg)
Exemple
mad_end_unpacking(cnx);
send_CHEAPER,receive_CHEAPER);
mad_unpack(cnx, s, n,
s = malloc(n);
send_CHEAPER,receive_EXPRESS);
mad_unpack(cnx, &n, sizeof(int),
cnx = mad_begin_unpacking(channel);
p_mad_connection_t cnx;
char *s = NULL;
int n;
mad_pack(cnx, s, n,
send_CHEAPER, receive_CHEAPER);
mad_end_packing(cnx);
send_CHEAPER, receive_EXPRESS);
mad_pack(cnx, &n, sizeof(int),
n = strlen(s) + 1;
cnx = mad_begin_packing(channel, dest);
p_mad_connection_t cnx;
char *s = "Hello, World !";
int n;
Sending side Receiving side
![Page 59: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/59.jpg)
Exemple
mad_end_unpacking(cnx);
send_CHEAPER,receive_CHEAPER);
mad_unpack(cnx, s, n,
s = malloc(n);
send_CHEAPER,receive_EXPRESS);
mad_unpack(cnx, &n, sizeof(int),
cnx = mad_begin_unpacking(channel);
p_mad_connection_t cnx;
char *s = NULL;
int n;
mad_pack(cnx, s, n,
send_CHEAPER, receive_CHEAPER);
mad_end_packing(cnx);
send_CHEAPER, receive_EXPRESS);
mad_pack(cnx, &n, sizeof(int),
n = strlen(s) + 1;
cnx = mad_begin_packing(channel, dest);
p_mad_connection_t cnx;
char *s = "Hello, World !";
int n;
Sending side Receiving side
![Page 60: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/60.jpg)
Exemple
mad_end_unpacking(cnx);
send_CHEAPER,receive_CHEAPER);
mad_unpack(cnx, s, n,
s = malloc(n);
send_CHEAPER,receive_EXPRESS);
mad_unpack(cnx, &n, sizeof(int),
cnx = mad_begin_unpacking(channel);
p_mad_connection_t cnx;
char *s = NULL;
int n;
mad_pack(cnx, s, n,
send_CHEAPER, receive_CHEAPER);
mad_end_packing(cnx);
send_CHEAPER, receive_EXPRESS);
mad_pack(cnx, &n, sizeof(int),
n = strlen(s) + 1;
cnx = mad_begin_packing(channel, dest);
p_mad_connection_t cnx;
char *s = "Hello, World !";
int n;
Sending side Receiving side
![Page 61: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/61.jpg)
Exemple
mad_end_unpacking(cnx);
send_CHEAPER,receive_CHEAPER);
mad_unpack(cnx, s, n,
s = malloc(n);
send_CHEAPER,receive_EXPRESS);
mad_unpack(cnx, &n, sizeof(int),
cnx = mad_begin_unpacking(channel);
p_mad_connection_t cnx;
char *s = NULL;
int n;
mad_pack(cnx, s, n,
send_CHEAPER, receive_CHEAPER);
mad_end_packing(cnx);
send_CHEAPER, receive_EXPRESS);
mad_pack(cnx, &n, sizeof(int),
n = strlen(s) + 1;
cnx = mad_begin_packing(channel, dest);
p_mad_connection_t cnx;
char *s = "Hello, World !";
int n;
Sending side Receiving side
![Page 62: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/62.jpg)
Interfaces deniveau intermédiaire
Madeleine : implantation
![Page 63: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/63.jpg)
Organisation verticale
Utilisation du modèle traditionnel à deux couches Gestion des tampons
Factorisation du code de traitements de données
Abstraction du matériel
Interface
Gestion des
tampons
Gestionde
protocoleRéseauRéseau
![Page 64: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/64.jpg)
Organisation horizontale
Approche modulaire Module de gestion de tampons (MGT) Module de gestion de protocole (MGP) Module de transmission (MT)
Interface
Gestion des
tampons
Gestionde
protocole
MGT MGT
MT MT MT
RéseauRéseau
MGP MGP
![Page 65: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/65.jpg)
Modules de transmission
Thread
Réseau
Pack
Madeleine
Interface MGT
MGT
MT
MT
Processus
![Page 66: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/66.jpg)
Adaptativité
Sélection du mode de transmission adéquat
Interface
Gestion des
tampons
Gestionde
protocole
Pack
??
![Page 67: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/67.jpg)
Implementation
Madeleine II a été portée sur : SISCI/SCI BIP/Myrinet MPI VIA TCP SBP
![Page 68: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/68.jpg)
Évaluation
Environnement de test Grappe de PC bi-Pentium II 450 MHz, 128 Mo Réseau Fast-Ethernet Réseau SISCI/SCI Réseau BIP/Myrinet
Méthode de test Unidirectionnel
Mesure : 1000 émissions + 1 réception Résultat : moyenne sur 5 mesures
Bidirectionnel Mesures : 1000 x (émission + réception) Résultat : moyenne sur 5 mesures
![Page 69: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/69.jpg)
SISCI/SCI – temps de transfertTest unidirectionnel
1
10
100
1000
10000
100000
4 16 64 256
1024
4096
1638
4
6553
6
2621
44
1048
576
Mad/ SISCI
SISCI
Taille de paquet (octets)
Tem
ps d
e
tran
sfe
rt(µ
s)
![Page 70: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/70.jpg)
SISCI/SCI – débitTest unidirectionnel
0,1
1
10
100
4 16 64 256
1024
4096
1638
4
6553
6
2621
44
1048
576
Mad/ SISCI
SISCI
Taille de paquet (octets)
Déb
it
(Mo/
s)
![Page 71: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/71.jpg)
SISCI/SCI – temps de transfertTest bidirectionnel
1
10
100
1000
10000
100000
4 16 64 256
1024
4096
1638
4
6553
6
2621
44
1048
576
Mad/ SISCI
SISCI
Taille de paquet (octets)
Tem
ps d
e
tran
sfe
rt(µ
s)
![Page 72: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/72.jpg)
SISCI/SCI – débitTest bidirectionnel
0,1
1
10
100
4 16 64 256
1024
4096
1638
4
6553
6
2621
44
1048
576
Mad/ SISCI
SISCI
Taille de paquet (octets)
Déb
it
(Mo/
s)
![Page 73: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/73.jpg)
SISCI/SCI – temps de transfertPacks/messages
1
10
100
1000
10000
100000
4 16 64 256
1024
4096
1638
4
6553
6
2621
44
1048
576
Mad/ SISCI
2 msgs
2 packs
4 msgs
4 packs
8 msgs
8 packs
16 msgs
16 packs
32 msgs
32 packs
64 msgs
64 packs
128 msgs
128 packs
256 msgs
256 packs
Taille de paquet (octets)
Tem
ps d
e
tran
sfe
rt(µ
s)
![Page 74: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/74.jpg)
SISCI/SCI – débitPacks/messages
Taille de paquet (octets)
Déb
it
(Mo/
s)
0,1
1
10
100
4 16 64256
10244096
1638465536
262144
1048576
Mad/ SISCI
2 msgs
2 packs
4 msgs
4 packs
8 msgs
8 packs
16 msgs
16 packs
32 msgs
32 packs
64 msgs
64 packs
128 msgs
128 packs
256 msgs
256 packs
![Page 75: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/75.jpg)
Interfaces deniveau intermédiaire
Gestion du multiplexage
![Page 76: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/76.jpg)
Proposition
Concept de canal Similaire à un communicator MPI Un canal, c’est :
Un protocole Une carte d’interface Un ensemble de nœuds Un ensemble de connexions point-à-
point
![Page 77: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/77.jpg)
Les Canaux
Canal Réseau Ensemble de noeuds Ensemble de connexions point-à-point
Noeud 1
Noeud 2
Noeud 3
Noeud 4
TCP
TCP
SCI
![Page 78: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/78.jpg)
Gestion des ressources
Problème Chaque canal consomme des
ressources réseauTags BIP, descripteurs SCI, descripteurs TCP
Le nombre de ressources peut dépendre du nombre de nœuds !Segments de mémoire partagée SCI
Solution Introduire des fonctionnalités de
multiplexage
![Page 79: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/79.jpg)
C’est quoi le Multiplexage ?
Virtualisation des ressources Idéalement : disposer de « xchannels »
Utilisables comme des « channels »Disponibles en quantité arbitraire
Arghhh! Et les performances ? Trouver le bon niveau d’abstraction Conserver les canaux réels
![Page 80: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/80.jpg)
Multiplexage à quel niveau ?
Sur-couche au-dessus de Madeleine Ex: abtraction de type « messages actifs
»Multiplexage partiel -> pas d’entrelacement
des packsMultiplexage complet -> contrôle de flux à
chaque pack ou recopies à l’arrivée
Contrôle de flux interne à Madeleine A chaque pack Même problème que ci-dessus…
![Page 81: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/81.jpg)
Vers les grappes degrappes
![Page 82: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/82.jpg)
Objectifs
Support des grappes de grappes Communications hétérogènes Transparence Efficacité du routage sur les machines
« passerelles » Minimisation des copies Maintien du débit par techniques de pipeline Utilisation des threads !
PC/MyrinetPC/SCI
Réseau rapide
![Page 83: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/83.jpg)
PACX-MPI
Mécanismes transparents pour l’application
TCP/IP est utilisé sur les liaisons inter-grappes
Deux noeuds “passerelles” sont dédiés sur chaque grappe
MPI MPITCP
TCP
![Page 84: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/84.jpg)
MPI MPIInternet
MPICH-G2
Implémentation Multi-grappes de MPICH Communications intra-grappe
MPI Communications inter-grappes
TCP Communications directes (pas de routage)
Myrinet
SCI
![Page 85: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/85.jpg)
Support multi-grappe
Exploitation des grappes de grappes Réseaux intra-grappes rapides
Liens inter-grappes rapides
Hétérogénéité au niveau réseau
Réseau à haut débitRéseau
hautes performance
s
Réseau hautes
performances
![Page 86: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/86.jpg)
Principe
Canaux réels Liés à un réseau Ne couvrent pas nécessairement tous les nœuds
Canaux virtuels Couvrent tous les nœuds Contiennent plusieurs canaux réels
MyrinetSCI
Virtuel
![Page 87: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/87.jpg)
Fonctionnement
Retransmission multi-réseau automatique Approche générique Fonctionnement multi-threadé Routes statiques
Notion de MTU
Nœud passerelle
Mémoire
Bus PCI
Myrinet
LANai
SCI
![Page 88: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/88.jpg)
Préservation du débit
Pipeline Réceptions et réémissions simultanées
Une seule copie Même tampon pour réception et retransmission
Tampon 1
Tampon 2
Réception
Emission
LANai
![Page 89: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/89.jpg)
Intégration
Module de transmission générique Limitation du code traversé sur les passerelles
Interface
Gestion des
tampons
Gestionde
protocole
MGT MGT
MT MT MT
RéseauRéseau
MT générique
![Page 90: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/90.jpg)
Module de retransmission
Thread
Réseau 2
Madeleine
MGT MT
MT
Processus
MTInterface
Threads
Réseau 1
![Page 91: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/91.jpg)
Tests de performances
Ping-pong entre 2 machines séparées par une passerelle
SCI Myrinet
321
![Page 92: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/92.jpg)
Retransmission: BIP&SCI
0
20
40
60
80
100
120
1 4 16 64 256
1024
4096
1638
4
6553
6
2621
44
1048
576
Taille de paquets (octets)
Ban
de
pas
san
te (
MO
/s)
BIP-SCI
BIP
SCI
Retransmission: BIP&SCI
0
20
40
60
80
100
120
1 4 16 64 256
1024
4096
1638
4
6553
6
2621
44
1048
576
Taille de paquets (octets)
Ban
de
pas
san
te (
MO
/s)
BIP-SCI
BIP
SCI
Multi-grappes
Myrinet
SCI
![Page 93: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/93.jpg)
Évaluation
SCI
BIP
BIP/SCI Avec une passerelle
Bande passante
80 Mo/s
116 Mo/s
41 Mo/s
Latence
5,3 μs
7,8 μs
32,5 μs
![Page 94: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/94.jpg)
Intégration des threadset des communications
Réactivité des nœuds aux E/S
![Page 95: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/95.jpg)
Progression des communications
Problème Comment assurer la progression des
communications ?
procproc proc proc
réseau
![Page 96: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/96.jpg)
Scrutation et interruptions
La scrutation est nécessaire API réseau ne fournissant pas d’appels
bloquants OS ne fournissant pas “d’activations”
Problème Fréquence difficile à assurer Coûteux en présence de multiple “pollers ”
Les interruptions sont nécessaires Réactivité
Problème Outils de synchronisation “interrupt safe” ?
![Page 97: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/97.jpg)
Support de l’ordonnanceur
Ordonnanceur = serveur de scrutation Choix de la méthode d’accès
(scrutation/intr.) Support pour la scrutation
Fréquence contrôlée Factorisation des scrutations multiples
Support pour les interruptions Utilisation possible des activations Verrous spécifiques « interrupt-safe »
![Page 98: Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I](https://reader036.vdocuments.net/reader036/viewer/2022062621/551d9d8c497959293b8c092a/html5/thumbnails/98.jpg)
Scrutation par l’ordonnanceur
Ordonnanceurdes threads
Création d’une catégoriede polling (ex: MPI), assignation d’une fréquence et enregistrement de callbacks.
Polling jobsqueue
MPI
MPI_IsendMarcel_poll
Chaque thread candidat à une opération de polling adresse une requête à l’ordonnanceur et se bloque.
MPI_IrecvMarcel_poll
callbackcallback
Régulièrement, l’ordonnanceur appelle la fonction de scrutation définie par l’utilisateur...
Polling( )