Supports de communication hautes...

34
Généralités Supports de communication classiques Supports de communication de bas niveau Supports de communication hautes performances ENSEIRB – Option PRCD Olivier AUMAGE I NRIA Laboratoire Bordelais de Recherche en Informatique Domaine Universitaire 351, cours de la Libération 33405 Talence Cedex 1er semestre 2005–2006 Olivier AUMAGE Supports de communication hautes performances

Transcript of Supports de communication hautes...

Page 1: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Supports de communication hautes performancesENSEIRB – Option PRCD

Olivier AUMAGE

INRIA

Laboratoire Bordelais de Recherche en InformatiqueDomaine Universitaire

351, cours de la Libération33405 Talence Cedex

1er semestre 2005–2006

Olivier AUMAGE Supports de communication hautes performances

Page 2: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Sommaire

1 Généralités

2 Supports de communication classiques

3 Supports de communication de bas niveau

Olivier AUMAGE Supports de communication hautes performances

Page 3: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Le calcul hautes performances distribué

Introduction

Présentation du domaine

Objectifs

Olivier AUMAGE Supports de communication hautes performances

Page 4: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Besoins applicatifs en puissance de calcul

Trois types de problèmesProblèmes faciles

Pas besoin de puissance« peu d’intérêt »

Problèmes difficiles (inaccessibles)Besoin de trop de puissance« peu d’intérêt »

Problèmes à difficulté variablePlus de puissances et/ou temps de calcul= meilleur résultatbeaucoup d’intérêt (économique)

Olivier AUMAGE Supports de communication hautes performances

Page 5: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Obtenir plus de puissance

Deux solutions

Attendre pour acheter une machine de génération suivanteAssocier plusieurs machines de la génération actuelle

ParallélismeTemps vs Espace

Schéma courant en informatique

Olivier AUMAGE Supports de communication hautes performances

Page 6: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Évolution de la demande de puissance

Évolution quantitative

Croissance soutenue

Évolution qualitative

Profond bouleversement dans les années 1990Prise en compte de nouveaux critères économiques

Coûts d’acquisition et de déploiementFiabilité, évolutivité, perennité

Olivier AUMAGE Supports de communication hautes performances

Page 7: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Conséquences

Matériel

Solutions architecturalement simplesGrappes

Un ensemble de machines « standard »Un commutateurQuelques câbles réseau

Grilles

Logiciel

Concentre l’essentiel des travaux du domaine

Difficultés de la programmation parallèle et distribuéeContraintes

EfficacitéPortabilité

Olivier AUMAGE Supports de communication hautes performances

Page 8: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Efficacité

Deux facteurs essentiels

Développement algorithmiqueQualité de l’infrastructure de communication

LatenceRéactivitéDébit

Caractéristiques pondérée suivant la nature des applications

Olivier AUMAGE Supports de communication hautes performances

Page 9: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Portabilité

Deux aspectsPortabilité par rapport à la plateforme

ProcesseurOS

Portabilité par rapport au matériel de communication

Un troisième aspect transversal, plus spécifique au domaine

Portabilité des performances

Olivier AUMAGE Supports de communication hautes performances

Page 10: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Portabilité

Solution : développement en couchesApplication

Code utilisateurEnvironnement de programmation de haut niveau

Environnement de travail lié au contexte de l’utilisateurExemples : NWChem, Pastix, ...

Environnement de programmation de bas niveau/support decommunication de haut niveau

Modèle de programmation distribuéeExemples : Global Arrays, PVM, MPI, Ibis, ...

Support de communication génériqueAbstraction du matérielOptimisation des communicationsExemples : ARMCI, CCS, TEG, Madeleine, NetIbis

Support de communication de bas niveauInterfaçage avec le matérielCode généralement non portableExemples : sockets (TCP, UDP, SCTP), BIP, GM, MX, SiSCI, libElan

RéseauMatériel : Ethernet, Myrinet, SCI, QSNet, Infiniband

Olivier AUMAGE Supports de communication hautes performances

Page 11: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Modèles de programmation

Trois voiesMémoire virtuellement partagée (DSM)

Abstraction de l’architecture distribuéeSimulation d’un processus unique avec partage de donnéesExtension de la notion d’espace mémoireAction au niveau des donnéesExemples : ...

Invocation de servicesAbstraction partielle de l’architecture distribuéeSimulation d’un processus unique sans partage de donnéesExtension de la notion d’appel de fonctionAction au niveau du contrôleExemples : Sun RPC, Corba, Java RMI, ...

Échange de messagesPas d’abstractionInteractions explicitesExemples : PVM, MPI, couches basses, ...

Olivier AUMAGE Supports de communication hautes performances

Page 12: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Échange de messages

Variantes

Collection/Dissémination

Construction/extraction incrémentale

Données typées

Types utilisateurs, données typées complexes

Messages actifs

Communications unilatérales

Olivier AUMAGE Supports de communication hautes performances

Page 13: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Matériel réseau

Caractéristiques communesRéseaux commutés en étoile

SCI : anneaux commutésFaible latence

Ordre de grandeur de la microsecondeHaut débit

1 à 10 Gb/s

Caractéristiques communesMyrinet (Myricom) :

Processeur embarqué : Lanai-2XP RISC, 333MHz (F cards)QSnet (Quadrics) :

Processeur et MMU embarqués : Elan 4

Olivier AUMAGE Supports de communication hautes performances

Page 14: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Sommaire

1 Généralités

2 Supports de communication classiques

3 Supports de communication de bas niveau

Olivier AUMAGE Supports de communication hautes performances

Page 15: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Sockets et protocoles « Internet »

Introduction

Interface Sockets

UDP, TCP, SCTP

Olivier AUMAGE Supports de communication hautes performances

Page 16: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

UDP

IP

TCP

LiaisonEthernet, wifi, ...

Applications

...

Http, Ftp NFS...

UDP

User Datagram Protocol, RFC 768,août 1980

GénéralitésDatagramme

Non connecté

Non fiable (pertes, duplication)

Non séquencé

Pas de contrôle de flux

Utilisation

NFS

TFTP

...

Olivier AUMAGE Supports de communication hautes performances

Page 17: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

UDP

Discussion

Relativement léger

Peu de valeur ajoutée

Olivier AUMAGE Supports de communication hautes performances

Page 18: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

TCP

IP

LiaisonEthernet, wifi, ...

Applications

...

Http, Ftp NFS...

UDPTCP

Transport Control Protocol,RFC 793, septembre 1981

GénéralitésFlux (stream)

Connecté

Fiable (pas de pertes, pas deduplication)

Séquencé

Flux contrôlé

Multiplexé

Utilisation

HTTP

FTP

Courrier électronique

SSH

...

Olivier AUMAGE Supports de communication hautes performances

Page 19: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

TCP

DiscussionLourd pour une utilisation sur réseau rapide

Considérations sur la fiabilité

Importante valeur ajoutée

Intéressant (indispensable) pour des interconnexions longues distancessur des plateformes de type grille

Olivier AUMAGE Supports de communication hautes performances

Page 20: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

SCTP

IP

LiaisonEthernet, wifi, ...

Applications

...

NFS...

UDPSCTP

Multimed

Stream Control Transport Protocol,RFC 2960, octobre 2000

GénéralitésFlux (stream) ou paquets

Connecté

Fiable (pas de pertes, pas deduplication)

Séquencé

Flux contrôlé

Multiplexé

Multi-flots

Multi-domiciliation

Multi-association (mais unicast)

UtilisationTéléphonie

Multimédia

Trafics TCP, UDP

...Olivier AUMAGE Supports de communication hautes performances

Page 21: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

SCTP

Discussion

Similaire à TCP

Performance vraisemblablement moins bonnes que TCP (usagesdifférents)Utilisation en contexte de grille ?

Pare-feux

Olivier AUMAGE Supports de communication hautes performances

Page 22: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Supports de communication classiques

Discussion globale

Fonctionnement en espace noyau

Appels systèmes

Recopies de changement d’espace

Recopies protocolaires

Interactions avec le trafic administratif

Ordres de grandeur...

Olivier AUMAGE Supports de communication hautes performances

Page 23: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Sommaire

1 Généralités

2 Supports de communication classiques

3 Supports de communication de bas niveau

Olivier AUMAGE Supports de communication hautes performances

Page 24: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Supports de communication de bas niveau

Introduction

Supports de communication sur mesures

BIP, LFC, GM, MX, SiSCI, libElan, VIA, ...

Olivier AUMAGE Supports de communication hautes performances

Page 25: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Caractéristiques communes

DiffusionManufacturier de matériel de communication

DolphinicsMyricomQuadrics...

Organismes de recherchesBIP, LFC

Portabilité réduite

Dédiées à un matériel spécifique

Très efficaces

Olivier AUMAGE Supports de communication hautes performances

Page 26: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Efficacité

Principe

Communications directes entre l’espace utilisateur et le matériel

Contournement du système d’exploitation

Protocoles simplifiés

Fonctionnalités relativement réduites

Conséquences

Fonctionnement multi-utilisateur, multiplexageDétection de message entrants

Scrutation vs. interruptionsEnvironnement multithreadé

Gestion de la mémoire, sécurité

Olivier AUMAGE Supports de communication hautes performances

Page 27: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Gestion de la mémoire

Principe

Adressage virtuel vs adressage physique

Notion de DMA

Nécessité fixer la projection adresses virtuelles→ adresses physiqued’un bloc en cours de transfert

Notion d’enregistrement

Olivier AUMAGE Supports de communication hautes performances

Page 28: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Gestion de la mémoire

Enregistrement dynamiqueFlexibilité

Pas de copieCoût fixe élevé

Pas bon pour la latenceCoût à l’octet faible

Bon pour le débitAmélioration possible par une technique de cache

Difficultés

Olivier AUMAGE Supports de communication hautes performances

Page 29: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Gestion de la mémoire

Enregistrement statiqueEmpreinte potentiellement plus faible

Nécessité d’une copieCoût fixe faible

Bon pour la latenceCoût à l’octet élevé

Pas bon pour le débit

Amélioration possible par une technique de pipeline

Olivier AUMAGE Supports de communication hautes performances

Page 30: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Gestion de la mémoire

Solution

Fonctionnement hybrideSélection de technique en fonction de la taille des données à envoyer

Travail à la charge de la couche supérieure

Cas de QSNet

Olivier AUMAGE Supports de communication hautes performances

Page 31: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

Gestion de la mémoire

Conséquences sur le schéma de communicationCommunications bi-latérales

Schéma eagerSchéma Rendez-vous

Communications uni-latéralesNotificationsÉcritures distantes vs lectures distantes

Olivier AUMAGE Supports de communication hautes performances

Page 32: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

GMGlenn’s Messages

IntroductionRéseau MYRINET

Société Myricom, 1994Cartes construites autour d’un processeur embarqué LANaiNotion de firmware, intérêt

Olivier AUMAGE Supports de communication hautes performances

Page 33: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

GM

Caractéristiques

Échange de message classique

Émission avec callback

Fonctionnement par événement, pompe à événementsPages de mémoire virtuelle verrouillées (éviter le swap pendant unDMA)

Gestion de la mémoireSélection de méthode d’enregistrement

Ports: multiplexage au niveau processusPas de multiplexage à grain fin

Mais deux niveaux de prioritéPas de réception sélective

Conséquences pour la réception de messages en contexte restreintmessage actifsscrutation de données en environnement multithreadé par mécanisme de type«marcel_poll»

Prépost de tamponContrôle de flux

Olivier AUMAGE Supports de communication hautes performances

Page 34: Supports de communication hautes performancespeople.bordeaux.inria.fr/olivier.aumage/Teaching/PRCD_05a/cours.pdf · Généralités Supports de communication classiques Supports de

Généralités Supports de communication classiques Supports de communication de bas niveau

GM

Résumé de l’API

gm_init/gm_finalize

gm_open/gm_close

gm_register_memory/gm_deregister_memory

gm_dma_alloc/gm_dma_free

gm_send_with_callback

gm_provide_receive_buffer

gm_receive

Olivier AUMAGE Supports de communication hautes performances