n. melab & e-g. talbi -g. contributions multi-objective eo (moeo) pour la mise en œuvre de...

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

Upload: claudia-montagne

Post on 03-Apr-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

N. Melab & E-G. Talbi

-G

Page 2: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 3: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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.

Page 4: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 5: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 6: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

The Globus Toolkit™

The Globus Project™Argonne National Laboratory

USC Information Sciences Institute

http://www.globus.org

Page 7: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 8: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 9: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 10: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 11: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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, …

Page 12: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 13: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 14: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

Pour plus d’information …

Globus Project™ www.globus.org

Grid Forum www.gridforum.or

g Livre (Morgan

Kaufman) www.mkp.com

/grids

Page 15: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 16: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 17: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 18: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

(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)

Page 19: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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)

Page 20: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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)

Page 21: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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 …

Page 22: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 23: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 24: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

Globus deployment overview (1)

Fro

ntal

Reservation tool

I want 20 nodes

Page 25: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

Fro

ntal

Reservation tool

node-1node-4…node-x

Globus deployment overview (2)

Page 26: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

Fro

ntal

Reservation tool

node-1node-4…node-x

griddeploy

Globusimage

Globus deployment overview (3)

Page 27: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

Master

Fro

ntal

Reservation tool

node-1node-4…node-x

griddeploy

Globusimage

Globus deployment overview (4)

Page 28: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

Fro

ntal

Reservation tool

node-1node-4…node-x

griddeploy

Globusimage

Master

Globus deployment overview (5)

Page 29: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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)

Page 30: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 31: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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)

Page 32: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 33: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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)

Page 34: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 35: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 36: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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)

Page 37: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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

Page 38: N. Melab & E-G. Talbi -G. Contributions Multi-Objective EO (MOEO) pour la mise en œuvre de loptimisation multi-objectif Moving Objects (MO) pour les métaheuristiques

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