La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "-G N. Melab & E-G. Talbi."— Transcription de la présentation:

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

2 PARAllel and DIStributed Evolving Objects http://paradiseo. gforge
ParadisEO EO MO MOEO MPI (LAM, CH) PVM PThreads Projet Européen (Geneura Team, INRIA, LIACS) 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 Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de l’optimisation multi-objectif Moving Objects (MO) pour les métaheuristiques à solution unique 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 of Heuristics, Vol.10(3), ISSN: , pages , May 2004.

3 ParadisEO-G : ParadisEO sur Globus
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 ressources et 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 , Aug

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 Argonne National Laboratory USC Information Sciences Institute
The Globus Toolkit™ The Globus Project™ Argonne National Laboratory USC Information Sciences Institute

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 Cactus MPI globusrun PUNCH 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 LSF PBS NQE Linux AIX Solaris

9 Architecture en couches (par analogie à l’architecture d’Internet)
Application Network Transport Application Lien Internet Protocol Architecture Collective “Coordination de ressources multiples”: services d’infrastructure, services d’application distribués Ressources “Partage de ressources”: négociation d’accès, contrôle d’utilisation Connectivité “Communication”: communication (protocoles d’Internet) & sécurité We define Grid architecture in terms of a layered collection of protocols. Fabric layer includes the protocols and interfaces that provide access to the resources that are being shared, including computers, storage systems, datasets, programs, and networks. This layer is a logical view rather then a physical view. For example, the view of a cluster with a local resource manager is defined by the local resource manger, and not the cluster hardware. Likewise, the fabric provided by a storage system is defined by the file system that is available on that system, not the raw disk or tapes. The connectivity layer defines core protocols required for Grid-specific network transactions. This layer includes the IP protocol stack (system level application protocols [e.g. DNS, RSVP, Routing], transport and internet layers), as well as core Grid security protocols for authentication and authorization. Resource layer defines protocols to initiate and control sharing of (local) resources. Services defined at this level are gatekeeper, GRIS, along with some user oriented application protocols from the Internet protocol suite, such as file-transfer. Collective layer defines protocols that provide system oriented capabilities that are expected to be wide scale in deployment and generic in function. This includes GIIS, bandwidth brokers, resource brokers,…. Application layer defines protocols and services that are parochial in nature, targeted towards a specific application domain or class of applications. These are are are … arrgh Fabrique “Contrôle local”: contrôle et accès aux ressources

10 Ressources partagées …
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:

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: GRAM, GRIS:

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:

14 Pour plus d’information …
Globus Project™ Grid Forum Livre (Morgan Kaufman)

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 MPICH-G2 permet …
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 via Globus IO ou 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 Globus deployment overview (3)
Reservation tool Globus image Frontal griddeploy node-1 node-4 node-x

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

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

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 Globus (mutlitple) job soumission overview (1)
slave Master Frontal Reservation tool user data globusrun-ws -submit -J -S -f multi.rsl

33 Globus (mutlitple) job soumission overview (2)
slave Master Frontal Reservation tool user data globusrun-ws -submit -J -S -f multi.rsl

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 … 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 = , 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.rsl cat 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
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 1. Reserve a pool of nodes 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.


Télécharger ppt "-G N. Melab & E-G. Talbi."

Présentations similaires


Annonces Google