Eugen Dedu SUPÉLEC, PRiSM UVSQ le 8 mars 2002

Slides:



Advertisements
Présentations similaires
Les concepts de bases de la simulation
Advertisements

GEF 435 Principes des systèmes d’exploitation
Chapitre annexe. Récursivité
Fabrice Lauri, François Charpillet, Daniel Szer
Architecture de machines Le microprocesseur
Frédéric Gava JFLA2006 Une implantation de la juxtaposition parallèle.
Karima Boudaoud, Charles McCathieNevile
AFRISTAT, outil dappui au développement de la statistique en Afrique subsaharienne Par Martin BALEPA, Directeur Général Adjoint dAFRISTAT.
Systèmes, algorithmes et applications: Efficacité du parallélisme. Gaétan Hains LIFO, Université d'Orléans Janvier 2001.
10/31/02 Leïla Merghem - LIP6 Une approche Multi-Agents pour la Simulation de Réseaux de Télécommunications Leïla Merghem (LIP 6) Dominique Gaïti (LIP.
1 Off road obstacle avoidance through end to end learning Yann LeCun, Urs Muller, Jan Ben, Eric Cosatto, Beat Flepp.
Licence 2 Option de découverte (1L4INJM) APPLICATIONS INFORMATIQUES POUR LINTERACTION HOMME-ROBOT Responsable : Julien PINQUIER
Jean-Louis Foulley, Christèle Robert* INRA-Génétique animale, SGQA Jouy-en-Josas; *SAGA Castanet Tolosan Journées didactiques INRIA « Modèles.
La machine virtuelle virtuelle utopie et/ou réalité ?
Laurent JEANPIERRE Equipe MAIA
Applications et Techniques
Cours n° 8 Conception et Programmation à Objets
Xavier Décoret* Frédo Durand° François Sillion*
Yann Chevaleyre et Jean-Daniel Zucker
Journées franciliennes 2006 Moussa ELKIHEL (LAAS-CNRS;UPS Toulouse )
Présentation d’un modèle d’aide à la réalisation d’un jeu : BatSim
Objectif de l’exposé.
Internet 3ème génération
Modèle polyédrique: fondements et application à la parallélisation de programmes réguliers Tanguy Risset DIF 2001/2002.
Lancer de rayons interactif
Serge Abiteboul, Grégory Cobena, Benjamin Nguyen, Antonella Poggi
Parallélisation d’un Algorithme CNFT
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Interactions - Systèmes Multi - Agents Master IMA - 1 Environnement
univ-lr.fr
Ordonnancement des mouvements de deux robots
Sélection automatique d’index et de vues matérialisées
Ametsa : un système de contrôle de l’environnement domestique générique fondé sur UPnP ENST-Bretagne.
Bases de l’Intelligence Artificielle Distribuée
Architecture de grille générique, multi-
Les Systèmes Multi-Agents pour la Gestion de Production
Le périmètre diane circé été 2002.
Optimisation et parallélisation de code pour processeur à instructions SIMD multimedia François Ferrand.
Pr. Alain Greiner (LIP6 - ASIM) Daniel Millot, Philippe Lalevee (INT)
Franck Cappello CNRS, LRI, Université Paris-sud
Systèmes Superscalaires et VLIW
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
MP5 Activités Support Informatique
Présentation du mémoire
Programmation concurrente
Module 2 : Préparation de l'analyse des performances du serveur
La gestion par activités (ABM)
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
Service de la protection de lenvironnement CANTON DU VALAIS – DEPARTEMENT DES TRANSPORTS, DE LEQUIPEMENT ET DE LENVIRONNEMENT DTEE Perspectives.
Programmation dynamique
Retour dexpérience Supportech INSA.NET Daniel Boteanu – Michaël Piffret.
L’adaptativité pour un solveur de l’équation de Vlasov
Importance du réseau dans des architectures MIMD Tout échange entre les processeurs nécessite un transfert de données via le réseau.
Calcul d ’interactions Antenne/Structure par FMM
Caractérisation inverse de sources pour l'interaction du champ électromagnétique avec l'environnement Azeddine GATI Y. ADANE, M.F. Wong, J. Wiart, V. Fouad.
Présenté par : Attia Hamza Merzouk Abdelkrim 2003/2004
La Planification de Réseaux Locaux sans Fils
Supports de formation au SQ Unifié
8INF856 Programmation sur architectures parallèles
Modèles et protocoles de cohérence des données en environnement volatil Grid Data Service IRISA (Rennes), LIP (Lyon) et LIP6 (Paris) Loïc Cudennec Superviseurs.
Étude d’un protocole de partage de travail entre systèmes Pair à Pair
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
Initiation à la conception des systèmes d'informations
Construction d'une hiérarchie mémoire faible consommation
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
RAISONNEMENT À PARTIR DE CAS R à PC. PLAN DU TRAVAIL Introduction Introduction Raisonnement analogique Raisonnement analogique Principe et étapes de R.
Distributed Planning Distributed Problem Solving, motivations, strategies. Distributed Planning : Centralized planning for distributed plans. Distributed.
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
Plan de la présentation
Resource-Limited Genetic Programming : Replacing Tree Depth Limit.
Transcription de la présentation:

Eugen Dedu SUPÉLEC, PRiSM UVSQ Eugen.Dedu@prism.uvsq.fr le 8 mars 2002 Conception d'un modèle de simulation de systèmes multi-agent, et de son algorithmique et implantation parallèle sur architectures MIMD à mémoire partagée Eugen Dedu SUPÉLEC, PRiSM UVSQ Eugen.Dedu@prism.uvsq.fr le 8 mars 2002 Centre Charles Hermite

Plan & Contributions de la thèse Introduction 1. Nouveau modèle de simulation des SMA 2. Algorithmique parallèle du modèle 2.0 Parallélisme dans l’implantation 2.1 Percept de la vision 2.2 Percept de la détection des potentiels 3. Implantation parallèle portable du modèle (bibliothèque) exemple avec performances à l'exécution Conclusions Eugen Dedu, 8 mars 2002

Introduction : systèmes multi-agent entité autonome a un but vit dans un environnement communique avec l'environnement agents situés Domaines d’applications : société : populations urbaines, trafic routier biologie, étude des comportements : populations de fourmis, d’oiseaux Jacques Ferber (pionnier) Eugen Dedu, 8 mars 2002

Introduction : parallélisme Pour nous : exécution d'une application sur plusieurs processeurs (accélération) MIMD (modernes) DSM MVP Application Exemple : Ordinateur à 4 processeurs Origin 2000, 64 processeurs, 4 Mo cache, 24 Go mémoire Sun 450, 4 processeurs, 4 Mo cache, 1 Go mémoire IA-64 Itanium SMP, 4 processeurs PCs SMP bon marché OpenMP multi-threading envoi de messages multi-processus Eugen Dedu, 8 mars 2002

langage, RNA, calcul symbolique Motivations Supélec comportement des agents diverses fonctionnalités gestion de l’environnement gestion de la simultanéité gestion des structures des entités ParCeL-1 langage, RNA, calcul symbolique ParCeL-3 MV, SMA ParCeL-4 Hibs bibliothèque, RNA ParCeL-5 ParSSAP bibliothèque, SMA Tdév vs. Texéc Modèle Parallélisme Eugen Dedu, 8 mars 2002

Exemples de simulateurs de SMA Pengi [Ferber et al., 1991] simple séquentiel BioLand [Werner & Dyer, 1994] massivement parallèle, beaucoup d'agents application riche en fonctionnalités réseaux de neurones sans obstacles => algorithmique plus simple peu flexible machines SIMD (CM-2) PIOMAS [Bouzid, 2001] parallèle, basé sur ParCeL-3 précis, modélisation des incertitudes dans perceptions et actions peu d’agents Eugen Dedu, 8 mars 2002

ParSSAP (Parallel Simulator of Situated Agent Populations) 1. Modèle : exemple ParSSAP (Parallel Simulator of Situated Agent Populations) environnement ressources agents arbitre Eugen Dedu, 8 mars 2002

1. Modèle : généralités Environnement Ressources Agents Sauvegardes discret obstacles Ressources propagent des potentiels décroissants contiennent des objets champs dynamiques de potentiel plusieurs types Agents entités mobiles comportement mémoire perceptions locales : vision, odeur actions : mouvement, dépôt/prise d'objets création et destruction dynamique Arbitre (virtuel) loi du système résout les conflits spatiaux entre les agents Sauvegardes statistiques mouvement des agents Unification des entités => travaux futurs Tous les principes existent pour augmenter la généricité Eugen Dedu, 8 mars 2002

1. Modèle : moteur d'exécution Basé sur une discrétisation du temps Macroscopiquement synchrone 1. Activation des agents et planification des actions 2. Résolution des conflits 3. Exécution des actions des agents 4. Fonction utilisateur (en séquentiel) (statistiques, informations sur la simulation, arrêt de la simulation etc.) 5. Mise-à-jour des percepts (potentiels, vision ?) Cycle de simulation Eugen Dedu, 8 mars 2002

2.0 Algorithmique parallèle : parallélisme dans l’implantation Parallélisme interne, mais caché à l’utilisateur Décomposition en domaines Aucune surcharge due au parallélisme, sauf : fonction utilisateur (en séquentiel) <= transparence au parallélisme gestion des frontières <= intrinsèque au parallélisme déséquilibrage de charge => travaux futurs Langage C, threads POSIX et Irix, fonctionne aussi sur mono-processeur Mécanismes de génération de nombres aléatoires ad hoc => reproductibilité complète des simulations, même avec nombre différent de processeurs une racine globale et des racines temporaires pas de surcharge de mémoire Eugen Dedu, 8 mars 2002

2. Algorithmique parallèle des percepts des agents 2.1 Percept de la vision But : création des champs de visibilité les cases qu'un agent peut voir rayon de vision empêché par les obstacles, perception lointaine 2.2 Percept de la détection des potentiels But : création des champs de potentiel générés par les ressources début : le potentiel de la ressource propagation par vagues contourne les obstacles, perception de proximité seulement Eugen Dedu, 8 mars 2002

2.1 Vision : exemple de champ Ce qu'un agent peut voir ??? Eugen Dedu, 8 mars 2002

2.1 Vision : nouvel algorithme de lignes épaisses ligne classique : ne considère pas l’obstacle ligne épaisse : considère l’obstacle TOUS les points que la ligne idéale intersecte basé sur l'algorithme de Bresenham prend en compte l'erreur précédente Eugen Dedu, 8 mars 2002

2.1 Vision : parallélisme Calculer les champs de visibilité de chaque case Lecture de la matrice des obstacles Écriture dans la matrice de visibilité Calcul identique pour toute case => parallélisation par décomposition en domaines Eugen Dedu, 8 mars 2002

2.1 Vision : performances (1/3) Mémoire : O (N(2rv+1)2) Temps : 1. allocations mémoire 2. calcul des champs Temps d'exécution du calcul des champs 1 sec. sur 64 processeurs, O2K, 512x512 cases, rayon de 8 Eugen Dedu, 8 mars 2002

2.1 Vision : performances (2/3) Accélération, utilisant le temps du thread le plus lent Tout l'algorithme (allocations + calcul des champs) Diminution des performances : allocations mémoire (100 ms) éfficacité [parallélisme] Accélération de 39 sur 48 processeurs (O2K) Eugen Dedu, 8 mars 2002

2.1 Vision : performances (3/3) Efficacité du calcul des visibilités (courbe en zigzag) Zigzag <= déséquilibrage de charge Concordance des extrema locaux entre la courbe pratique de performances et la courbe théorique de déséquilibrage de charge Qualité d’équilibrage de charge Qldbal : N* -> (0, 1] 1 , si P | 512 512 , sinon P x ([512/P]+1) Eugen Dedu, 8 mars 2002

2.2 Propagation par vagues : exemple de champ Utilité : retrouve le chemin vers la ressource Raison : existence des obstacles Propriétés : contourne les obstacles décroît avec la distance potentiel de la ressource est une fonction de sa charge en objets fonction de superposition de champs Eugen Dedu, 8 mars 2002

2.2 Propagation par vagues : méthodes séquentielles Récursion (en largeur) Itérative met potential des resources répéter pour chaque case p = max pi - 1 jusqu’à pas de modification pour chaque ressource propage-la récursivement 1 2 1 balayage bas-haut 3 4 2 1 balayage haut-bas 2 3 4 Eugen Dedu, 8 mars 2002

2.2 Propagation par vagues : méthodes parallèles (1/2) Méthode de décomposition fixe du domaine Propagation du domaine Échange aux frontières Propagation des frontières Avantage : peu de transferts de données Inconvénient : plusieurs repropagations Eugen Dedu, 8 mars 2002

2.2 Propagation par vagues : méthodes parallèles (2/2) Méthode des environnements privés P1 P2 P3 P1 P2 P3 Avantage : évite les repropagations Inconvénients : défauts de cache plus de mémoire Eugen Dedu, 8 mars 2002

2.2 Propagation par vagues : performances (1/3) Temps d’exécution des méthodes séquentielles Paramètre Récursive Itérative Taille environnement +++ Connectivité (4/8) + Nombre de ressources ++ = Potentiel des ressources Nombre des obstacles Méthode Performances égales sur O2K : connectivité de 4 sans obstacles 1,1-1,45 ressources / case Eugen Dedu, 8 mars 2002

2.2 Propagation par vagues : performances (2/3) Performances des méthodes parallèles 1024x1024, sans obstacles, 1 % de ressources, potentiel des ressources de 16 Environnements privés : défauts de cache => élimination Temps séquentiels : récursion : 13,5 sec. itérative : 6 sec. Tis < Trs Temps parallèles : Ti < Tr Idée : séparer la propagation en propagation du domaine et propagation des frontières : Tr = Tsr + Tpr Ti = Tsi + Tpi Tm = Tsi + Tpr Eugen Dedu, 8 mars 2002

2.2 Propagation par vagues : performances (3/3) Performances des deux meilleures méthodes parallèles 1024x1024, sans obstacles, 1 % de ressources, potentiel des ressources de 16 Itérative Combinaison : propagation du domaine : itérative propagation des frontières : récursive Eugen Dedu, 8 mars 2002

2.2 Propagation par vagues : conclusions Meilleure méthode : propagation du domaine : itérative propagation des frontières : P petit : itérative P grand : récursive Accélération (même Tséq) (O2K) => Propagation inexacte des potentiels => travaux futurs Eugen Dedu, 8 mars 2002

3. Implantation du modèle : utilisation Étapes pour écrire une application : initialisation de l’environnement fonction utilisateur ressources : charge => potentiel comportements des agents Eugen Dedu, 8 mars 2002

3. Implantation du modèle : exemple d'application Trafic de consommateurs dans une ville saturée Ville de 256x256 cases : région résidentielle région désertique région de magasins 327 bâtiments (0,5 %) 163 magasins (0,25 %) 655 maisons (1 %) 655 personnes (1 %) : 20 % hommes 80 % femmes Tséq = 55 sec. O2K Eugen Dedu, 8 mars 2002

Bilan de la thèse Contributions Travaux futurs Modèle de simulation de SMA Algorithmique parallèle des percepts des agents : vision propagation des potentiels Implantation parallèle du modèle bonnes performances pour les percepts et les applications Travaux futurs Extension du modèle Optimisation des algorithmes équilibrage dynamique de charge Extension de l'environnement de programmation Utilisation Eugen Dedu, 8 mars 2002