ARCHITECTURES A PASSAGE DE MESSAGES Daniel Etiemble LRI, Université Paris Sud de@lri.fr D. Etiemble 1 Architecture parallèle à passage de messages RESEAU D INTERCONNEXION réseau réseau réseau réseau CPU CPU PC ou station CPU CPU Mémoire locale Mémoire locale Mémoire locale Mémoire locale D. Etiemble 2 1
Références Transparents de Franck Cappello (cours DEA Architectures Parallèles et DEA Informatique Distribuée) Parallel Computer Architecture, A Hardware/Software Approach (D. Culler, J. Pal Singh et A. Gupta), Morgan Kaufmann D. Etiemble 3 Architectures à passage de messages Le bloc de base est un ordinateur complet, incluant les E/S Communication via des opérations explicites d E/S Modèle de programmation Accès direct seulement à l espace d adressage privé (mémoire locale) Communication via des messages explicites (send/receive) Assemblage haut niveau Intégration des communications? Mémoire, E/S, Réseau, Cluster Plus facile à construire et étendre que l adressage unique PE Réseau PE PE Modèle de programmation plus éloigné des primitives matérielles Intervention bibliothèques et OS e ir o é m M e ir o é m M e ir o é m M D. Etiemble 4 2
Messages Les messages sont des paquets de données entre programmes Information nécessaire Processus émetteur Adresse source Type de données source Taille des données source Processus récepteur Adresse destination Type de donnée destination Taille du tampon destination Adresse X Espace d adressage local Processus P Réception Y, P, t Envoi X, Q, t Espace d adressage local Processus Q Adresse Y D. Etiemble 5 Caractéristiques du passage de messages L émetteur spécifie le tampon à transmettre et le processus récepteur Le récepteur spécifie le processus émetteur et la zone mémoire de réception Copie mémoire à mémoire, mais avec nommage des processus Etiquettes optionnelle à l émission et vérification à la réception Le processus utilisateur nomme les données locales et les entités dans un espace processus/étiquettes Dans la forme la plus simple, la correspondance émission réception réalise une synchronisation. D autres variantes existent Surcoûts importants : copie, gestion des tampons, protection. D. Etiemble 6 3
Messages : latence et débit Coûts des communications Taille message Latence totale = Surcout émetteur + Temps transit + + Surcout récepteur Débit Surcoût émetteur : temps pour l injection du message sur le réseau d interconnexion, avec composantes matérielles et logicielles Temps de transit : temps pour que le premier bit du message arrive au récepteur Bande passante : débit maximal avec lequel le réseau peut propager l information Surcoût récepteur : temps pour que le retrait du message du réseau d interconnexion, avec composantes matérielles et logicielles Surcoûts matérielle et logicielle processeur-réseau Temps de transit Topologie du réseau + Techniques de routage Occupation du réseau et contention D. Etiemble 7 Réduire la latence de communication Protocole de communications Moins de copies Protocoles moins complexes Mécanisme de protection Mécanismes matériels pour gérer la mémoire virtuelle réseau proche de la mémoire active Matériel réseau Très haut débit (plusieurs Go/s) Routage trou de verre, canaux virtuels, tables de routage D. Etiemble 8 4
Contraintes multi-utilisateurs Applications d usage général Standards de fait <=> Applications parallèles * MPI (passage de messages) Multitâches multi-utilisateurs * Protection du traitement utilisateur * Intégrité des données (CRC...) * Partage des ressources Couches physiques Utilisateur OS Matériel API Réseau Applications spécialisées D. Etiemble 9 User EXEMPLE : PVM-TCP/IP-Ethernet PVM Ethernet - fast LAN : Task UNIX WS TCP Demon Task UDP Ethernet UNIX WS Demon virtual machine Ethernet Task UNIX WS Demon TCP Socket UDP PVM-TCP/IP UNIX PVM +specialized sockets PVM- MPL SP2 OS IP Ethernet ATM Myrinet Parastation HPS IP device adapter Latency one-way round trip 2 ms 3 ms 2,7ms 3,6ms 0,3 ms 20 µs 100 µs Hardware Ethernet BW (MB/s) Max BW Ratio 0,63 1,25 50% 1,5 20 7,5% 8 150 5% 6 20 30% 33 40 85% D. Etiemble 10 5
OS et latence des communications User OS l ie ic g lo e u iq r it c in m e h C Hardware API Pile de protocoles Réseau Copie protection et partage Copie transmission Copie découplage Fonctions de la pile de protocoles intégrité des données protection des processus utilisateur partage des ressources Mécanismes : Copies de données Contrôle CRC Flot de contrôle Multiplexage/Démultiplexage Appels système Après une phase d intialisation, court-circuiter la pile de protocole. Utiliser une pile de protocoles spécifique avec une interface commune Moins de copies Communication en espace utilisateur Séparer protection et transfert Moins de complexité Matériel sûr et rapide D. Etiemble 11 Communication en espace utilisateur L OS gère le partage des ressources de communication API Utilisateur API Toute communication est contrôlée par l OS S O Pile de protocoles Déplacer la frontière entre OS et utilisateur Faciliter l utilisation de protocoles spécifiques Permettre au processus utilisateur d utiliser directement les ressources de communication Un processus utilisateur appelle l OS pour allouer les zones d emission et de réception. L OS leur envoie directement. L utilisateur doit gérer les tampons (récupération après erreur, contrôle de flow, accusés, etc) Réseau Hardware Réseau Fast Message avec Myrinet : pas de partage Parastation : pas de protection (les tampons de l interface réseau sont situés en espace utilisateur) D. Etiemble 12 6
Le matériel de communication: MYRINET Commutateur 4*4 ou 8*8 Signaux différentiels Tampon slack 80 Mmots/s (9 bits) 18 bits 32 Vitesse : 0,6C NRZ stop Asynchrone 9 bits Synchrone 16 (décalagemaximum go 9 bits = 12,5 ns/2) Crossbar pipeliné 32 1cm Routage trou de Taux d erreur = 10-15 pour 25 m verre stop go stop emis. 0 32 48 80 Nombre d octets dans tampon Circuit CMOS 0,8 µm Port# de commutateur ou hôte Chaque commutateur enlève un octet d en-tête data crc Temps d établissement pire cas: 100 ns D. Etiemble 13 réseau sur le bus d E/S. ire o é m M /S E d s u B Bus système CPU Int. réseau La plupart des machines à passage de messages et des clusters de PC ou de stations IBM SP NOW Beowulf Débit de communication Débit du bus d E/S (PCI 125 Mo/s (32 bits, 33 MHz) Latence Comprend l arbitrage du bus d E/S et le délai du pont entre les deux bus D. Etiemble 14 7
Building on the mainstream: IBM SP-2/3/... Réalisé essentiellement à partir de stations RS/6000 complètes réseau intégrée dans le bus d E/S (bande passante limitée par le bus d E/S) General inter connection network formed fr om 8-port switches Power 2 CPU IBM SP-2 node L 2 $ Memory bus Memory 4-way controller interleaved DRAM MicroChannel bus NIC I/O DMA i860 NI DRAM D. Etiemble 15 réseau sur le bus système. ire o é m M Bus système /S E s u B Int. réseau Machines parallèles du début des années 90 Intel Paragon TMC CM5 Débit de communication Début du bus système Latence réduite Mémoire et interface réseau sont connectés au bus système CPU D. Etiemble 16 8
Exemple : Intel Paragon i860 L 1 $ i860 L 1 $ Intel Paragon node Memory bus (64-bit, 50 MHz) Mem ctrl DMA Sandia s Intel Paragon XP/S-based Supercomputer 4-way interleaved DRAM Driver NI 2D grid network with processing node attached to every switch 8 bits, 175 MHz, bidirectional D. Etiemble 17 Structure CM-5 Diagnostics network Control network Data network PM PM Processing partition Processing Control partition processors I/O partition SPARC FPU Data networks Control network $ ctrl $ SRAM NI MBUS DRAM ctrl Vector unit DRAM ctrl DRAM ctrl Vector unit DRAM ctrl DRAM DRAM DRAM DRAM D. Etiemble 18 9
réseau dans le CPU. ire o é m M Bus système CPU /S E s u B Int. réseau Architectures à Tranputer et architecture DSP Débit de communication maximal Connexion au bus système Latence réduite Les registres de l interface sont des registres du CPU Instructions spéciales Approche coûteuse CPU spécialisé D. Etiemble 19 Types d interfaces réseau Logiciels contrôlés par le CPU L interface réseau a des registres ou des files émetteur et récepteur Le CPU lit ou écrit ces registres ou files Le CPU est responsable du formatage, du contrôle de flux, du contrôle d erreur et du transfert des données entre la mémoire et l interface réseau Organisation typique des clusters. Matériel dédié Contrôle d erreurs Transfert de données (DMA) réseau Intelligente Processeur d usage général ou spécialisé pour les communications Le CPU initialise les communications D. Etiemble 20 10
Noeuds multiprocesseur SP3 4 CPU/noeuds Power3 CPU - 375 MHz Cache L2 8 Mo/CPU (bus 256 bits @ 200MHz) Bus Mémoire 128 bits @ 93.75 MHz Compaq SC Cluster 4 CPU/noeud 21264 CPU @ 667 MHz Cache L2 8 Mo/CPU Problème 2 modèles mémoire SMP Passage de messages D. Etiemble 21 Compaq SC Cluster D. Etiemble 22 11
Berkeley NOW 100 stations Sun Ultra2 réseau intelligente proc + mem Réseau Myrinet 160 Mo/s par lien 300 ns par étape D. Etiemble 23 Clusters Beowulf Concept: Connecter ensemble un grand nombre d ordinateurs et les faire exécuter des logiciels courants et gratuits pour créer un superordinateur parallèle qui peut s attaquer à des problèmes très complexes. Mémoire partagée Mémoire distribuée SMP ccnuma MPP Hybrid Beowulf D. Etiemble 24 12
Clusters Beowulf Noeuds standards Interconnexion standard Processeurs Intel, AMD ou Alpha Interconnexion Ethernet, Myrinet, ServerNet Système d exploitation habituellement Linux, mais peut être NT ou Unix But essentiel Coût : entrée de gamme Economie d échelle Shared Memory Avantages Bas coût Bonne performance crête Extensible à un grand nombre de noeuds Inconvénients Gestion système Support pour les systèmes de production Linux ne dépasse pas 2/4 CPU par noeud Performance soutenue? Solution non équilibrée Distributed Memory SMP ccnuma MPP Hybrid Beowulf D. Etiemble 25 L abstraction passage de messages La source connaît l adresse des données à envoyer, et la destination l adresse des données à recevoir Après requête et accusé, émetteur et récepteur connaissent les adresses Capacité de stockage arbitraire hors des espaces d adressage locaux Il peut y avoir beaucoup d envois avant une réception Les envois asynchrones non bloquants réduisent la contrainte à un nombre quelconque de descripteurs Fondamentalement, une transaction à trois phases Comprend une requête/réponse Peut utiliser l option 1 phase optimiste dans ccan use optimistic 1-phase in certains cas sûrs limités D. Etiemble 26 13
Passage de message Source Requête émission Destination SYNCHRONE Source ASYNCHRONE pessimiste Destination Attente Vérification étiquettes Requête émission Prêt à recevoir Termine et rend la main Vérification étiquettes Temps Transfert données ASYNCHRONE optimiste Source Destination Prêt à recevoir Temps Requête Transfert données Vérification étiquettes, allocation tampons Temps Transfert données D. Etiemble 27 Résultats expérimentaux avec MPI Cluster Myrinet de PC 36 nodes (64 maintenant) Pentium II - 400 MHz, Bus 100 MHz, 256 Mo DRAM Cluster Myrinet (Arbre élargi - 128 Mo/s de bande passante) MPICH-PM Mode utilisateur 2 systèmes IBM SP Night Hawk 1 (Power 3 à 222 MHz, L2 4 Mo, MP 4 Go) Winter Hawk 2 (Power3 à 375 MHz, L2 8 Mo, MP 4 Go) Même réseau d interconnexion Même environnement logiciel Mode utilisateur Benchmarks NAS Parallel Benchmark (NPB2.3) D. Etiemble 28 14
Performance des noeuds 1-CPU / PII-500 performance 5 4 3 2 1 0 ep cg mg ft lu sp bt SP3-375 SP3-222 PII-500 D. Etiemble 29 Performance NAS sur le cluster Myrinet Mflops 3000 1000 100 Efficacité parallèle = Accélération Nombre de noeuds 1.2 1.1 1 0.9 0.8 10 1 1 2 4 8 9 16 SP BT EP CG MG LU 25 32 36 0.7 0.6 0.5 12 4 89 16 25 32 36 Nombre de noeuds Nombre de noeuds Les clusters de PC monoprocesseurs se comportent comme les autres ordinateurs parallèles haut de gamme avec NAS NPB 2.3 BT CG EP FT LU MG SP D. Etiemble 30 15
Efficacité parallèle (1) Cluster Myrinet de PC Classe A SP3 Noeuds WH2 y c n e i c i f e / 1.6 1.4 1.2 1 0.8 0.6 0.4 0 4 8 12 16 20 24 28 32 36 CG FT LU MG BT SP 1.6 1.4 1.2 1 0.8 0.6 0.4 0 4 8 12 16 20 24 28 32 36 cg ft lu mg bt sp Noeuds monoprocesseurs Rapport calcul/communication Performance relative des composants processeur/mémoire/réseau D. Etiemble 31 Efficacité parallèle (2) SP3 - NH2 nodes 1.6 1.4 1.2 1 0.8 0.6 0.4 0 4 8 12 16 20 24 28 32 1.6 cg ft lu mg bt sp 1.4 1.2 1 0.8 0.6 0.4 0 4 8 12 16 20 24 28 32 cg ft lu mg bt sp Noeuds 1 processeur Classe B Taille de l application Change le rapport calcul/communication Classe A D. Etiemble 32 16
Calcul et Communication: benchmarks NAS sur Parnass (Cluster Myrinet ) LU-Comp LU-Comm CG-Comp CG-Comm Execution time (sec) 2000 1500 1000 500 0 1 2 4 8 16 32 Execution time (sec) 100 80 60 40 20 0 1 2 4 8 16 32 MG-Comp MG-Comm FT-Comp FT-Comm Execution time (sec) 150 100 50 0 1 2 4 8 16 32 Execution times (sec) 250.00 200.00 150.00 100.00 50.00-1 2 4 8 16 32 Les temps sont sommés sur tous les processeurs D. Etiemble 33 17