270 likes | 423 Views
MASS: A Multi-Agent Spatial Simulation Library. Munehiro Fukuda, Ph.D. School of Science, Technology, Engineering, and Mathematics. Table of Contents. Software agents MASS: multi-agent spatial simulation library MASS execution performance Practical applications Research issues and plans.
E N D
MASS: A Multi-Agent Spatial Simulation Library Munehiro Fukuda, Ph.D. School of Science, Technology, Engineering, and Mathematics Research in Progress Seminar
Table of Contents • Software agents • MASS: multi-agent spatial simulation library • MASS execution performance • Practical applications • Research issues and plans Research in Progress Seminar
Software Agents • Software agents software that acts on behalf of a user or provides a particular service • Cognitive agents coarse-grain execution entities that achieve network-administrative and computation-intensive task, based on their behavioral intelligence • Reactive agents fine-grain entities, each reacting to its environment with simple rules. Research in Progress Seminar
Cognitive Agents • eCommerce: Dispatch agents to remote servers to plan an trip and to make reservations accordingly. Note: a picture from Internet search Research in Progress Seminar
Reactive Agents • Simulations: Have many reactive agents interact each other and observe their group behavior. Today’s focus Note: a picture from Internet search Research in Progress Seminar
ABM: Agent-Based Modeling • Computational model • View computation as interaction of reactive agents or individuals and obtain outputs as their emergent collective behavior. • Describe simulations that are difficult to model with mathematical formulas. • Examples • AntFarm:ants’ food collecting simulation • Wa-Tor: a predator prey simulation • MatSim: a multi-agent transport simulation • FluTe: an influenza epidemic simulation Research in Progress Seminar
Related Work • Swarm: Santa Fe Institute • The first execution ABM platform for scientific computing • Emphasis on ABM programming • Parallelized with multithreading • NetLogo: Northwestern Univ. • An extension of Logo (in education) • Menu-based ABM programming • Graphical outputs • Interpretive environments Paramount focus on model design Note: pictures from Wiki Research in Progress Seminar
Scalability Challenge in ABM • Scalability: • The more accuracy we pursue, the more agents we need in a simulation • Examples: • MatSim: 20 minutes to simulate 200K cars driving through Bellevue on I-405 • FluTe: 2 hours to simulate epidemic in 10M individuals Parallelization: simulation with many computers Research in Progress Seminar
Parallelization Issues • Parallel-computing problems • Problem partitioning and mapping to computing node • Inter-node communication • Descriptions • Agent collision detection • Distributed termination • Ghost space management Our motivation: a design of a parallel ABM execution platoform Research in Progress Seminar
Multi-Agent Spatial Simulation Research in Progress Seminar
func1( ) func1( ) func1( ) func1( ) func2( ) func1( ) … … func2( ) func2( ) func3( ) func2( ) func3( ) MASS 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( ); } The Key is “all in parallel”. Research in Progress Seminar
Implementation Status • Java • Multithreaded version: John Spiger (BSCSS) • Multi-process version: John Emanu (BSCSS) • Multi-threaded multi-process version: Tim Chuang (MSCSS) • GPU Prototype: TosaOjiru and Robert Jordan (MSCSS) • C++ in progress: NarayaniaChandrasekaran and Cheri Wasous (MSCSS) • Tools • Sensor to MASS data streaming: Jose Melchor • Parallel file reader/writers: Kelsey Weingartner and SanjoyBappudi (BSCSS) • Trial uses • CSS534/490: Parallel Programming in Grid and Cloud (25 students) Research in Progress Seminar
Performance Evaluation • Environments • Giga-Ethernet of 24 Linux machines (512MB) • Test programs • 2D wave dissemination simulation • 2D random walk program • Conway’s game of life • Image steganography Research in Progress Seminar
2D Wave Simulation places z[t][i][j] = 2.0 z[t-1][i][j] – z[t-2][i][j] + c2(dt/dd)2 (z[t-1][i+1][j] + z[t-1][i-1][j] + z[t-1][i][j+1] + z[t-1][i][j-1] – 4.0 z[t-1][i][j]) Research in Progress Seminar
Random Walk Agent communication Agent migration Research in Progress Seminar
Conway’s Game of Lifeby Daniel Lewis, a MSCSSE student • Simulation consists of grid of cells • Live cells with <2 live neighbors die (underpopulation) • Live cells with 2–3 live neighbors live on • Live cells with >3 live neighbors die (overcrowding) • Dead cells with 3 live neighbors come alive (reproduction) Threads Procs Execution in seconds Research in Progress Seminar
Image Steganographyby PreethiRajaram, an MSCSS student Research in Progress Seminar
Summery of MASS Execution • Pros • Handling quite scalable, (i.e., memory-intensive) applications • Cons • Not yet best fitted to fine-grain computation, (i.e., a lot of communication among too small agents and cells) Research in Progress Seminar
Potential Practical Applications • Climate analysis • Brain Grid: Neural network simulation • Protein network motif search • FluTe: Influenza epidemic simulation • MatSim: Multi-agent transport simulation Research in Progress Seminar
Climate Analysiswith Profs. Eric Salathe and Hazel Asuncion Research in Progress Seminar
Neural Network Simulationwith Prof. Mike Stiber Research in Progress Seminar
Protein Network Motif Searchwith Prof. Wooyoung kim Research in Progress Seminar
Influenza Epidemic Simulationfrom Univ. New Mexico Infected person communities Contagious http://www.cs.unm.edu/~dlchao/flute/ Research in Progress Seminar
goal start goal 45 minutes start Multi-Agent Transport Simulationfrom http://www.matsim.org/ Research in Progress Seminar
Research Items • A cluster of GPU machines • Data streaming • Agent diffusion, merger, and distributed termination • Ghost space management • Guarded agent migration • Load balancing Research in Progress Seminar
Data Streamingwith CSS undergraduate students: Kelsey Weingartner and Sanjay Bappudy Research in Progress Seminar
Conclusions • ABM parallelization with the MASS library • MASS scalable execution performance with test applications • Parallelization of practical applications with UWB colleagues • More R & D items to go Research in Progress Seminar