ParCeL-5/ParSSAP: A Parallel Programming Model and Library for Easy Development and Fast Execution of Simulations of Situated Multi-Agent Systems Stéphane.

Slides:



Advertisements
Similar presentations
Computer Science 320 Clumping in Parallel Java. Sequential vs Parallel Program Initial setup Execute the computation Clean up Initial setup Create a parallel.
Advertisements

AI Pathfinding Representing the Search Space
Sharks and Fishes – The problem
Pipeline Computer Organization II 1 Hazards Situations that prevent starting the next instruction in the next cycle Structural hazards – A required resource.
Some questions o What are the appropriate control philosophies for Complex Manufacturing systems? Why????Holonic Manufacturing system o Is Object -Oriented.
Requirements on the Execution of Kahn Process Networks Marc Geilen and Twan Basten 11 April 2003 /e.
Development of Parallel Simulator for Wireless WCDMA Network Hong Zhang Communication lab of HUT.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.
Game of Life Courtesy: Dr. David Walker, Cardiff University.
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
Path Planning with the humanoid robot iCub Semester Project 2008 Pantelis Zotos Supervisor: Sarah Degallier Biologically Inspired Robotics Group (BIRG)
Chapter 4 DECISION SUPPORT AND ARTIFICIAL INTELLIGENCE
Technical Advisor : Mr. Roni Stern Academic Advisor : Dr. Meir Kalech Team members :  Amit Ofer  Liron Katav Project Homepage :
Agent Mediated Grid Services in e-Learning Chun Yan, Miao School of Computer Engineering Nanyang Technological University (NTU) Singapore April,
By Sarita Adve & Kourosh Gharachorloo Review by Jim Larson Shared Memory Consistency Models: A Tutorial.
1 An Adaptive Nearest Neighbor Classification Algorithm for Data Streams Yan-Nei Law & Carlo Zaniolo University of California, Los Angeles PKDD, Porto,
Motor Schema Based Navigation for a Mobile Robot: An Approach to Programming by Behavior Ronald C. Arkin Reviewed By: Chris Miles.
High Performance Computing 1 Parallelization Strategies and Load Balancing Some material borrowed from lectures of J. Demmel, UC Berkeley.
Multiscalar processors
DAMN : A Distributed Architecture for Mobile Navigation Julio K. Rosenblatt Presented By: Chris Miles.
From Essentials of Computer Architecture by Douglas E. Comer. ISBN © 2005 Pearson Education, Inc. All rights reserved. 7.2 A Central Processor.
Nawaf M Albadia Introduction. Components. Behavior & Characteristics. Classes & Rules. Grid Dimensions. Evolving Cellular Automata using Genetic.
Fuzzy control of a mobile robot Implementation using a MATLAB-based rapid prototyping system.
What is Concurrent Programming? Maram Bani Younes.
Lecture 29 Fall 2006 Lecture 29: Parallel Programming Overview.
Efficient Parallel Implementation of Molecular Dynamics with Embedded Atom Method on Multi-core Platforms Reporter: Jilin Zhang Authors:Changjun Hu, Yali.
World space = physical space, contains robots and obstacles Configuration = set of independent parameters that characterizes the position of every point.
SPIE'01CIRL-JHU1 Dynamic Composition of Tracking Primitives for Interactive Vision-Guided Navigation D. Burschka and G. Hager Computational Interaction.
Department of Computer Science A Static Program Analyzer to increase software reuse Ramakrishnan Venkitaraman and Gopal Gupta.
A Survey of Distributed Task Schedulers Kei Takahashi (M1)
1 IE 607 Heuristic Optimization Particle Swarm Optimization.
Evaluating FERMI features for Data Mining Applications Masters Thesis Presentation Sinduja Muralidharan Advised by: Dr. Gagan Agrawal.
FRE 2672 TFG Self-Organization - 01/07/2004 Engineering Self-Organization in MAS Complex adaptive systems using situated MAS Salima Hassas LIRIS-CNRS Lyon.
Frontiers in Massive Data Analysis Chapter 3.  Difficult to include data from multiple sources  Each organization develops a unique way of representing.
Java Threads. What is a Thread? A thread can be loosely defined as a separate stream of execution that takes place simultaneously with and independently.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE 498AL, University of Illinois, Urbana-Champaign 1 Control Flow/ Thread Execution.
Supercomputing ‘99 Parallelization of a Dynamic Unstructured Application using Three Leading Paradigms Leonid Oliker NERSC Lawrence Berkeley National Laboratory.
Mark Marron 1, Deepak Kapur 2, Manuel Hermenegildo 1 1 Imdea-Software (Spain) 2 University of New Mexico 1.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
CS 484 Designing Parallel Algorithms Designing a parallel algorithm is not easy. There is no recipe or magical ingredient Except creativity We can benefit.
Gedae, Inc. Gedae: Auto Coding to a Virtual Machine Authors: William I. Lundgren, Kerry B. Barnes, James W. Steed HPEC 2004.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
Outline Why this subject? What is High Performance Computing?
Proposal of Asynchronous Distributed Branch and Bound Atsushi Sasaki†, Tadashi Araragi†, Shigeru Masuyama‡ †NTT Communication Science Laboratories, NTT.
Parallelization Strategies Laxmikant Kale. Overview OpenMP Strategies Need for adaptive strategies –Object migration based dynamic load balancing –Minimal.
Artificial Intelligence in Game Design Lecture 8: Complex Steering Behaviors and Combining Behaviors.
RULES Patty Nordstrom Hien Nguyen. "Cognitive Skills are Realized by Production Rules"
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
A Pattern Language for Parallel Programming Beverly Sanders University of Florida.
Particle Swarm Optimization (PSO)
3/12/2013Computer Engg, IIT(BHU)1 OpenMP-1. OpenMP is a portable, multiprocessing API for shared memory computers OpenMP is not a “language” Instead,
Organic Evolution and Problem Solving Je-Gun Joung.
Parallel Computing Presented by Justin Reschke
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
First INFN International School on Architectures, tools and methodologies for developing efficient large scale scientific computing applications Ce.U.B.
Hybrid Parallel Implementation of The DG Method Advanced Computing Department/ CAAM 03/03/2016 N. Chaabane, B. Riviere, H. Calandra, M. Sekachev, S. Hamlaoui.
CEng 713, Evolutionary Computation, Lecture Notes parallel Evolutionary Computation.
Courtesy: Dr. David Walker, Cardiff University
Xing Cai University of Oslo
GdX - Grid eXplorer parXXL: A Fine Grained Development Environment on Coarse Grained Architectures PARA 2006 – UMEǺ Jens Gustedt - Stéphane Vialle - Amelia.
Computer Engg, IIT(BHU)
Designing Software for Ease of Extension and Contraction
Component Frameworks:
CIS 488/588 Bruce R. Maxim UM-Dearborn
What is Concurrent Programming?
CS 584.
What is Concurrent Programming?
Department of Computer Science, University of Tennessee, Knoxville
Ph.D. Thesis Numerical Solution of PDEs and Their Object-oriented Parallel Implementations Xing Cai October 26, 1998.
Computational issues Issues Solutions Large time scale
Presentation transcript:

ParCeL-5/ParSSAP: A Parallel Programming Model and Library for Easy Development and Fast Execution of Simulations of Situated Multi-Agent Systems Stéphane Vialle Eugen Dedu Claude Timsit SNPD’02 Charles Hermite Center (France) ERSIDP Supélec (France)

2 1 - Motivations 1 - Situated MAS with fine modeling: complex to program (ex: simultaneity of agent actions and conflict resolutions) 2 - Fine or large situated MAS: very time consuming (for simultaneity modeling, fair conflict resolution, …) 3 - MAS: natural parallelism different of computer parallelism (efficient adaptation is difficult)  We need: Parallel programming models allowing easy developments Parallel development tools on modern MIMD parallel computers ?? C-library ….

3 2 - ParCeL-5 Model: Basic Components 4 basic components : Environment, Resources, Agent/Cell, Arbitrator 1 - The Environment : 2D-Grid or 2D-Torus (torus = circular grid) 4-connectivity or 8-connectivity Only one agent per box An obstacle entirely fills a box 2D-Grid2D-Torus 4-connectivity8-connectivity

4 2 - ParCeL-5 Model: Basic Components 4 basic components : Environment, Resources, Agent/Cell, Arbitrator 2 - The Resources : Resources store or consume some objects (ores) Any number of resources Any number of kind of resources (any kind of ores) Only one resource per box, but an agent can still enter the box Mines Factories

5 2 - ParCeL-5 Model: Basic Components 4 basic components : Environment, Resources, Agent/Cell, Arbitrator 3 - The Agents/Cells : Local memory Perception of their local environment Private behavior (static) They are mobile agents : Declared before running Dynamically created or destroyed : Local memory (dynamically extensible) Priority and Speed Percepts of the environment Behavior function Agent skeleton later

6 2 - ParCeL-5 Model: Basic Components 4 basic components : Environment, Resources, Agent/Cell, Arbitrator 4 - The Arbitrator : A set of rules modeling the physical law of the environment Automatically applied: when agents attempt to act when environment is updated Manages all conflicts, with fairness and random choices Arbitrator Conflict ! Winner agent

7 2 - ParCeL-5 Model: Agent Behaviors Agents: Perceive their local environment Act on their local environment Actions on env.: move, take/drop objects, Actions on agents: create/destroy other agents LOCAL actions Unlimited number of percepts But any percept must be LOCAL Direct vision Potential field detection, …. Potential field detection Direct vision Agent Behavior: Agent Percepts: Agent actions:

8 2-ParCeL-5 Model: Cyclic Running Step 1: Activation of agent behaviors, declaration of action intentions Simulation beginning Simulation end Parallel initialisation step (environment, resources, percepts) Step 2: Resolution of agent conflicts (by the arbitrator) Step 4: Execution of parallel or sequential end-cycle function (user) Step 5: Update of the environment and agent percepts Simulation loop Step 3: Execution of actions of winners and non-conflicting agents parallelsequential  Mainly Parallel

9 2-ParCeL-5 Model: Easy Situated MAS Developments Behavior functions ParCeL-5 model User Agent run Conflict management Environment update Cyclic running … Parallelization … ParCeL-5 library

Parallelization: Strategy Domain partitioning strategy SPMD paradigm Multithreading implementation on shared memory Synchronization barriers Environment: domain partitioning Shared Memory PE-0PE-1PE-2 PE-3 Optimized parallel and sequential design of : percept management environment update Classical Specific and Optimized

Parallelization: Wave Potential Field Propagation Agent following an increasing potential path Agent out potential field Potential field frontier 5 Medium source 7 Strong source Obstacle Potential propagation principles : Potentials emitted by resources (function of their features) Spread, decrease, and bypass obstacles Detected by agents (to avoid obstacles and reach resources) Fast and sufficient composition of potential fields (max( ) operator)

Parallelization: Wave Potential Field Propagation Parallelization : Automatic parallel use from agent behaviors Explicit parallel update: Domain decomposition Local propagation Frontier sharing ; Re-propagation ; Until no change Several sequential algorithms  Several complex combinations in parallel algorithm Potential field Potential source Obstacle P0 slice P1 slice Frontier Complex potential propagation

Parallelization: Wave Potential Field Propagation Ex : 1024x1024 boxes, resources, 0 obstacle, SGI-Origin2000 Breadth first recursive method: most evolved, less efficiently implemented re-propagation & numerous obstacles Regular loop iterative method: less evolved, most efficiently implemented propagation re-propagation & numerous potential sources

14 4 – Applications and Global Perfs 3 - Society of competitive selfish agents : Ishida – Yokoi – Kakazu, ECAL’99 One agent : does nothing or cooperates = f(random, agent behaviors)  How many cooperate ? Same results than original simulations Correct situated MAS simulator 1 - Carrier robot simulation : 1024 x 1024 boxes, 100 cycles – agents Agents catch and carry some ores Search efficient carrier population S(32) = 15 (SGI) S(4) = 2.7 (SGI) – 3.5 (SUN) Efficient parallel runs % of cooperative agents time Stabilization phenomena 2 – Game of life (Conway) : Immobile agents … Possible with ParCeL-5 !

Conclusion and Future Works Present results of ParCeL-5/ParSSAP: Good perfs : on high cost SGI-Origin2000: S(32) = 15 on small 4-processor SUN: S(4) = 3.5 Allows quick developments of situated MAS Runs simulations with more than agents Open parallel programming model : vision, potential, … In the future …. Add direct communication between agents Add heuristic choice of wave propagation algorithms Continue to build large situated MAS for emergence search Optimize for low cost multiprocessor PC

16 ParCeL-5/ParSSAP: A Parallel Programming Model and Library for Easy Development and Fast Execution of Simulations of Situated Multi-Agent Systems Questions ?