Title: Xtremweb : une plateforme de
1- Xtremweb une plateforme de
- calcul global et pair a pair
- Franck Cappello
- CR CNRS
- Responsable groupe Clusters et Grilles
- LRI, Université Paris sud.
2LRI (Laboratoire de Recherche en
Informatique), Université Paris sud, Orsay (30 Km
de Paris) Membres F. Cappello CNRS C.
Germain Maître de conférence V.
Néri Ingénieur A. Selikhov PostDoc G.
Fedak Doctorant G. Bosilca Doctorant G.
Krawesik Doctorant A. Djilali Doctorant O.
Lodigensky Doctorant Info http//www.lri.fr/f
ci fci_at_lri.fr
Collaborations
Tsukuba University, RWCP, EADS, IFP IBM Watson,
ORNL, GMD, Toronto, SDSC/UCSD, Argonne IMAG,
LIFL, LARIA, Polytechnique, Lab. Math, Physique,
bio at Orsay LAL, IPN (IN2P3), IBBMC
3Sommaire
- Introduction systèmes calcul global et P2P
- Le système XtremWeb I
- Le projet dACI GRID CGP2P
- Conclusion
- Pour en savoir plus
4Différents types de GRID
Caractéristiques des nuds
Grands sites de calcul, Clusters
- lt100
- Stable
- Identification
- individuelle
- Confiance
Les Grilles de calcul ou GRID
2 types de grands systèmes distribués
Les systèmes distribués à grande échelle
PC Windows, Linux
- 100 000
- Volatile
- Pas dident
- individuelle
- Pas de
- confiance
Les systèmes de Calcul Global ou Mega
Computing ou Internet Computing
Les systèmes Pair à Pair
5Caractéristiques fondamentales des systèmes
distribués à grande échelle
- Extensibilité jusqu à 100 k voire 1 M machines
- Hétérogénéité différents matériels et OS
- Dynamicité nombre de clients et de serveurs
évoluent constamment - Disponibilité le propriétaire d une ressource
doit pouvoir définir une politique de partage de
sa ressource - Tolérance aux pannes le système (et peut être
les applications) doivent supporter l existence
d éléments défaillants - Utilisabilité malgré les propriétés
précédentes, le système doit rester facilement
programmable et maintenable - Sécurité le système doit être sécurisé pour les
participants, les serveurs et l applications. Un
comportement malicieux ne doit pas pouvoir
corrompre l application. Un agent externe ne
doit pas pouvoir se faire passer pour un serveur.
6Calcul numérique à grande échelleHistorique
- Applications pionnières (connues)
- craquer des clés de cryptage RC5 et DES
- trouver des nombres premiers de Mersenne
- craquer des codes RSA
- Seti_at_home
- Premiers résultats 1996-1997
- SuperWeb, Javelin, Atlas, Charlotte, etc. en 96.
- Nombre de stations utilisées 250, 3500, 14000
PCs (Ppro 200) en 97 - 35 k personnes dans la mailing list de Seti_at_home
en 97
7Systèmes de Calcul Global
Définition Pragmatique Calcul
Maître-esclave Par vol de cycles sur Internet
Un serveur centraliser ordonnance des calcul sur
des PC volontaires
- Applications dédiées
- SETI_at_Home, distributed.net,
- Décrypthon
- Projet de production
- Folding_at_home, Genome_at_home,
- Xpulsar_at_home,Folderol,
- Exodus, Peer review,
- Plates-formes de recherche
- Javelin, Bayanihan, JET,
- Charlotte (based on Java),
- Ninf (ECL), XtremWeb (LRI),
- Plates-formes commerciales
- Entropia, Parabon,
- United Devices,
Application Cliente Params. /résults.
serveur
Paramètres
Internet
PC Volontaire
PC Volontaire
PC Volontaire Télécharge et exécute lapplication
8Système Pair à Pair (Peer to Peer)
Toutes les ressources (PC) sont égales, les
opérations se font à parité, de pair à pair.
- Applications dédiées
- Napster, Gnutella, Freenet,
- KaZaA, Music-city,
- Jabber,
- Projets de recherche
- Globe (Tann.), Cx (Javalin), Farsite,
- OceanStore (USA), XtremWeb (LRI),
- Pastry, Tapestry/Plaxton, CAN, Chord,
- Autres projets
- Cosm, Wos, peer2peer.org,
- JXTA (sun), PtPTL (intel),
PC volontaire Participant à la mise en relation
entre Pair
Volontaire
Internet
req.
Client
Volontaire Application Provider
9Rationalisation des systèmes P2P Composants
fondamentaux
Mécanisme mise en relation Recherche de
résultats Recherche de clés. (CAN, PASTRY,
TAPESTRY, CHORD, etc.)
Internet, Intranet ou LAN
PC
PC
Ressource
Requête
Requête
Requête
Ressource -fichier -service
Ressource
PC
Mécanisme de Transport (transfert de résultats)
Internet, Intranet ou LAN
Firewall
PC
Firewall
PC
Ressource
Ressource
Ressource
Internet
Tunnel
Ressource
10Classification des systèmes de MMR
Architecture du Mécanisme de Mise en Relation
recherche centralisée, distribuée ou hybride ?
Central server
Gnutella,
Fasttrack
Mécanisme de découverte de ressources
totalement distribué
Indexation par catalogues hiérarchiques
Distribué
Centralisé
Hybride
Chord CAN PASTRY Farsite Tapestry
Gnutella Freenet, OceanStore
Napster, SETI_at_home, Décrypthon
Fasttrack, BearShare
11Sommaire
- Introduction systèmes calcul global et P2P
- Le système XtremWeb I
- Le projet dACI GRID CGP2P
- Conclusion
- Pour en savoir plus
12Une plate-forme de rechercher opensource pour
étudier
- Le Calcul Global (extensibilité ,organisation des
serveur,) - Le Calcul Pair à Pair (volatilité, communication
inter noeud, sécurité) - Fusion des systèmes de Calcul Global et Pair à
Pair - ? Plate-forme de Recherche (étudier de nouveaux
mécanismes) - ? Plate-forme de Production (identifier les
problèmes des utilisateurs)
Accepte concerne des Calculs ou des données
Les requêtes peuvent être relatives à des données
ou des calculs
13Objectifs XtremWeb
XtremWeb ne vise pas à construire une plate-forme
avec des millions dutilisateurs (SETI, Napster,
Gnutella, Freenet, etc.) XtremWeb est beaucoup
plus un environnement pour construire des
clusters par dessus Internet ou à lintérieur
dun réseau propriétaire multi-sites.
Entropia Plate-forme de GC complète Entropia
platform (Entreprise) Gros projets (Internet)
United Devices Plate-forme de GC complète
Metaprocessor (Entreprise) Global Metaprocessor
(Internet)
Cosm Un ensemble de fonctions (sdk) pour
construire des applications de Global Computing
(P2P?)
Active Cluster de Platform LSF vol de cycles
sur PC windows (LAN, WAN)
14Architecture GénéraleXtremWeb 1
- Larchitecture actuelle est centralisée
- Global Computing et Peer to Peer (modèles
dinteraction) - 3 entités client/server/worker
XW Serveur hiérarchique
PC Serveur Peer to Peer
PC Serveur Global Computing (client)
PC Client/worker
Internet ou LAN
PC Worker
PC Worker
PC Client/Worker
15Architecturedu Worker
Applications ? Binaire (codes CHP en Fortran ou
C) ? Java (codes récents, codes
objet) Systèmes dexploitation ? Linux ?
Windows Mode dopération ? Screen saver ?
contrôle à distance du serveur (on/off)
Protocol traverser les pares feux (firewalls)
hostRegister
Worker
Server
WorkRequest
XML RPC et SSL authentification and cryptage
workResult
workAlive
16Architecturedes Servers
Ensemble de base de données
Sélecteur de tâches Gestionnaire de priorités
Tâches
Applications Tâches Résultats Statistiques
Résultats
Scheduler
Collecteur
Requêtes Worker
Requêtes Client
17Architecturedu Client
Une API Java ? soumission de tâches ?
collection de résultats ? contrôle du
serveur Applications ? Multi-paramêtres, sac de
tâches ? Maître-esclave (iteratif),
EP Contrôle du serveur ? configuration de la
plate-forme (nombre de Workers, type de
Workers, etc.)
Configure experiment
Client
Server
Worker
Get work
Launch experiment
Put result
Collect result
18Technologies de réalisation
Prérequis pour linstallation dase de données
(Mysql), serveur web (apache), PHP, JAVA jdk1.2.
19ObservatoirePierre Auger
- Aires Simulation de douches atmosphériques
- Temps dexécution de 5 à 10 heures (dépend de la
machine et des paramètres de simulation)
Base de données de paramètres (Lyon, France)
XtremWeb
Centres de calcul traditionnels
Server
CINES (Fr)
Nombre de PC estimé 5000
paramètres
PC worker
Internet ou LAN
Fermi Lab (USA)
PC Client
PC Worker
Worker Aires
20Lancer de rayonsPair à Pair
Source
Worker
Caméra
Produire un film à partir dune
scène PovRay. Prototype réalisé au LRI
Worker
Worker
Scène
Film calculé avec Xtrem RayTracing
Image originale
21XW I sur ressources légères Personal
multi-Computer (PmC)
22Autres projets utilisant XW
- - CGP2P (Calcul Global et Pair à Pair)
- XW stockage ordonnancement applications
parallèles, - ASP, mutualisation,
simulation numérique, Guillaume Alléon - XW composants numériques CORBA
- AIRCAST
- XW Pocket PC Wireless for news casting inside
Paris-Sud University. -
IRIS project multi-server XtremWeb - IFP stage de DEA en cours avec installation dXW
applications IFP - EADS stage de DEA en cours avec installation dXW
et application EADS - XtremWeb Toronto (education and research)
- Education (Global Computing) and parallel
processing with XW. - XW Math (Mathematics lab Paris south University)
23Sommaire
- Introduction systèmes calcul global et P2P
- Le système XtremWeb I
- Le projet dACI GRID CGP2P et MPICH-V
- Conclusion
- Pour en savoir plus
24- Fusion des concepts de
- Calcul Global et de système Pair à Pair
- (ASCI, IMAG-ID, LAL, LARIA/LIP, LIFL, LRI,
LIX-Polytechnique) - UCSD (USA) EADS
- Approche augmenter les fonctionnalité des
systèmes de calcul global - stockage
- communications entre les participants
- possibilité à nimporte quel participants de
soumettre des requêtes - Résultats visés
- Trouver des réponses aux problèmes scientifiques
posés - Produire des logiciels interopérants qui
assemblés forment une plate-forme CGP2P
25Guillaume Alléon EADS Joffroy Beauquier
LRI Jacques Briat IMAG-ID Franck Cappello
LRI Henri Casanova SDSC (USA) Christophe Cérin
LARIA Bernadette Charron Bost LIX Alain Cordier
LAL Cécile Germain LRI Michel Jouvin LAL Oleg
Lodygensky LAL/LRI Vincent Néri LRI Franck Petit
LARIA Serge Petiton LIFL/ASCI Cyril Randriamo
LARIA Olivier Richard IMAG-ID Brigitte Rozoy
LRI Gil Utard LIP Vincent Villain LARIA
George Bosilca LRI Adberhamanne Djilali
LRI Gilles Fedak LRI Oleg Lodygensky LAL/LRI Aton
Selikov LRI Marta Gonzalez LIFL/ASCI Thomas
Hérauet LRI Laboratoires ASCI, IMAG-ID LAL, LAR
IA/LIP, LIFL, LRI, LIX-Polytechnique,
26 chercheurs, 7 Laboratoires
26Les thèmes de recherche CGP2P
- Architecture générale du système distribué
- Interface utilisateur / aide à la décision (Sous
projet I) - Sécurité (Sous projet II)
- Stockage/Fouille (Sous projet III)
- Communications inter-nuds MPICH-V (Sous
projet IV) - Ordonnancement (Sous projet IV)
- Vérification théorique des protocoles (Sous
projet V) - Interopérabilité avec les GRID (Sous projet V)
- Validation sur des applications réelles (EADS)
27Communication inter nuds MPICH-V (Volatile)
Objectif exécuter des applications parallèles
prévues pour des machines parallèles à passage de
messages (ratio cal/com très grand) Problèmes
1) les noeuds sont volatiles (X peuvent
disparaître à tous moments) 2) les nuds
sont protégés par des firewalls.
Vue du programmeur
PC client MPI_send()
PC client MPI_recv()
Proposition pour résoudre le problème
Utiliser une mémoire de canal qui stocke tous
les messages, est fiable, qui accepte les
communications XW
PC client
Internet Ou LAN
Get
Put
Mémoire de canal
PC client
28Communication inter nuds MPICH-V
Que se passe-t-il en cas de défaillance ?
Un nouveau PC reprend le calcul depuis le début
et rejoue toutes ses Communications dernier
checkpoint
Intérêt ? reprendre uniquement la (les) tâche(s)
défaillante(s)
Est ce que ça fonctionne vraiment ?
théorique modélisation, étude des cas
limites Collaborations avec léquipe Paral du LRI
Vérification
Expérimentale réalisation, expérimentation,
performance
29Communication inter nuds MPICH-V
Vérification théorique
Dans le cas général, il faut reproduire les com.
à lidentique !! ? Problème du MPI_recv(any,)
Ordre initial
t1
mc1
t2
mc2
t3
- À cause de lasynchronisme
- des mémoires de canal, les ordres
- peuvent être inversés
les nuds numérotent tous les messages quils
envoient et avertissent les mémoires de lordre
local de leurs réceptions
30Communication inter nuds MPICH-V
- MPICH-V
- Communications un device MPICH avec mémoire de
canal - Run-time une virtualisation des processus MPICH
en tâches XW avec checkpoint - Link de lapplication avec libxwmpi au lieu de
libmpich
Mémoires de canal
Serveurs de checkpoint
Serveur de tâches ordonnanceur
worker
Internet ou LAN
Worker
Worker
31Communication inter nuds MPICH-V
Device ch_xw en remplacement du
ch_p4 Réalisation des fonctions principales
par-dessus les sockets
MPI_Send
MPID_SendControl MPID_SendChannel
PIbsend
_xwfrom
- get the src of the last message
_xwInit
- initialize the client
XW device Interface
_xwbsend
_xwFinalize
- finalize the client
32Inter-node communicationMPICH-V (Volatile)
Very first experiment results (RTT Ping-Pong)
2 PIII 500, one Channel Memory, 100base T
Eager/rendez-vous threshold
Time, sec
2,6 Mo/s
ch_xw, mean 1
ch_xw, min 1
ch_p4, mean
ch_p4, min
X 2
The X2 factor compared to P4 is reasonable since
each message crosses the network twice
5,4 Mo/s
X 2,33
Message size (bytes)
33Communication inter nuds MPICH-V
Checkpoint bibliothèque existante ? Condor
Temps checkpoint (sec)
Temps réseau TCP (min)
6 minutes
3 minutes PIII 500
3 minutes
34Communication inter nuds MPICH-V
- Performances pour une application parallèle sur
ressources Volatile ? - n tâches, m gt n machines, c checkpoints
(période), un temps séquentiel ts et une
accélération linéaire, p de restarts, d minutes - pour un checkpoint
- Tparv (ts/n) p n ((ts/n)/c) c d
- Plus le nombre de checkpoints est grand, moins le
temps perdu par - une tache non terminée est important.
- ?Plus le nombre de checkpoints est grand, plus le
temps perdu pour - La sauvegarde est important
35Communication inter nuds MPICH-V
Tparv (ts/n) p n ((ts/n)/c) c d
n1000 ts 144000 min (100 jours) tcom
négligeable
Minutes
1200
1100
Accélération
1000
900
700
800
600
700
500
600
400
500
300
400
200
300
100
200
0
Une nuit
100
0
100
200
300
0
Nombre de checkpoints (c)
1
10
100
1000
36Sommaire
- Introduction systèmes calcul global et P2P
- Le système XtremWeb I
- Le projet dACI GRID CGP2P
- Conclusion
- Pour en savoir plus
37Nécessité dun environnement expérimental complet
- Besoin doutils théoriques
- Modèles de performance, modèles de défaillance
- Mais aussi besoin doutils expérimentaux
(instruments) pour létude des systèmes complexes
à grande échelle - Observations / mesures
- Plate-forme de tests en grandeur nature TestBed
(CGP2P) - Un collecteur de Traces de paramètres de
ressources (XW-trace) - Un ensemble de benchmarks et de sondes
- Expériences en environnement contrôlé (reproduire
les conditions expérimentales) - Un(des) Emulateur(s) reproduisant avec des
degrés de fidélité variable le système et les
conditions expérimentales (XW-emulator) - Des simulateurs (ex ordonnancement totalement
distribué)
38Conclusion
- Les études sur les systèmes de calcul global et
P2P pour le calcul haute performance sont très
récentes (XtremWeb, IRISA projet Paris) - XtremWeb constitue lune des premières
plate-forme complète de recherche et de
production. WWW. XTREMWEB.NET - XtremWeb 1 est en phase de mise en production au
LAL (IN2P3) - Le projet dACI GRID CGP2P étudie la prochaine
génération de systèmes P2P fusionnant calcul et
stockage. - Il existe de nombreux problèmes scientifiques et
techniques - MPICH-V est vérifié fonctionnellement et
théoriquement et en cours doptimisation - La recherche dans ce domaine doit nécessairement
inclure les composantes théoriques et
expérimentales.
39Pour en savoir plus
- 1 Calcul Global Pair à Pair extension des
systèmes Pair à Pair au calcul , lettre de
lIDRIS, 12 pages, Février 2002. www.lri.fr/fci - 2 Projet ACI GRID CGP2P, www.lri.fr/fci/CGP2P.h
tml - 3 Projet XtremWeb, www.xtremweb.net
- 4 Deuxième Workshop International Global P2P
Computing , avec IEEE/ACM CCGRID 2002, Berlin,
Mai 2002, www.lri.fr/fci/GP2PC.htm - 5 Peer-to-Peer Computing , D. Barkai, Intel
press, 2001, Octobre 2001. - 6 Harnessing the power of disruptive
technologies, A. Oram éditeur, edition OReilly,
Mars 2001 - 7 Search in power-law networks , L. A.
Adamic et al. Physical Review, E Volume 64, 2001 - 8 The Grid Blueprint for a new Computing
Infrastructure , I. Foster et C. Kesselman,
Morgan-Kaufmann, 1998.
402nd International Scientific Workshop on
IEEE International Symposium on Cluster Computing
and the Grid (CCGrid'2002) Berlin-Brandenburg
Academy of Sciences and Humanities May 23 - 24,
2002 Berlin, Germany http//www.ccgrid.org/
http//ccgrid2002.zib.de/
A Framework for Classifying Peer to Peer
Technologies, Krishna Kant, Ravi Iyer
(Enterprise Architecture Lab, Intel Corporation),
Vijay Tewari (E-Business Solutions Lab, Intel
Corporation) Improving Data Availability through
Dynamic Model-Driven Replication in Large
Peer-to-Peer Communities, Adriana Iamnitchi,
Kavitha Ranganathan, Ian Foster (Department of
Computer Science, Chicago) NEVRLATE Scalable
Resouce Discovery, Ajay Chander (Computer
Science Department, Stanford University) Steven
Dawson, Patrick Lincoln, David Stringer-Calvert
Maintaining Connectivity in a Scalable and
Robust Distributed Environment, Mark Jelasity
(Department of Artificial Intelligence, Free
University of Amterdam), Mike Preuss (Department
of Computer Science, University of Dortmund),
Marten van Seen (Free University of Amsterdam),
Den Paechter (Napier University) Motivating
Computational Grids, D. Skillicorn (Computer
Science Department, Queens University) JM A
Jini Framework for Global Computing, Zoltan
Juhasz (Department of Information Systems,
University of Veszprem and Department of Computer
Science, University of Exeter), Arpad Andics,
Szabolcs Pote (Department of Information Systems,
University of Veszprem)
41Sécurité des ressources
PC agressif
Exécution de codes natifs
Internet ou LAN
Sans authentification utilisateur, garantir la
sécurité des ressources ? (le code utilisateur ne
doit pas pouvoir corrompre une ressource )
code agressive
Ressource dexécution
Sandboxing du code natif (fondé sur ptrace)
Janus, Subterfugue,
Fork (ptracé)
Processus Père contrôleur Vérification des
arguments (pile) Autorisation
Application
Appel système
Proc ptracé
Interception Exécution
Noyau
Zone Susceptible dattaques par race
condition
42Sécurité des ressources
Système virtuel avec contrôle fondé sur ptrace
UML
Fork (ptracé)
Application
Application
Appel système vérifié par le système émulé
Appel système
Système émulé
exécution Noyau natif
Système natif
Linux Security Modules (LSM)
Noyau Write()
Setparams nop jmp _at_ nop
nop
Application
Module sécurité Modifications Code de
vérification Autorisation
Appel système
Hook
43Sécurité des ressources Performance comparée
des natifs et des natifs sandboxés
Pentium 4 1,7 Ghz, 256 Mo, Linux 2.2.4
Performance dopérations systèmes Getpid,
open/close, read, write
Performance sur applications
Ralentissement par rapport au natif
Ralentissement par rapport au natif
251
2,5
201
2
1,5
151
1
101
0,5
51
0
1
gzip
gunzip
gcc
read
write
stat
getpid
open/close
fork /bin/sh
- LSM est rapide car le patch du noyau enlève
les capabilities - Sub est rapide quUML parce quil effectue
moins de changements de contexte
44Sécurité des ressources Les limites de
lapproche Ptrace
Pentium 4 1,7 Ghz, 256 Mo, Linux 2.2.4
Caractéristiques des applications
Répartition des appels systèmes dans le temps
dexécution
100
90
80
70
60
50
40
- Ptrace intercepte tous les
- appels systèmes
- (malloc, mmap, etc.)
30
20
10
0
gzip
gunzip
gcc
45Sécurité des ressources Performance comparée de
JVM et de codes natifs
Performance sur des codes Pentium 4 1,7 Ghz,
256 Mo, Linux 2.2.4 Sun JVM 1.2.0 Sun JVM
1.3 Sun JVM 1.4 IBM 1.3 CG, EP,FT (NAS), SOR,
MC, Matmul, LU, Linpack
Performance relative au natif
1,2
1
0,8
SUN 1.2
SUN 1.3
0,6
SUN 1.4
IBM 1.3
Natif
0,4
0,2
0
"CG"
"EP"
"FFT"
"SOR"
"MC"
"LU"
"MatMul"
"Linpack"
- Natif plus performant mais dernière JVM proches
46Sécurité des ressources Performance comparée de
JVM et de codes natifs sandboxés
Performance dopérations systèmes Getpid,
open/close, read, write. Pentium 4 1,7 Ghz, 256
Mo, Linux 2.2.4 Sun JVM 1.4.0
-Signal (Ptrace), -changement de
contexte -interprétation Python (Subterfugue)
Surcoût de l'interposition
1000
Getpit coût sun syscall
489
251
249
214
146
126
100
51
52
51
36
Temps en micosecondes
10
7,2
7
1,9
1,9
1,7
1,76
1,3
1,3
1,2
1,2
1
1
1
LSM
Subterfugue
UML
Java sans secu
Java SecurityManager
Natif
- Java plus performant pour les read/write
- Coût dinterposition LSM nul (mais actuellement
sans vérification)
47Sécurité des ressources Performance comparée
Java, Java sec, natif, natifsec
Exécution du benchmark EP classe A sur 16 Pentium
III 500 Mhz dans un système complet (XW 1.0)
Natif performant (15)
Temps (s)
250
Pas de ralentissement notable de la
sécurité (Subterfugue et Java)
200
150
16 workers
100
Saturation loverhead du système atteint le
temps dexécution de lapplication
50
0
256
128
64
32
16
8
4
2
1
Nombre de tâches
48Motivations pour le calcul à grande échelle
- Un nouveau type darchitectures parallèles
- Un très grand nombre de ressources (gtgt machines
parallèles) - Des capacités de communication très faibles
- Un nouveau type de systèmes distribués (répartis
?) - Un très grand nombre de ressources (gtgt machines
parallèles) - La volatilité comme caractéristique
- Nouveaux Problèmes
- Comment programmer ces architectures ?
- Domaine d applications (EP, multi-paramètres,
parallèles) - Evaluation de Performance (benchmark, mesures,
paramètres) - Modèles de performance (orienté programmation
à la BSP , orienté performance à la LogP) - Nouvelle algorithmique
- Modèle économique
49CASPER Community based Application Service
ProvidER
ASP (Application Service Provider) fournisseur
de calculs et gestionnaire/distributeur
dinformations (param. / res.) pour les
industriels utilisant la simulation numérique
50 CASPER