Title: Evaluation dun systme pairpair en utilisant Modelnet sur le cluster GdX
1Evaluation dun systèmepair-à-pair en utilisant
Modelnetsur le cluster GdX
- Fabio Picconi
- Projet REGAL (LIP6 / INRIA)
2 3Emulation
- Environnement qui permet de
- tester des logiciels répartis ou des prototypes
dans des conditions réalistes sans simplifier le
logiciel - reproduire dans un cluster un environnement WAN
ou même lInternet - latences
- bande passante (liens ADSL)
- perte de paquets due à la congestion
- topologie du réseau
- conditions dynamiques (volatilité clients)
4Modelnet - architecture
5Modelnet - architecture
Edge node (gdx0001.orsay.grid5000.fr)
Edge node- Noeud de calcul- OS linux standard-
Accès root nécessaire pour modifier la table de
routage- OS redéployé pour accès root (clef
RSA dans /root/.ssh)
eth00
eth0
eth01
eth02
eth03
Emulator node- Noeud réseau- FreeBSD 4.10-
Accès root nécessaire pour charger le module
noyau Modelnet
Emulator node(netgdx002.orsay.grid5000.fr)
eth0
6Modelnet - architecture
Edge node (gdx0001.orsay.grid5000.fr)
Table de routage de gdx0001 10.0.0.0/8
netgdx002
10.0.0.1
eth0
10.0.0.1 ? 10.0.0.7
Emulator node(netgdx002.orsay.grid5000.fr)
eth0
7Modelnet - architecture
Edge node (gdx0001.orsay.grid5000.fr)
Edge node (gdx0002.orsay.grid5000.fr)
10.0.0.1
eth0
eth0
10.0.0.7
10.0.0.1 ? 10.0.0.7
Emulator node(netgdx002.orsay.grid5000.fr)
eth0
8Modelnet - architecture
10.0.0.2
10.0.0.7
10.0.0.1
Lémulateur ajoute la latence selon la route
émulée avant denvoyer le paquet à la destination
Emulator node(netgdx002.orsay.grid5000.fr)
eth0
9Modelnet configuration
- La configuration de Modelnet est spécifiée par 4
fichiers XML - graph contient les nuds et les liens (topologie)
- route contient les chemins entre toute paire de
noeuds - hosts spécifie les hôtes et émulateurs
- model associe nuds virtuels aux machines
10Modelnet topologie
- Modelnet fournit un script inet2xml qui convertit
la sortie du générateur Inet au format utilisé
par Modelnet - Exemple la commande
- inet -n 4000 inet2xml -p 100 among 25 stubs gt
example.graph - crée un réseau de 4000 nuds, 100 clients et 25
stubs. La bande passante, latence, taux de pertes
de chaque lien est déterminée par inet2xml
11Modelnet topologie
- lt?xml version"1.0" encoding"ISO-8859-1"?gt
- lttopologygt
- ltverticesgt
- ltvertex int_idx"0" role"gateway" /gt
- ltvertex int_idx"1" role"gateway" /gt
- ltvertex int_idx"2" role"virtnode" int_vn"0" /gt
- ltvertex int_idx"3" role"virtnode" int_vn"1" /gt
- ltvertex int_idx"4" role"virtnode" int_vn"2" /gt
- lt/verticesgt
- ltedgesgt
- ltedge int_dst"1" int_src"2" int_idx"0"
specs"client-stub" int_delayms100 /gt - ltedge int_dst"2" int_src"1" int_idx"1"
specs"client-stub" dbl_kbps"768 /gt - ltedge int_dst"1" int_src"3" int_idx"2"
specs"client-stub" /gt - ltedge int_dst"3" int_src"1" int_idx"3"
specs"client-stub" /gt - ltedge int_dst"0" int_src"4" int_idx"4"
specs"client-stub" /gt - ltedge int_dst"4" int_src"0" int_idx"5"
specs"client-stub" /gt - ltedge int_dst"1" dbl_len"1" int_src"0"
int_idx"0" specs"stub-stub" /gt - ltedge int_dst"0" dbl_len"1" int_src"1"
int_idx"1" specs"stub-stub" /gt - lt/edgesgt
12 13Architecture Pastis
- Méta-données (inodes) signées
- Blocs de données auto-certifiés
14Evaluation de Pastis
- But évaluer limpact de la volatilité des
noeuds de la DHT sur un système de fichiers
Pastis - Plate-forme grappe GdX dOrsay
- Outils OAR, KaDeploy, Modelnet contrôleur
noeuds DHT
15Evaluation de Pastis
console devgdx002
contrôleur noeuds DHT gdx0001 172.24.1.1
gdx0002 10.0.0.1-5 gdx0003 10.0.0.9-13 Pastr
y/Past/Pastis
netgdx002 172.24.110.2 router Modelnet
16Evaluation de Pastis
console devgdx002
contrôleur noeuds DHT gdx0001 172.24.1.1
gdx0002 10.0.0.1-5 gdx0003 10.0.0.9-13 Pastr
y/Past/Pastis
netgdx002 172.24.110.2 router Modelnet
17Gestion de la DHT
- Contrôleur
- Communique directement avec les noeuds de calcul
sans passer par lémulateur Modelnet - Crée les nuds de la DHT (Pastry/PAST)
- Connaît létat global du réseau
- Injecte la volatilité en tuant et créant des nuds
18Injection de volatilité
- Le contrôleur utilise un processus de poisson
- A chaque événement il tue un noeud de la DHT et
en crée un nouveau - On utilise le temps médian de session comme
paramètre pour la volatilité - tmed N.ln 2 / ? (N nb. noeuds, ? param.
Poisson)
19Intervalle de maintenance
- Chaque nud PAST vérifie régulièrement si ses
voisins ont des blocs quil doit répliquer et
stocker localement - Le temps écoulé entre deux vérifications est
appelé intervalle de maintenance - Valeur par défaut 10 minutes
- Si des blocs sont perdus suite à un noeud qui se
déconnecte, ses voisins réagissent 10 minutes
après (dans le pire des cas)
20Expérimentations
- 1 client Pastis utilisant une DHT de 100 nuds
- liens client-stub de 1 mbps
- Andrew Benchmark exécuté sur le client Pastis
- répertoire contenant 27 fichiers (total 316 Ko)
- 20 edge nodes et 2 émulateurs Modelnet
- 10 noeuds DHT par machine physique
21Expérimentations
Nombre de répliques en fonction du temps. Facteur
de réplication 11
22Expérimentations
Idem, mais avec une volatilité deux fois plus
élevée.
23Expérimentations
Blocs modifiables (meta-données)
24Expérimentations
Blocs immutables (données)
25Expérimentations
Priorité aux blocs modifiables (meta-données)
26Remarques
- Script de configuration et démarrage
- lit la liste de noeuds (OAR_NODEFILE), vérifie la
vivacité de chaque noeud (ssh noeud /bin/true),
et génère les fichiers de configuration Modelnet
à la volé - copie ces fichiers de configuration sur chaque
machine (edge nodes et émulateurs) - il faut réserver plus de noeuds quon va utiliser
car des fois tous les noeuds déployés ne sont pas
vivants - le déploiement dun OS est nécessaire pour avoir
accès root et pouvoir modifier les tables de
routage
27Remarques
- Emulateurs Modelnet
- Au moment du lancement de ces tests le
déploiement automatiques dimages FreeBSD nétait
pas possible - Installation et configuration de FreeBSD à la
main sur quelques machines réseau - Ces machines étaient à usage exclusif pour
Modelnet (toujours bootées sur FreeBSD 4.10) - Clef ssh installée sur ces machines sur le compte
root pour lancer les commandes de configuration
Modelnet par le script de configuration décrit
précédemment
28Conclusion
- Plate-forme intéressante vue la puissance et
quantité de noeuds ? possibilité
dexpérimentations à grande échelle - Impossibilité de déployer une image FreeBSD
automatiquement - Déploiement non fiable (souvent certains nuds
déployés sont pas vivants)
29Conclusion
- Plantage systématique du serveur LDAP lorsquon
excédait 200 nuds de la DHT - Cause du plantage non trouvée (très peu daccès
LDAP par chaque noeud de la DHT) - Ce problème LDAP a limité la quantité et
léchelle des expérimentations - Résultats des mesures dans rapport technique,
prochaine soumission à CCGRID