Title: Conception et impl
1 - Conception et implémentation dun système de
fichiers hautement disponible et sûr reposant sur
un réseau de PC - Fabio Picconi
- Stage de DEA SIR, UPMC
- Encadrants
- Jean-Michel BUSCA et Pierre SENS
- LIP6, SRC
2Plan de lexposé
- Objectifs du stage
- Systèmes pair à pair
- réseaux P2P structurés KBR et DHT
- systèmes de fichiers existants CFS, Ivy
- P2PFS
- Pastry et Past
- structures de données, mises à jour
- modèles de cohérence
- Prototype
- architecture
- mesures de performance
3Objectifs du stage
- Développer un système de fichiers pair-à-pair en
se focalisant sur - loptimisation des performances
- la recherche de modèles de cohérence adaptés à ce
type de système - la prise en compte des aspects de sécurité dans
larchitecture du système
4- Réseaux pair-à-pair structurés
- Systèmes de fichiers P2P existants
5Réseaux pair-à-pair structurés
- Plusieurs abstractions ont été proposées
- Tier 0 key-based routing (KBR)
- Tier 1 DHT (table de hachage répartie), CAST
(multicast), DOLR (routage et placement dobjets
répartis)
6Réseaux pair-à-pair structurés
- Key-based routing (KBR)
- algorithmes proches de celui de Plaxton (routage
par préfixes) - concept de racine et n-ème racine dune clef
- Tables de hachage réparties (DHT)
- permettent de stocker un objet associé a une clef
- lobjet est stocké dans le nœud racine de la clef
- déventuelles n répliques sont stockées dans la
2ème, 3ème, , nème racines de la clef
7Systèmes de fichiers pair-à-pair
- CFS (Cooperative File System)
- read-only
- structures similaires à celles de UFS
- Ivy
- multi-écrivain
- un log par utilisateur
- Les deux systèmes utilisent
- Chord et DHash et offrent une interface NFS v3
8 9Pastry et Past
- Pastry couche de routage (KBR)
- nombre de hops jusquà la destination log2b N
(5 pour N106) - table de routage limitée en taille (environ 75
entrées pour N106) - bonnes propriétés de localité (gain denviron
2,5) - messages envoyés lors de larrivée ou le départ
dun nœud O( log2b N )(particulièrement lourd
dans un système pair-à-pair) - Past table de hachage répartie (DHT) utilisant
Pastry - stocke k répliques de lobjet dans les premières
k racines de la clef - permet de récupérer la réplique la plus proche
avec un grande probabilité - 75 réplique la plus proche, 90 deuxième
réplique la plus proche
10P2PFS Structures de données
- Structure similaire à celle de CFS
- un inode pour chaque fichier, stocké dans un
Public-Key Block (PKB) - contenu des fichiers et répertoires stocké dans
des Content-Hash Blocks (CHB)
11P2PFS Mises à jour
- Les mises à jour sont effectuées directement par
chaque client - insertion des nouveaux CHBs contenant les
nouvelles données - insertion du nouvel inode (écrasement de
lancienne version) - règle dernier écrivain gagne selon
lestampille générée par le client - on nefface pas les anciens CHBs ? simplifie le
relâchement de la cohérence
12P2PFS Cohérence close-to-open
- Cohérence relâchée permettant de réduire le
nombre daccès réseau - les écritures ne sont propagées quaprès la
fermeture du fichier - les écritures distantes ne sont visibles quà
louverture du fichier - Implémentation
- lecture de linode du réseau Past au moment de
louverture du fichier - linode et déventuels nouveaux CHBs sont cachés
localement jusquà la fermeture du fichier
13P2PFS Garantie de session read-your-writes
- Conçue originalement pour le système Bayou
- chaque lecture doit refléter toutes les écriture
locales précédentes - modèle mieux adapté que CTO pour les fichiers pas
partagés - Implémentation
- table du plus récent ctime de chaque inode vu par
le client - lecture dune réplique suffisamment récente du
réseau Past - performant grâce aux propriétés de localité de
Pastry
14- Prototype et
- mesures de performance
15P2PFS Prototype, Simulateur
- Prototype
- codé en Java
- interface aux applications similaire à celle de
Java - Modification du simulateur inclus dans FreePastry
1.3 - tous les nœuds Pastry/Past sexécutent dans une
même JVM - chaque message Pastry est retardé dun temps fixe
ou de façon proportionnelle à la distance entre
nœuds
16P2PFS Mesures de performance
- Andrew Benchmark simulé
- 1 répertoire, 55 fichiers, 450 Ko
Impact du modèle de cohérence 4096 nœuds, délai
50 ms., k 16
Comparaison entre simulation et émulation 4
nœuds, délai 100 ms., k 1
17P2PFS Mesures de performance
Comparaison avec NFS v3 128 nœuds Past, délai 25
ms., k 16 1 client et 1 serveur NFS Les RPCs
NFS sont retardées par une version modifiée de
dumbfs (logiciel utilisant SFS Toolkit et faisant
de relais entre un client et un serveur NFS v3)
Avec 4096 nœuds notre système est environ deux
fois plus lent que NFS
18Conclusions
- Utilisation dun couche KBR et DHT efficace et
avec de bonnes propriété de localité - Choix du modèle de cohérence décisif pour
atteindre des performances acceptables - Interface des KBR bien définie celle des DHT
doit encore être améliorée pour ajouter de la
souplesse - Mesures de performances préliminaires
encourageantes réaliser davantage de tests
dans des conditions plus réalistes (topologie,
émulation, profil dutilisation autre que lAB)
19Bibliographie
- F. Picconi. Design and implementation of a highly
resilient and secure peer-to-peer file system.
Rapport de stage, DEA SIR, UPMC. Septembre 2003. - F. Dabek, B. Zhao, P. Druschel, J. Kubiatowicz,
I. Stoica. Towards a Common API for Structured
Peer-to-Peer Overlays. In Proc. of IPTPS, 2003. - A. Rowstron and P. Druschel. Storage management
and caching in PAST, a large-scale, persistent
peer-to-peer storage utility. In Proc. of the ACM
Symposium on Operating System Principles, Octobre
2001. - A. Rowstron and P. Druschel. Pastry Scalable,
distributed object location and routing or
large-scale peer-to-peer systems. In Proc.
IFIP/ACM Middleware 2001, Heidelberg, Germany,
Novembre 2001. - A. Muthitacharoen, R. Morris, T. M. Gil, and B.
Chen. Ivy A Read/Write Peer-to-Peer File System.
In Proceedings of 5th Symposium on Operating
Systems Design and Implementation (OSDI 2002).