380 likes | 485 Views
-G. N. Melab & E-G. Talbi. PARA llel and DIS tributed E volving O bjects http://paradiseo.gforge.inria.fr/. Paradis EO. MPI ( LAM, CH ). EO. MO. MOEO. PVM. PThreads. Parallélisme sur supports dédiés Passage de messages ( MPI , PVM) Déploiement sur réseaux de stations
E N D
-G N. Melab & E-G. Talbi
PARAllelandDIStributed EvolvingObjectshttp://paradiseo.gforge.inria.fr/ ParadisEO MPI (LAM, CH) EO MO MOEO PVM PThreads • 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 Projet Européen (Geneura Team, INRIA, LIACS) http://eodev.sourceforge.net • 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 S. Cahon, N. Melab and E-G. Talbi. ParadisEO: A Framework for the Reusable Design of Parallel and Distributed Metaheuristics. Journal ofHeuristics, Vol.10(3), ISSN:1381-1231, pages 357-380, May 2004.
ParadisEO-G : ParadisEO sur Globus ParadisEO-G EO MO MOEO MPICH-G2 Services Globus GT4 • 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 ressourceset des communications – authentification et autorisation, transfert efficace, information, … 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.
Démarche de gridification de ParadisEO • 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
Plan • 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
The Globus Toolkit™ The Globus Project™ Argonne National LaboratoryUSC 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 High-level Services and Tools DRM Grid Status PUNCH Cactus MPI globusrun Nimrod/G Condor-G Core Services GASS GRAM Metacomputing Directory Service Globus Security Interface Replica Catalog GridFTP I/O Local Services Condor MPI TCP UDP Solaris LSF PBS NQE Linux AIX
Application Application Internet Protocol Architecture “Coordination de ressources multiples”: services d’infrastructure, services d’application distribués Collective “Partage de ressources”: négociation d’accès, contrôle d’utilisation Ressources “Communication”: communication (protocoles d’Internet) & sécurité Connectivité Transport Network “Contrôle local”: contrôle et accès aux ressources Fabrique Lien Architecture en couches (par analogie à l’architecture d’Internet)
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
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, • … GSI: www.gridforum.org/security
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.org GRAM, 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.org • Livre (Morgan Kaufman) • www.mkp.com/grids
Plan • 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
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
Comment MPICH-G2 marche (1) (GSI) (fichier RSL) • 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
Comment MPICH-G2 marche (2) • 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 (3) • 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 viaGlobus IOou autre
Exécution d’applications MPICH-G2 • Avant installation … • … l’utilisateur doit avoir accès à Globus • Compilation et exécution … Compilation of MPICH-G2 based application is complete % mpirun -dumprsl -np 12 ring RSL script to stdout % mpirun -globusrsl my.rsl mpirun invokes globusrun + (&(resourceManagerContact="sdd113") (count=12) (label="subjob 0") (environment= (GLOBUS_DUROC_SUBJOB_INDEX 0)) (directory="/home/voxel") (executable="/home/voxel/ring") ) <skip>
Plan • 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
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) Reservation tool I want 20 nodes Frontal
Globus deployment overview (2) Reservation tool node-1 node-4 … node-x Frontal
node-1 node-4 … node-x Globus deployment overview (3) Reservation tool Globus image Frontal griddeploy
node-1 node-4 … node-x Globus deployment overview (4) Reservation tool Master Globus image Frontal griddeploy
node-1 node-4 … node-x Globus deployment overview (5) Reservation tool Master Globus image Frontal griddeploy
Globus deployment overview (6) Reservation tool slave slave slave slave slave Master slave slave user data Frontal slave slave slave slave slave slave slave slave slave slave slave slave
Globus data transfer overview (1) Reservation tool slave slave slave slave rft –h node-11 –f transfer.xfr slave Master slave slave user data Frontal slave slave slave slave slave slave slave slave slave slave slave slave
Globus data transfer overview (2) Reservation tool slave slave slave slave user data slave Master slave slave user data user data Frontal slave slave user data slave user data slave slave slave slave slave user data slave slave slave slave user data
Reservation tool slave slave slave slave user data globusrun-ws -submit -J -S -f multi.rsl slave Master slave slave user data user data Frontal slave slave user data slave user data slave slave slave slave slave user data slave slave slave slave user data Globus (mutlitple) job soumission overview (1)
Reservation tool slave slave slave slave user data globusrun-ws -submit -J -S -f multi.rsl slave Master slave slave user data user data Frontal slave slave user data slave user data slave slave slave slave slave user data slave slave slave slave user data Globus (mutlitple) job soumission overview (2)
Plan • 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
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
RoadMap to run the experiment(interactive mode) • 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
Plan • 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
Deployment of ParadisEO-G4 1. Reserve a pool of nodes • 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 2. Select a master node for the Globus GRID 3. Configure the Globus GRID (certificates, user credentials, xinetd, postgresql, etc.) M6 M4 4. Deploy and execute – MPICH-G2 M5 CLUSTER C CLUSTER B M2 M2 M3 M3 GRID5000: A fully reconfigurable grid! The configuration phase relies on the deployment of pre-built Linux « images » having Globus and MPICH-G2 already installed.