1 / 217

Supports d’exécution parallèles et répartis

Supports d’exécution parallèles et répartis. Raymond Namyst LaBRI Université de Bordeaux I Jean-François Méhaut GRIMAAG Université des Antilles-Guyane. Plan. Introduction Supports d’exécution, environnements, middlewares, intergiciels, … Communications dans les grappes (RN)

denna
Télécharger la présentation

Supports d’exécution parallèles et répartis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Supports d’exécution parallèles et répartis Raymond Namyst LaBRI Université de Bordeaux I Jean-François Méhaut GRIMAAG Université des Antilles-Guyane

  2. Plan • Introduction • Supports d’exécution, environnements, middlewares, intergiciels, … • Communications dans les grappes (RN) • Technologies, interfaces, hétérogène,… • Multithreading (JFM) • Rappels, exploitation des SMP, … • Grilles de calcul (JFM) • Toolkit Globus, gestion de ressources,…

  3. Application Programmation parallèle et répartie • Conception • Modélisation • Algorithmique • Langage • Compilation • Exécution • Gestion d’activités • Communications • Mise au point • Régulation de charge • Gestion de données • Sécurité • … Programme parallèle Proc. 0 Proc. 1 Proc. 2 Proc. 3

  4. Supports et environnements d’exécution (1) • Pour les utilisateurs et leurs applications • Abstractions de haut niveau • Portabilité • Efficacité ! Applications Interface de programmation (API) Support d’exécution Systèmes d’exploitation (OS) Grappes, grilles, machines parallèles, réseaux,…

  5. Supports et environnements d’exécution (2) • Etendre et spécialiser les OS • Centralisés et complétés pour le “distribué” • Nouveaux modèles (tâches, communication, fichiers,…) • Exemple: Stockage de fichiers, réplication, cache, … Applications Interface de programmation (API) Support d’exécution Systèmes d’exploitation (OS) Grappes, grilles, machines parallèles, réseaux

  6. Discussions • Souplesse par rapport à des développement au niveau système • Définition d’interface standard • Exemples: POSIX Threads, MPI, CORBA, OpenMP… • Difficulté de faire évoluer les standards • Implémentation basée sur des standards • Exemple: Globus-MDS basé sur LDAP

  7. Compromis à trouver Fonctionalités X Efficacité Portabilité

  8. PM2 : support pour les grappes Applications HPF, C* Régulation C++//, Java Interface de programmation (RPC, migration, allocation iso-adresse) Marcel PM2 Madeleine Unix (~10 versions) Architecture (grappes, machines parallèles) • Légende • Marcel : noyau de processus légers • Madeleine : module de communication

  9. Applications Boite à outils Application GlobusView Testbed Status DUROC MPI Condor-G HPC++ Nimrod/G globusrun Servicesde la Grille Nexus GRAM GSI-FTP I/O HBM GASS GSI MDS Base de la Grille Condor MPI TCP UDP DiffServ Solaris LSF PBS NQE Linux NT Globus : support pour les grilles

  10. Communications dans les grappes hautes performances Raymond Namyst LaBRI Université de Bordeaux I

  11. 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…

  12. Technologiesmatérielles Cartes passives, actives,réseaux à capacité d’adressage

  13. (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

  14. Ethernet • Cartes passives (sauf Giga-Ethernet) • Interfaces : TCP, SBP, GAMMA, VIA, … Memory TX-ring DMA TX reg RX reg PCI Bus Network PCI Bridge Packet Interface NIC

  15. LANai 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)

  16. 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 DMA SRAM PCI Bus Packet Interface Network PCI Bridge RISC LANai NIC

  17. SCI • Scalable Coherent Interface • Norme IEEE (1993) • Société Dolphin • Fonctionnement par accès mémoire distants • Projections d’espaces d’adressage Réseau SCI Mémoire Bus PCI Bus PCI Mémoire Machine A Machine B

  18. TLB TLB Carte à capacité d ’addressage BUS PCI BUS PCI Pci req: addr+data Pci req: addr+data Interface paquet Interface paquet Paquet SCI Paquet SCI Partie émission Partie réception

  19. 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

  20. SCI : mécanisme d’adressage Adresse Virtuelle 32 bits MMU Adresse Physique (E/S) 32 bits Bus d’E/S 10 bits 18 bits Table de Translation des Adresses 30 bits 16 bits 18 bits Destinataire Réseau

  21. SCI : mécanisme d’adressage Réseau 30 bits 18 bits Adresse Physique (E/S) 32 bits Bus d’E/S Mémoire

  22. SCI : performances • Latence : 2.5 ms (écriture de processus à processus) • Débit : 45 Mo/s • Verrou : < 10 ms (fetch&add)

  23. Interfaces de bas niveau BIP, SISCI, VIA

  24. 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

  25. Transferts Initialisation Programme Interface Espace utilisateur Système Réseau 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

  26. 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

  27. 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

  28. 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)

  29. 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”

  30. 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 !)

  31. SCI : optimisations matérielles • Caches dans la carte : • Read Prefetching • Write Combining

  32. 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 (?)

  33. 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

  34. VIA: Basic Principles • Use the Kernel for Set-Up……andGet It Out of the WayforSend/Receive! • The “Virtual Interface” (VI) • Protected Application-Application Channel • Memory Directly Accessibleby User Process • Target Environment • LANs and “SAN”s at Gigabit Speeds • No Reliability of Underlying Media Assumed

  35. Sockets, MPI,Legacy, etc. VI VI VI C COMP S R S R S R VI Architecture VI Consumer Host VI User Agent (“libvia”) VI Kernel Agent (Slow) User-Level (Fast) Descriptor Read, Write Open, Connect, Map Memory Undetermined Doorbells RequestsCompleted NIC VI-Capable NIC

  36. VI Kernel Agent A Privileged Part of Operating System (driver) Usually supplied by the VI NIC vendor Possibly supplied by research groups (UCB,…) Setup and Resource Management Functions Creation/Destruction of Vis VI Connection setup/tear-down Management of System Memory used by the VI NIC

  37. A Virtual Interface VI Consumer Send Q Recv Q Send Doorbell Receive Doorbell Descriptor Descriptor Descriptor Descriptor Status Status VI-Capable NIC

  38. 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...

  39. Queues and Doorbells Queues of Descriptors Transmit and Receive Completions and Errors May Reside on Host or NIC(Unspecified) Doorbells “Addresses” of Descriptors, Small and Fast Allows NIC to Use Descriptors… Future “VIA-NICs” May Have Hardware Support

  40. 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

  41. 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é ???

  42. Interfaces de haut niveau MPI : la solution idéale ?

  43. 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

  44. PVM • Parallel Virtual Machine • Laboratoire National d’Oak Ridge (Tennessee) • 1989 • Caractéristiques • Notion de machine virtuelle • Ensemble de machines physiques • Construction 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

  45. MPI • Message Passing Interface • MPI-Forum v1.0 1994 v2.0 1997 • Caractéristiques • Un standard, pas une bibliothèque • Diverses implémentations • MPI-CH • LAM-MPI • … • Supplante PVM • Version 2.0 encore peu implémentée

  46. 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 ?

  47. Message Préparation mémoire Acquittement DMA Entête Données Transmissions zéro-copie Processus A Réseau Processus B

  48. proc proc proc proc Et la réactivité alors ? • Problèmes • Assurer la progression des communications asynchrones • Réagir rapidement aux sollicitations extérieures réseau

  49. Acquittement Envois asynchrones • Parvient-on vraiment à assurer du recouvrement ? MPI_Isend MPI_recv MPI_test Processus A Processus B

  50. Interfaces deniveau intermédiaire Madeleine : principe et interface

More Related