Upload
claudia-montagne
View
103
Download
0
Embed Size (px)
Citation preview
N. Melab & E-G. Talbi
-G
Contributions Multi-Objective EO (MOEO)
pour la mise en œuvre de l’optimisation multi-objectif
Moving Objects (MO) pour les métaheuristiques à solutionunique
ParadisEO pour les métaheuristiques parallèles hybrides
PARAllel and DIStributed Evolving Objectshttp://paradiseo.gforge.inria.fr/
Parallélisme sur supports dédiés Passage de messages (MPI, PVM)
Déploiement sur réseaux de stations
Multi-programmation (PThreads) Machines multi-processeurs à
mémoire partagée (SMPs)
Environnements parallèles et distribués
Cluster of SMPs (CLUMPS)
Transparence à l’utilisation
EO
ParadisEO
MO MOEO MPI (LAM, CH) PVM PThreads
S. Cahon, N. Melab and E-G. Talbi. ParadisEO: A Framework for the Reusable Design of Parallel and Distributed Metaheuristics. Journal of Heuristics, Vol.10(3), ISSN:1381-1231, pages 357-380, May 2004.
Projet Européen (Geneura Team, INRIA, LIACS)
http://eodev.sourceforge.net
EO
ParadisEO-G
MO MOEO MPICH-G2
Re-penser le framework pour prendre en compte les caractéristiques des grilles
Multi-institutionnelle, hétérogène, volatile, à grande échelle Problèmes : sécurité, performance, tolérance aux pannes, déploiement
efficace, etc. Coupler ParadisEO Globus
Interface de programmation (MPICH-G2) Services de gestion de ressources et des communications –
authentification et autorisation, transfert efficace, information, …
Services Globus GT4
ParadisEO-G : ParadisEO sur Globus
N. Melab, S. Cahon and E-G. Talbi. Grid Computing for Parallel Bioinspired Algorithms. Journal of Parallel and Distributed Computing (JPDC), Elsevier Science, Vol. 66(8), Pages 1052-1061, Aug. 2006.
Outil de construction d’une organisation virtuelle qui fournit les services de Globus et MPICH-G2 Mission d’un IR INRIA associé (4 mois) Différentes images système avec des scripts
d’installation et post-installation Utilisée au sein de Grid5000 et Naregi
Couplage naturel avec ParadisEO car … … même interface entre MPICH et MPICH-G2
Transfert de données efficace entre composants ParadisEO – Différents algorithmes Projet de Master Pro 2 TIIR
Démarche de gridification de ParadisEO
La boîte à outils Globus La bibliothèque de communication MPICH-G2 Construction d’une organisation virtuelle Globus Utilisation de ParadisEO-G pour le PSP
Plan
The Globus Toolkit™
The Globus Project™Argonne National Laboratory
USC Information Sciences Institute
http://www.globus.org
Globus Toolkit™
C’est un toolkit pour la gestion de problèmes techniques pour le …
… développement d’outils, services et applications pour les grilles
Fournit un “bag of technologies” Fournit une implémentation standard de
protocoles et APIs pour les grilles Permet le développement incrémental
d’outils et applications pour les grilles Est un toolkit logiciel open source
Architecture en couches
Applications
Core ServicesMetacomputing
Directory Service
GRAMGlobus
Security Interface
Replica Catalog
GASS
GridFTP
Local Services
LSF
Condor MPI
NQEPBS
TCP
AIXLinux
UDP
High-level Services and Tools
Cactus Condor-GMPI Nimrod/Gglobusrun PUNCH
Grid Status
I/O
Solaris
DRM
Architecture en couches (par analogie à l’architecture d’Internet)
Application
Fabrique“Contrôle local”: contrôle et accès aux ressources
Connectivité“Communication”: communication (protocoles d’Internet) & sécurité
Ressources“Partage de ressources”: négociation d’accès, contrôle d’utilisation
Collective“Coordination de ressources multiples”: services d’infrastructure, services d’application distribués
NetworkTransport
Application
Lien
Inte
rnet P
roto
col
Arc
hite
ctu
re
La couche Fabrique
Ressources partagées … Ordinateurs individuels, pools Condor,
systèmes de fichiers, archives, catalogues de meta-données, réseaux, capteurs, etc.
… définies par des interfaces et non pas par des caractéristiques physiques
GSI: www.gridforum.org/security
La couche Connectivité
Communication Protocoles d’Internet : IP, DNS, routage, etc.
Sécurité: Grid Security Infrastructure (GSI) Authentification, autorisation, mécanismes de
protection de messages dans un environnement multi-institutionnel
Public key technology, SSL, X.509, GSS-API Supporting infrastructure: Certificate
Authorities, certificate & key management, …
La couche Ressources
Grid Resource Allocation Management (GRAM) Allocation à distance, réservation, monitoring,
contrôle de ressources de calcul
Protocole GridFTP (extensions de FTP) Accès à et transport de données haute performance
Grid Resource Information Service (GRIS) Accès à l’information de structure et d’état des
ressources
Réservation réseau, monitoring, contrôle
GridFTP: www.gridforum.orgGRAM, GRIS: www.globus.org
La couche Collective
Serveurs d’index et services de meta-données
Courtiers de ressources (ou resource brokers) (ex., Condor Matchmaker) Découverte et allocation de ressources
Services de réplication et catalogues de réplicas
Services de co-réservation et co-allocation
Services de gestion de workflows, …
Condor: www.cs.wisc.edu/condor
Pour plus d’information …
Globus Project™ www.globus.org
Grid Forum www.gridforum.or
g Livre (Morgan
Kaufman) www.mkp.com
/grids
La boîte à outils Globus La bibliothèque de communication MPICH-G2 Construction d’une organisation virtuelle Globus Utilisation de ParadisEO-G pour le PSP
Plan
Architecture de MPICH
The MPI interface (defi ned by the MPI standards)
The MPICH layer(implements the MPI interface)
User
Abstract Device Interface (ADI)
MPP SMP Cluster
A Particular Platform
MPICH-G2
L’environnement grille Authentification et autorisation (GSI) Transfert d’exécutables entre sites (GASS) Systèmes et politiques d’ordonnancement
différents (GRAM – ordonnanceurs locaux) Allocation de ressources sur différents sites
(DUROC+GRAM) Méthodes de communication différentes (MPI ou
Globus IO)
MPICH-G2 permet … … de cacher l’environnement de la grille … d’utiliser les services fournis par Globus
(GSI)
GSI: Grid Security Infrastructure GASS: Global Access to Secondary Storage MDS: Monitoring and Directory Service GRAM: Grid Resource Allocation and Management DUROC: Dynamically-Updated Request Online Co-allocator RSL: Resource Specification Language
(fichier RSL)
Comment MPICH-G2 marche (1)
Authentification (grid-proxy-init) Obtenir un certificat permettant l’accès aux
ressources de chaque domaine d’administration (site) Appel à GSI
Sélection de ressources avec MDS
Génération manuelle ou avec mpirun d’un script RSL Un script par site Spécification de ressources (processeurs, …) et
besoins (CPU, mémoire, …) et paramètres (localisation des exécutables, variables d’environnement , ….)
Comment MPICH-G2 marche (2)
Appel à DUROC Déploiement à l’aide de scripts RSL des
tâches de l’application en utilisant des appels à GRAM
Déploiement de tâches avec GRAM Chargement éventuel d’exécutables GASS Communication entre processus via Globus IO
ou autre
Comment MPICH-G2 marche (3)
Compilation of MPICH-G2 based application is completeCompilation of MPICH-G2 based application is complete
% mpirun % mpirun -dumprsl-dumprsl -np 12 ring -np 12 ring
RSL script to stdoutRSL script to stdout
% mpirun % mpirun -globusrsl-globusrsl my.rsl my.rsl
mpirun invokes globusrunmpirun invokes globusrun
Exécution d’applications MPICH-G2
++(&(resourceManagerContact="sdd113")(&(resourceManagerContact="sdd113") (count=12)(count=12) (label="subjob 0")(label="subjob 0") (environment=(environment= (GLOBUS_DUROC_SUBJOB_INDEX 0))(GLOBUS_DUROC_SUBJOB_INDEX 0)) (directory="/home/voxel")(directory="/home/voxel") (executable="/home/voxel/ring")(executable="/home/voxel/ring")))<skip><skip>
Avant installation … … l’utilisateur doit avoir accès à Globus
Compilation et exécution …
La boîte à outils Globus La bibliothèque de communication MPICH-G2 Construction d’une organisation virtuelle
Globus Utilisation de ParadisEO-G pour le PSP
Plan
A Master-Worker Globus VO
Master node contains the … … Certification Authority … Monitoring and Discovery System (MDS) and has users credentials
Each slave node has … … a Globus environment ready to be activated … and MDS service activated … a GRAM for local jobs submission (fork) … RFT and GridFTP activated … a Security service activated
Globus deployment overview (1)
Fro
ntal
Reservation tool
I want 20 nodes
Fro
ntal
Reservation tool
node-1node-4…node-x
Globus deployment overview (2)
Fro
ntal
Reservation tool
node-1node-4…node-x
griddeploy
Globusimage
Globus deployment overview (3)
Master
Fro
ntal
Reservation tool
node-1node-4…node-x
griddeploy
Globusimage
Globus deployment overview (4)
Fro
ntal
Reservation tool
node-1node-4…node-x
griddeploy
Globusimage
Master
Globus deployment overview (5)
slave slave slave slave
slave Master slave slave
slave slave
slave
slave slave slave
slave slave
slave slave slave slave
Fro
ntal
Reservation tool
user data
Globus deployment overview (6)
Globus data transfer overview (1)
slave slave slave slave
slave Master slave slave
slave slave
slave
slave slave slave
slave slave
slave slave slave slave
Fro
ntal
Reservation tool
user data
rft –h node-11 –f transfer.xfr
slave slave slave slave
slave Master slave slave
slave slave
slave
slave slave slave
slave slave
slave slave slave slave
Fro
ntal
Reservation tool
user datauser data
user data
user data
user data
user data
user data
Globus data transfer overview (2)
Globus (mutlitple) job soumission overview (1)
slave slave slave slave
slave Master slave slave
slave slave
slave
slave slave slave
slave slave
slave slave slave slave
Fro
ntal
Reservation tool
user data
globusrun-ws -submit -J -S -f multi.rsl user data
user data
user data
user data
user data
user data
slave slave slave slave
slave Master slave slave
slave slave
slave
slave slave slave
slave slave
slave slave slave slave
Fro
ntal
Reservation tool
user data
globusrun-ws -submit -J -S -f multi.rsl user data
user data
user data
user data
user data
user data
Globus (mutlitple) job soumission overview (2)
La boîte à outils Globus La bibliothèque de communication MPICH-G2 Construction d’une organisation virtuelle Globus Utilisation de ParadisEO-G pour le PSP
Plan
RoadMap to run the experiment(interactive mode)
I. Prepare the Grid Reserve nodes …
oargridsub -q deploy -w 08:00:00 lille:nodes=10,bordeaux:nodes=10,sophia:nodes=20
… and store nodes in a file: oargridstat -l 1879 > mynodes Deploy the globus Image on all sites with this command:
griddeploy.sh mynodes globus4 Choose a master node (anyone), then transfer the file
containing the list of nodes on the master scp mynodes root@<MASTER>:
… and finally log in as root on the master and run: # ./globus/install.sh mynodes
[OAR_GRIDSUB] Reservation success on lille : batchId = 1995, nbNodes = 10, weight = 0, properties = "", queue = deploy [OAR_GRIDSUB] Reservation success on bordeaux : batchId = 14615, nbNodes = 10, weight = 0, properties = "", queue = deploy[OAR_GRIDSUB] Reservation success on sophia : batchId = 146084, nbNodes = 20, weight = 0, properties = "", queue = deploy[OAR_GRIDSUB] Grid reservation id = 1879
II. Run the experiment Transfert data to a globus node: scp –r frontale.lille.grid5000.fr:<your_data_dir> . Dump a job description file (RSL):
mpirun -dumprsl -np <processor_number> <my_prog> <my_arguments> > <my_prog>.rsl
cat <my_prog>.rsl | sed -e 's|(executable="\(.*\)")|(executable=$(GLOBUSRUN_GASS_URL)\1)|g' > test.rsl
In our example : mpirun -dumprsl -np 40 para_ga @tsp.param para_ga.rslcat para_ga.rsl | sed -e 's|(executable="\(.*\)") | (executable=$(GLOBUSRUN_GASS_URL)\1)|g' > test.rsl
The second line with sed substitutions is only necessary to stage in your data (including binary) if they are not present on each node (you can transfer it with RFT for instance).
In batch mode, all this stuff is automatically done for you
RoadMap to run the experiment(interactive mode)
La boîte à outils Globus La bibliothèque de communication MPICH-G2 Construction d’une organisation virtuelle Globus Utilisation de ParadisEO-G pour le PSP
Plan
M3M3
M2M2
M2M2
M6M6
M5M5
M4M4
M1M1
M6M6
M5M5
M4M4
M3M3
M2M2
FRONTALFRONTAL
M1M1
M6M6
M5M5
M4M4
M3M3
M2M2
FRONTALFRONTALM1
M1
M6M6
M5M5
M4M4
M3M3
M2M2
FRONTALFRONTAL
M3M3
Deployment of ParadisEO-G4
1. Reserve a pool of nodes
2. Select a master node for the Globus GRID3. Configure the Globus GRID (certificates, user credentials, xinetd, postgresql, etc.)4. Deploy and execute – MPICH-G2
GRID5000: A fully reconfigurable grid! The configuration phase relies on the deployment of pre-built Linux « images » having Globus and MPICH-G2 already installed.
Lille, Nice-Sophia Antipolis, Lyon, Nancy, Rennes: 400CPUs
Non-preemtive reservation – no interference may occur; the processor are completely available during the reservation time.
CLUSTER A
CLUSTER B
CLUSTER C