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

Interface de communication pour les réseaux InfiniBand

Présentations similaires


Présentation au sujet: "Interface de communication pour les réseaux InfiniBand"— Transcription de la présentation:

1 Interface de communication pour les réseaux InfiniBand
Projet de fin d’études Interface de communication pour les réseaux InfiniBand Etudiants Encadrants Responsable Aïchatou RABBA Eric RENAULT Guy BERNARD Nadir GHEZALI Ouissem BEN FREDJ OPTION ASR 2005/2006

2 PLAN Présentation du projet Présentation du réseau InfiniBand
Le protocole de communication Remote write L’implémentation de l’interface Conception Validation et tests de performance Exemple d’utilisation Perspectives

3 Objectif du projet Etude du réseau InfiniBand Etude du Remote Write
Implémentation d’une interface de communication pour le Remote Write sur InfiniBand

4 InfiniBand Présentation Architecture Quelques concepts
Gestion des communications Types de transferts

5 Présentation Architecture d’interconnexion à haut débit
Alternative performante aux architectures d’E/S à bus partagé classiques (Bus PCI,..) Spécifié initialement par l’ IBTA (InfiniBand Trade Association) en 1999 Haut débit pouvant atteindre 30 Gbs en fonction de la largeur du lien (1x, 4x, 12x) Faible latence

6 InfiniBand Présentation Architecture Quelques concepts
Gestion des communications Types de transferts

7 Architecture Subnet et Subnet Manager Switchs et Routers
HCA (Host Channel Adapter) TCA (Target Channel Adapter) Liens physiques

8 Architecture Infiniband

9 InfiniBand Présentation Architecture Quelques concepts
Gestion des communications Types de transferts

10 Quelques concepts RDMA (Remote Direct Memory Access)
Accès direct à des zones mémoires distantes Sans l’intervention du processeur Absence de recopies successives dans des tampons mémoires (zero-copy) N’utilise pas les appels systèmes du noyau (OS-Bypass)

11 Quelques concepts Transfert de données zéro-copie avec OS-bypass sur un réseau de grappe

12 InfiniBand Présentation Architecture Quelques concepts
Gestion des communications Types de transferts

13 Gestion des communications
Utilisation des queues d’envoi et de réception (Queue Pairs) Chaque QP est composée d’un queue d’envoi (Send Queue) et d’une Queue de réception (Receive Queue) L’envoi ou la réception des messages se fait par l’ajout d’un descripteur (Work Request) dans la queue appropriée. Génération d’une CQE (Completion Queue Entry) après chaque envoi ou réception effective de messages

14 Gestion des communications

15 Gestion des communications
Types de services de transferts RC : Reliable Connect RD : Reliable Datagram UC : Unreliable Connect UD : Unreliable Datagram Le type de transfert est spécifié lors de la création des QPs

16 InfiniBand Présentation Architecture Quelques concepts
Gestion des communications Types de transferts

17 Types de transferts RMDA Read

18 Types de transferts RMDA Write

19 Types de transferts Send

20 Types de transferts Send inlined

21 Remote Write Description Interface RWAPI (Remote Write API)
Modèle de programmation

22 Description Protocole de communication sans recopie intermédiaire
Objectif : minimiser la latence, et maximiser la bande passante utile

23 Remote Write Description Interface RWAPI (Remote Write API)
Modèle de programmation

24 Remote Write API Fonctions rwapi_init et rwapi_finalise
Initialisation des ressources Fonctions rwapi_init et rwapi_finalise Gestion de la topologie Fonctions rwapi_size et rwapi_rank Allocation mémoire Fonctions rwapi_alloc et rwapi_free Envoi de messages Fonctions rwapi_ssend et rwapi_send Contrôle des messages Fonctions rwapi_issent et rwapi_receive Contrôle des messages par interruption fonctions rwapi_rhandler et rwapi_shandler

25 Remote Write Description Interface RWAPI (Remote Write API)
Modèle de programmation

26 Modèle de programmation

27 Conception Contexte de programmation Choix du type de transfert
Initialisation Gestion de la topologie Envoi des messages Messages courts Messages normaux Contrôle des messages Par Notification (poll) Par interruption

28 Niveau de programmation

29 Objectif de la conception
Parallèle entre InfiniBand et RWAPI. Définition des pré requis aux communications entre processus Choix approprié des paramètres et opérations propres à InfiniBand Choix du type de transfert

30 Conception Contexte de programmation Choix du type de transfert
Initialisation Gestion de la topologie Envoi des messages Messages courts Messages normaux Contrôle des messages Par Poll Par interruption

31 Choix du type de transfert
Type de transfert choisi : RC

32 Conception Contexte de programmation Choix du type de transfert
Initialisation Gestion de la topologie Envoi des messages Messages courts Messages normaux Contrôle des messages Par Poll Par interruption

33 Initialisation fonction rwapi_init
Appel préalable a rwapi_init par chaque nœud nécessaire Création et initialisation des ressources InfiniBand : QPs, Domaines de protection, allocation et enregistrement des zones mémoire auprès du HCA … Gestion de la topologie

34 Conception Contexte Choix du type de transfert Initialisation
Gestion de la topologie Envoi des messages Messages courts Messages normaux Contrôle des messages Par Poll Par interruption

35 Gestion de la topologie
Utilisation d’un Spawner (SSH) pour la répartition de l’exécution sur les nœuds voulus Création des QPs au niveau de chaque nœud Utilisation du réseau IP comme réseau de contrôle Etablissement des connexions et synchronisation des QPs

36 Gestion de la topologie
réseau de trois nœuds

37 Conception Contexte de programmation Choix du type de transfert
Initialisation Gestion de la topologie Envoi des messages Messages courts Messages normaux Contrôle des messages Par Poll Par interruption

38 Envoi des messages Messages courts Messages normaux rwapi_ssend
8 octets N’utilise pas d’adresse physique distante Utilisation du SEND (inlined / non inlined) d’InfiniBand Messages normaux Utilise le RDMA_WRITE rwapi_send Connaissance a priori des adresses virtuelles et physiques distantes nécessaire Messages pouvant atteindre 2 Go

39 Conception Contexte de programmation Choix du type de transfert
Initialisation Gestion de la topologie Envoi des messages Messages courts Messages normaux Contrôle des messages Par Poll Par interruption

40 Contrôle des messages Par notification (poll) Par interruption
Vérification de la présence d’une nouvelle entrée dans les queues de complétion d’envoi (SCQ avec rwapi_issent) ou de réception (RCQ avec rwapi_receive) Par interruption Utilisation d’un drapeau spécifique à l’envoi Appel des fonctions rwapi_shandler et rwapi_rhandler selon le drapeau spécifié

41 Validation et tests de performance
Latence (One Way Latency) Nombre d’itérations: Taille du message:8 octets Avec rwapi_ssend: 3,16 µs Avec rwapi_send: 1,82 µs

42 Validation et tests de performance
Bande passante (test avec la fonction rwapi_send)

43 Exemple d’utilisation

44 Perspectives Implémentation du contrôle de messages par interruption
Implémentation d’un mécanisme dédié de gestion des files d’émission

45 QUESTIONS?


Télécharger ppt "Interface de communication pour les réseaux InfiniBand"

Présentations similaires


Annonces Google