1 / 18

An Parallel Multi-Agent Spatial Simulation Environment for Cluster Systems

An Parallel Multi-Agent Spatial Simulation Environment for Cluster Systems. Munehiro Fukuda, Ph.D. Computing & Software Systems University of Washington Bothell. Research Motivation. Agent-based or entity-based simulations:

huslu
Download Presentation

An Parallel Multi-Agent Spatial Simulation Environment for Cluster Systems

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. An Parallel Multi-Agent Spatial Simulation Environment for Cluster Systems Munehiro Fukuda, Ph.D. Computing & Software Systems University of Washington Bothell IEEE CSE 2013, Sydney

  2. Research Motivation • Agent-based or entity-based simulations: • Simulate the emergent collective behavior of social or biological agents. • Require a mega number of agents for the reality. • Most parallelization • Has been limited to shared-memory environments (OpenMP, CUDA, etc.) but not cluster systems. • Challenges • Machine awareness • Ghost space management • Agent management (e.g., cloning, migration, and termination) • Fine-grained execution • MASS: a parallel library for multi-agent spatial simulation for cluster systems IEEE CSE 2013, Sydney

  3. Outline • Related work • MASS execution model and library spec. • Programmability analysis • Spatial simulation • Multi-agent simulation • Performance evaluation • Spatial simulation • Multi-agent simulation • Conclusions IEEE CSE 2013, Sydney

  4. Related Work Distributed Arrays Multi-Agents Examples: PDES-MAS, Nomadic Threads, and Repast HPC Fine granularity versus intelligence Hawk’s versus individual’s viewpoint System-level agent management required • Examples: UPC, Co-Array Fortran, and Global Array. • Limited scalability versus limited remote memory access • Read-only ghost space Loop parallelization goo enough? for ( int I = 0; I < nAgents; i++ ) { agents[i].updateStatus( ); agents[i].interactNeighbors( ); } What if agents are introduced? Node 1 Node 2 Node 3 IEEE CSE 2013, Sydney

  5. MASS LibraryExecution Model Y-axis A Bag of Agents Agents Agents Agents Application Layer (x,y) X-axis Places Thread 2 Thread 0 Thread 1 Thread 2 Thread 1 Thread 0 Thread 1 Thread 2 Thread 3 Thread 3 Thread 0 Thread 3 socket socket Process Rank 1 Process Rank 2 Process Rank 0 MASS Library Layer CPU Core 0 CPU Core 1 CPU Core 2 CPU Core 3 CPU Core 0 CPU Core 1 CPU Core 2 CPU Core 3 CPU Core 0 CPU Core 1 CPU Core 2 CPU Core 3 System Memory System Memory System Memory mnode1.uwb.edu mnode2.uwb.edu LAN mnode0.uwb.edu IEEE CSE 2013, Sydney

  6. func1( ) func1( ) func1( ) func1( ) func2( ) func1( ) … … func2( ) func2( ) func3( ) func2( ) func3( ) MASS LibrarySpecification Public static void main( String[ ] args ) { MASS.init( args ); Places space = new Places( handle, “MySpace”, params, xSize, ySize); Agents agents = new Agents( handle, “MyAgents”, params, space, population ); space.callAll( MySpace.func1, params ); space.exchangeAll( MySpace.func2, neighbors ); agents.exchangeAll( MyAgents.func3 ); agents.manageAll( ); MASS.finish( ); } IEEE CSE 2013, Sydney

  7. MASS LibraryImplementation Master node main( String[] args ) { MASS.init( ); MASS.finish( ); } JSCH or libssh2 JSCH or libssh2 Slave node 2 Slave node 1 IEEE CSE 2013, Sydney

  8. Programmability AnalysisSpatial Simulation – Wave2D (Implemented) IEEE CSE 2013, Sydney

  9. Programmability AnalysisSpatial Simulation – BrainGrid (Abstract Code) IEEE CSE 2013, Sydney

  10. Programmability AnalysisMulti-Agent Simulation – Random Walk IEEE CSE 2013, Sydney

  11. Programmability AnalysisMulti-Agent Simulation – FluTE (Abstract Code) Infected person communities Contagious The original work from Univ. New Mexico: http://www.cs.unm.edu/~dlchao/flute/ IEEE CSE 2013, Sydney

  12. Programmability AnalysisAgent-Based Data Analysis – Biological Network Motif IEEE CSE 2013, Sydney

  13. MASS Programmability • Spatial Simulation • Machine-unaware data distribution and collection • No explicit ghost space management • No explicit for-loop parallelization • Multi-Agent Simulation • Automated agent migration • Agent collision avoidance • Agent propagation and distributed termination IEEE CSE 2013, Sydney

  14. Performance EvaluationPlace and Agent Granularity Places Size Agent Group Size IEEE CSE 2013, Sydney

  15. Performance EvaluationSpatial Simulation – Wave2D IEEE CSE 2013, Sydney

  16. Performance EvaluationMulti-Agent Simulation – Random Walk IEEE CSE 2013, Sydney

  17. MASS Execution Performance • The minimum conditions to benefit from MASS (Java version): • 500 x 500 places • 300,000 agents • 100 floating-point operations / exchangeAll( ) or callAll( ), both returning values IEEE CSE 2013, Sydney

  18. Status and Future Plan • More version and tools in development: • MASS C++ • MASS Cuda • Parallel NetCDF reader/writer with MASS • Practical applications in our plan: • BrainGrid • FluTE • Biological network motif search • Climate change detection IEEE CSE 2013, Sydney

More Related