D2.3 Définition d’une architecture à partir d’un système existant VERSION DATE EDITORIAL MANAGER AUTHORS STAFF Copyright 1.0 2010 Sylvain Peyronnet François Lesueur, Ala Rezmerita, Thomas Herault, Sylvain Peyronnet ANR SPADES. 08-ANR-SEGI-025. D2.3 Définition d’une architecture à partir d’un système existant Contents 1 Introduction 4 2 Pastry 2.1 Fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Adéquation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 5 3 Overlays arborescents 3.1 Fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Adéquation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 4 Graphes binomiaux 10 4.1 Arbres binomiaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.2 Graphes binomiaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.3 Adéquation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5 Conclusion ANR SPADES. 08-ANR-SEGI-025 12 Page 3 D2.3 Définition d’une architecture à partir d’un système existant Chapter 1 Introduction La tâche 2.3 consiste à étudier les différentes structures réseaux envisageables pour supporter un runtime exécuté sur 100.000 machines. L’objectif est d’étudier l’adéquation des structures existantes avec les mécanismes minimaux précédemment définis, la résistance aux pannes ainsi que les performances des opérations à réaliser. Plus précisément, les mécanismes minimaux que la structure de communication doit mettre en œuvre sont : • la création rapide de l’overlay lors du lancement de l’application ; • un faible coût de maintenance de la structure, moyennant l’hypothèse que les nœuds sont peu volatils ; • une résistance élevée aux défaillances ; • une reprise rapide après défaillance ; • des communications point à point efficaces ; • des communications de groupe efficaces ; • une répartition équitable de la charge afin d’éviter le ralentissement du système lors de la surcharge d’un nœud. Les mécanismes de résistance aux pannes et de reprise après défaillance pour ces systèmes petascale entraı̂nent des modifications au modèle usuel du calcul à haute performance. En effet, étant donnée la grande taille de ces systèmes, le contrôle ainsi que les communications doivent être distribués de manière la plus équitable possible entre les nœuds (pas de communications one-to-all possible). La distribution de ces mécanismes implique des mécanismes de détection de faute et de reprise distribués, ce qui nécessite des communications supplémentaires de chaque nœud pour surveiller le bon fonctionnement d’un ensemble de nœuds connus ainsi que pour maintenir et mettre à jour la structure de communication utilisée. Ce livrable contient notre étude de Pastry, des overlays arborescents et des graphes binomiaux. Nous montrons que les graphes binomiaux sont adaptés aux contraintes et aux besoins d’un runtime petascale. Nous proposons également une architecture reposant sur ces graphes binomiaux et mettant en œuvre les mécanismes nécessaires au runtime. ANR SPADES. 08-ANR-SEGI-025 Page 4 D2.3 Définition d’une architecture à partir d’un système existant Chapter 2 Pastry Pastry [7] se base sur une structure en anneau. Les identifiants de nœud sont choisis aléatoirement et codés sur 128 bits, alors que les identifiants de ressources sont codés sur 160 bits (en rapport avec la taille des hash SHA-1 ). Pastry fournit un système de routage et suggère des contraintes pour un système de transfert et de réplication efficace, assurant la pérennité (en environnement coopératif) des données présentes dans la DHT. Les données sont sous la responsabilité du nœud ayant l’identifiant le plus proche numériquement. Le routage s’effectue en propageant le message vers un nœud partageant un plus grand préfixe commun avec la ressource, ou à défaut partageant un préfixe de même taille et plus proche numériquement de la ressource ciblée. 2.1 Fonctionnement Chaque nœud possède un Leaf set et une table de routage. Le Leaf set contient L voisins dans l’espace logique, typiquement 16 ou 32. Il sert à donner au nœud une vision précise de sa localité, tout en permettant à certains nœuds de défaillir sans briser le réseau. Ce Leaf set est maintenu à jour de manière agressive. La table de routage quant à elle est une table par préfixe plus précise pour les nœuds proches dans l’espace virtuel (Fig. 2.1). Elle est mise à jour de manière passive, en complétant les trous des nœuds défaillants et en remplaçant les entrées par des nœuds plus proches. Pour router un message, un nœud n vérifie d’abord si la ressource r est sous le contrôle de son Leaf set. Si tel est le cas, n transmet directement r au nœud responsable. Sinon, n cherche dans sa table de routage un nœud partageant un préfixe plus long avec r pour lui transmettre le message. Si n ne trouve pas de nœud satisfaisant, alors il transmet le message à un nœud partageant un préfixe de même taille que lui avec r, mais qui est plus proche numériquement. Un tel nœud doit exister dans le Leaf set si le taux de défaillance du réseau est tolérable. Cet algorithme est en O(log(N ). 2.2 Adéquation Le routage de Pastry est naturellement résistant à la défaillance de nœuds, puisque la présence d’un Leaf set relativement important (20 par défaut) garantit la progression d’un message vers la ressource. Les tables de routage sont quant à elles réparées de manière paresseuse, à partir du moment où un nœud ne répond plus à une requête réelle (pas de surveillance active). Les algorithmes de Pastry sont conçus pour maintenir la connectivité du réseau même en présence d’une très grande volatilité des nœuds et pour des applications pair-à-pair. Pour cela, chaque nœud contient un nombre important de pointeurs vers d’autres nœuds, chacun de ces pointeurs ayant un coût de maintenance. L’utilisation en environnement de clusters, avec des nœuds peu volatils et des contraintes de performance élevées, demanderait l’adaptation du protocole. ANR SPADES. 08-ANR-SEGI-025 Page 5 D2.3 Définition d’une architecture à partir d’un système existant 0 x 1 x 3 0 x 3 1 x 3 2 0 x 3 2 1 x 0 x 1 x 3 3 x 2 0 x 2 1 x 3 2 3 x 2 3 0 x 2 x (a) Table de routage du nœud 322 3 x 2 2 x 2 3 2 x 2 3 3 x (b) Table de routage du nœud 231 0 x 1 x 3 x 2 0 x 2 2 x 2 3 x 2 1 0 x 2 1 2 x 2 1 3 x (c) Table de routage du nœud 211 (d) Chemin du message Figure 2.1: Exemple de routage par préfixe dans Pastry (simplifié). Le nœud 322 envoie un message à la ressource 2106. 322 résout d’abord le premier chiffre et envoie à 231 en utilisant son entrée 2x ; 231 résout le deuxième chiffre et envoie à 211 en utilisant 21x ; enfin, 211 résout le dernier chiffre et transmet à 210 en utilisant 210x (dans Pastry, les identifiants de ressources sont plus longs que les identifiants de nœuds). 08-ANR-SEGI-025 Page 6 D2.3 Définition d’une architecture à partir d’un système existant Fonctionnalité Création rapide de l’overlay Faible coût de maintenance Résistance élevée aux défaillances Reprise rapide après défaillance Communications point à point efficaces Communications de groupe efficaces Répartition équitable de la charge Ok ? X X √ √ √ X √ Motif Ajout nœud par nœud, sans réutiliser l’arbre de lancement Beaucoup de nœuds surveillés, détections adaptées à des réseaux pair-à-pair plus lents Redondance importante dans les tables de routage et la structure Pas de coupure, reconstruction des tables en arrière plan Localisation rapide d’un pair d’identifiant connu Pas de déploiement direct d’un arbre binomial Aucun nœud n’a un rôle particulier, structure intégralement distribuée et équitable Table 2.1: Adéquation de Pastry avec les mécanismes minimaux pour un runtime petascale. L’adéquation de Pastry aux mécanismes minimaux est synthétisée dans le tableau 2.1. 08-ANR-SEGI-025 Page 7 D2.3 Définition d’une architecture à partir d’un système existant Chapter 3 Overlays arborescents Les overlays arborescents tels que HiC[4], Hypertree[5] ou MRNet[6] sont naturellement adaptés aux communications globales. SFTP[2] (figure 3.1) est un overlay arborescent destiné à être utilisé par les environnements d’exécution parallèle à passage de messages. 3.1 Fonctionnement La structure repose sur un arbre k-aire dans lequel les nœuds de chaque étage sont reliés en anneau. Cette double structure permet des passages de message par inondation ou multidiffusion efficaces (arbre) tout en améliorant la robustesse d’un arbre classique (anneaux). Cet arbre reste connecté tant que moins de k nœuds deviennent inaccessibles. Cette structure permet de réaliser les communications globales à faible coût. Plusieurs problèmes se posent cependant au regard de nos contraintes. Tout d’abord, c’est un arbre unique, avec donc une unique racine, qui est déployé sur le réseau. Les messages d’inondation et de multidiffusion doivent donc remonter dans l’arbre afin d’être transférés à tous les nœuds. Même si des raccourcis sont possibles, cette communication n’est ni optimale en temps ni totalement équilibrée sur les nœuds (les feuilles de l’arbre, qui représentent la moitié des nœuds, ne participent pas à la diffusion). Ensuite, le déploiement et la reprise après erreur dépendent d’un service d’annuaire, présenté comme centralisé. Tous les nœuds doivent se connecter à cette annuaire. Dans le cadre d’une machine petascale, ce point central est à la fois un goulot d’étranglement et un point de faiblesse. La disponibilité et la performance d’une architecture petascale dépend d’une structure entièrement distribuée. Une version auto-stabilisante de SFTP est proposée dans [3]. Cette version propose un annuaire distribué, permettant de rendre la structure robuste et entièrement distribuée. La structure reste cependant composée d’un unique arbre dont les étages sont reliés en anneaux et ne permet donc pas un équilibrage et des performances optimales. 3.2 Adéquation Les overlays arborescents sont donc adaptés au calcul haute performance mais ne présentent pas toutes les caractéristiques nécessaires à une architecture petascale, comme synthétisé tableau 3.1. ANR SPADES. 08-ANR-SEGI-025 Page 8 D2.3 Définition d’une architecture à partir d’un système existant (a) Figure 3.1: Structure de l’overlay SFTP (figure extraite de [2]). Fig. 1. (a) Binary tree topology. (b) Message r Fonctionnalité Ok ? sibling Motif √ Création l’overlay rapide de √ Peu de connexions pour chaque pair (père, fils, deux voisins dans l’anneau de même niveau) Peu de nœuds surveillés, détections adaptées à des réseaux haute performances Redondance des chemins dans la structure Remplacement du nœud défectueux par un de ses voisins Localisation rapide d’un pair d’identifiant connu Les messages doivent d’abord remonter vers la racine de l’arbre Les feuilles de l’arbre ne participent pas aux communications de groupe transmission when the tree is damaged during failure √ path extension). In addition, typical k-ary tree only Résistance élevée aux défaillances √ bisectional, while the k-ary siblin failure become Reprise to rapide après défaillance failures. Fig. 1(a)√ illustrates an example of the bina Communications point à point efficaces node needs tode know the contact information of at Communications X groupe efficaces parent, left, rightX and their children). The number Répartition équitable de la charge minimum to reduce the state management load on Table 3.1: Adéquation des overlays arborescents avec les mécanismes minimaux pour un runtime and the ring topologies allow for neighbors addressi petascale. Usually, we expect the k parameter to remain cons topology. The contact information of eachPagenode in so 08-ANR-SEGI-025 9 locally for some tightly coupled systems or may be sto Faible coût de maintenance D2.3 Définition d’une architecture à partir d’un système existant Chapter 4 Graphes binomiaux Les graphes binomiaux[1] sont des graphes non dirigés dans lesquels un arbre binomial part de chaque nœud, l’arbre binomial étant une structure de diffusion optimale. 4.1 Arbres binomiaux Un arbre binomial est défini récursivement de la manière suivante : • L’arbre binomial d’ordre 0 est un simple nœud ; • L’arbre binomial d’ordre k possède une racine de degré k et ses fils sont racines d’arbre binomiaux d’ordre k − 1, k − 2, ..., 2, 1, 0 (dans cet ordre). Dans le cadre d’une diffusion à partir de la racine, un arbre binomial permet à tous les nœuds ayant déjà reçu le message à renvoyer, y compris la racine, d’envoyer des messages jusqu’à la diffusion totale, ce qui est optimal en temps. Le nœuds du haut de l’arbre transmettent ainsi plus de messages que les nœuds du bas. 4.2 Graphes binomiaux Les graphes binomiaux (BMG) sont définis de la manière suivante dans [1]. Un BMG est un graphe non dirigé G = (V, E) où V est un ensemble de nœuds (avec n = |v|) et E un ensemble d’arêtes. Chaque nœud i ∈ V avec i = 1, 2, . . . , n a des connexions vers un ensemble U de nœuds avec U = {i ± 1, i ± 2, . . . , i ± 2k |2k ≤ n} dans l’espace circulaire. Cette structure est illustrée figure 4.1 et permet de créer des arbres binomiaux partant de chaque nœud. Des algorithmes de communication point-à-point, de multidiffusion et d’inondation sont proposés. Les communications point-à-point sont routées dans l’overlay vers leur destination. Les communications de multidiffusion sont routées de la même façon que les opérations point-à-point, les nœuds utilisés pour le routage et en même temps destinataires recevant le message. Les communication par inondation utilisent la structure d’arbre binomiale dont la racine est le nœud initiant la communication. Enfin, la forte redondance des canaux de communication au sein de l’overlay assure un fonctionnement résistant à un nombre important de défaillances. 4.3 Adéquation Cette structure de graphes binomiaux est donc particulièrement adaptée pour les machines petascale. La structure est entièrement distribuée, tient la montée en charge et la charge est équitablement distribuée entre les nœuds. Les communications point-à-point ou de groupe sont réalisées de manière efficace. Ces caractéristiques sont synthétisées dans le tableau 4.1. ANR SPADES. 08-ANR-SEGI-025 Page 10 before node 2, node 2 is started before node 3 and so on. When node up, it will try to establish a connection to each u∈U, where u<i. The lines of Fig. 1(c) represent all the connections that are linked to node 12-node binomial graph. The arrows point from the initiators (connector acceptors. Node 9 initiates connections to node 1, 5, 7 and 8, while it connections from ànode 10 and 11. Their structured initialization proc D2.3 Définition d’une architecture partir d’un système existant capable of handling any number of nodes in a scalable manner, i.e, th number of node restriction for BMG. 12 11 12 1 10 2 9 10 3 8 4 7 12 1 11 11 2 9 10 3 8 5 4 7 5 6 6 (a) 12-node BMG (b) Binomial tree (root=1) 9 8 7 6 (c) BMG initiali Figure 4.1: Exemple de graphe binomial (figure extraite de structure [1]). Fig. 1. Binomial graph 3 Properties of BMG Fonctionnalité Ok ? Motif √ Création rapide de Peu de basic connexions pour chaque in pairgraph theory of BM This section presents several properties l’overlay √ asFaible degree, diameter, average distance, message traffic density and cos coût de maintePeu de nœuds surveillés, détections Several BMG with other related topologies are pr nance evaluations comparing adaptées à des réseaux haute performances Properties of related topologies were obtained from respective theorems √ Résistance élevée aux Redondance des chemins dans la the reference papers. défaillances structure √ Reprise rapide après Remplacement du nœud défectueux défaillance par un de ses voisins √ 3.1 Degree Communications point Localisation rapide d’un pair à point efficaces d’identifiant connu √ If Communications a node in a graph has δ connections that selon are un linked to it, the node de Les messages sont transmis groupe arbreδbinomial gree δ. efficaces The minimum √degree min of a graph is the smallest node degre Répartition équitable Tous les nœuds ont un rôle of a graph is the largest node degree. If eve the maximum degree δmaxéquivalent de la charge has the same degree (δmin = δmax ), the graph is regular. A regular gr Table 4.1: Adéquation des BMG avec les mécanismes minimaux pour un runtime petascale. means that all the nodes are equivalent and can use the same routing an handling algorithms. Those algorithms are also simpler compared to non topologies, such as tree-based topologies, because they don’t need to han cial cases. BMG is a regular graph. Fig. 1(a) is an example of a 12-nod 08-ANR-SEGI-025 Page 11 where each node has degree 6. D2.3 Définition d’une architecture à partir d’un système existant Chapter 5 Conclusion Dans ce livrable, nous avons étudié les différentes structures de réseau susceptibles d’accueillir un runtime petascale exécuté sur 100.000 machines. Nous avons présenté et analysé Pastry, les overlays arborescents ainsi que les graphes binomiaux ; les résultats de cette étude sont synthétisés dans le tableau 5.1. Cette étude a montré que les graphes binomiaux étaient les meilleurs candidats pour supporter ce type de runtime. Fonctionnalité Création rapide de l’overlay Faible coût de maintenance Résistance élevée aux défaillances Reprise rapide après défaillance Communications point à point efficaces Communications de groupe efficaces Répartition équitable de la charge Pastry X X √ √ √ Overlays arb. √ √ √ √ √ X √ X X BMG √ √ √ √ √ √ √ Table 5.1: Adéquation des BMG avec les mécanismes minimaux pour un runtime petascale. Nous proposons ainsi de développer une architecture de communications pour un runtime petascale reposant sur des graphes binomiaux. Cette architecture permet de mettre en place les mécanismes nécessaires préalablement définis dans le livrable 2.2 tout en satisfaisant les contraintes de performances. Le livrable 2.4 présentera les algorithmes auto-stabilisant permettant de créer puis maintenir l’infrastructure en cas de fautes. Le livrable logiciel implémentera cette infrastructure de communications. ANR SPADES. 08-ANR-SEGI-025 Page 12 D2.3 Définition d’une architecture à partir d’un système existant Bibliography [1] T. Angskun, G. Bosilca, and J. Dongarra. Binomial graph: A scalable and fault-tolerant logical network topology. Parallel and Distributed Processing and Applications, pages 471–482. [2] T. Angskun, G. Fagg, G. Bosilca, J. Pješivac-Grbović, and J. Dongarra. Scalable fault tolerant protocol for parallel runtime environments. Recent Advances in Parallel Virtual Machine and Message Passing Interface, pages 141–149. [3] T. Angskun, G. Fagg, G. Bosilca, J. Pješivac-Grbović, and J. Dongarra. Self-healing network for scalable fault-tolerant runtime environments. Future Generation Computer Systems, 26(3):479–485, 2010. [4] S. Campbell, M. Kumar, and S. Olariu. The hierarchical cliques interconnection network. Journal of Parallel and Distributed Computing, 64(1):16–28, 2004. [5] JR Goodman and CH Sequin. Hypertree: A multiprocessor interconnection topology. IEEE Transactions on Computers, 100(30):923–933, 1981. [6] P.C. Roth, D.C. Arnold, and B.P. Miller. MRNet: A software-based multicast/reduction network for scalable tools. In Proceedings of the 2003 ACM/IEEE conference on Supercomputing, page 21. IEEE Computer Society, 2003. [7] Antony Rowstron and Peter Druschel. Pastry: scalable, decentralized object location and routing for large-scale peer-to-peer systems. In Proceedings of the 18th IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), nov 2001. ANR SPADES. 08-ANR-SEGI-025 Page 13