1 / 38

N. Melab & E-G. Talbi

-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

Download Presentation

N. Melab & E-G. Talbi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. -G N. Melab & E-G. Talbi

  2. 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.

  3. 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.

  4. 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

  5. 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

  6. The Globus Toolkit™ The Globus Project™ Argonne National LaboratoryUSC Information Sciences Institute http://www.globus.org

  7. 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

  8. 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

  9. 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)

  10. 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

  11. 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

  12. 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

  13. 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

  14. Pour plus d’information … • Globus Project™ • www.globus.org • Grid Forum • www.gridforum.org • Livre (Morgan Kaufman) • www.mkp.com/grids

  15. 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

  16. Architecture de MPICH

  17. 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

  18. 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

  19. 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 , ….)

  20. 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

  21. 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>

  22. 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

  23. 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

  24. Globus deployment overview (1) Reservation tool I want 20 nodes Frontal

  25. Globus deployment overview (2) Reservation tool node-1 node-4 … node-x Frontal

  26. node-1 node-4 … node-x Globus deployment overview (3) Reservation tool Globus image Frontal griddeploy

  27. node-1 node-4 … node-x Globus deployment overview (4) Reservation tool Master Globus image Frontal griddeploy

  28. node-1 node-4 … node-x Globus deployment overview (5) Reservation tool Master Globus image Frontal griddeploy

  29. 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

  30. 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

  31. 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

  32. 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)

  33. 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)

  34. 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

  35. 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

  36. 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

  37. 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

  38. 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.

More Related