D2.3 Définition d`une architecture `a partir d`un syst`eme

publicité
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
Téléchargement