Download presentation
Presentation is loading. Please wait.
Published byAsher Bishop Modified over 6 years ago
1
An Parallel Multi-Agent Spatial Simulation Environment for Cluster Systems
Thank you, chairman for the kind introduction. And hello, everyone. Today, I am going to present our on-going project that implement and practicalize an agent-based workbench for on-the-fly sensor-data analysis, more specifically for orchard temperature prediction and crop monitoring. Munehiro Fukuda, Ph.D. Computing & Software Systems University of Washington Bothell December 4 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 December 4 IEEE CSE 2013, Sydney
3
Outline Related work MASS execution model and library spec.
Programmability analysis Spatial simulation Multi-agent simulation Performance evaluation Conclusions December 4 IEEE CSE 2013, Sydney
4
Related Work Distributed Arrays Multi-Agents
Examples: UPC, Co-Array Fortran, and Global Array. Limited scalability versus limited remote memory access Read-only ghost space Examples: PDES-MAS, Nomadic Threads, and Repast HPC Fine granularity versus intelligence Hawk’s versus individual’s viewpoint System-level agent management required 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 December 4 IEEE CSE 2013, Sydney
5
MASS Library Execution Model
Y-axis A Bag of Agents Agents Agents Agents Application Layer (x,y) Places X-axis Thread 0 Thread 1 Thread 2 Thread 3 Thread 0 Thread 1 Thread 2 Thread 3 Thread 0 Thread 1 Thread 2 Thread 3 Process Rank 0 socket Process Rank 1 socket Process Rank 2 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 mnode0.uwb.edu mnode1.uwb.edu LAN mnode2.uwb.edu December 4 IEEE CSE 2013, Sydney
6
MASS Library Specification
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( ); } func1( ) … func2( ) func3( ) December 4 IEEE CSE 2013, Sydney
7
MASS Library Implementation
Master node main( String[] args ) { MASS.init( ); MASS.finish( ); } JSCH or libssh2 JSCH or libssh2 Slave node 2 Slave node 1 December 4 IEEE CSE 2013, Sydney
8
Programmability Analysis Spatial Simulation – Wave2D (Implemented)
December 4 IEEE CSE 2013, Sydney
9
Programmability Analysis Spatial Simulation – BrainGrid (Abstract Code)
December 4 IEEE CSE 2013, Sydney
10
Programmability Analysis Multi-Agent Simulation – Random Walk
December 4 IEEE CSE 2013, Sydney
11
Programmability Analysis Multi-Agent Simulation – FluTE (Abstract Code)
Infected person communities Contagious The original work from Univ. New Mexico: December 4 IEEE CSE 2013, Sydney
12
Programmability Analysis Agent-Based Data Analysis – Biological Network Motif
December 4 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 December 4 IEEE CSE 2013, Sydney
14
Performance Evaluation Place and Agent Granularity
Places Size Agent Group Size December 4 IEEE CSE 2013, Sydney
15
Performance Evaluation Spatial Simulation – Wave2D
December 4 IEEE CSE 2013, Sydney
16
Performance Evaluation Multi-Agent Simulation – Random Walk
December 4 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 December 4 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 December 4 IEEE CSE 2013, Sydney
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.