Exascale Agent-based Modeling System

PI Name: 
Michael J. North
PI Email: 
Argonne National Laboratory
Allocation Program: 
Director's Discretionary
2010 to 2011
Research Domain: 
Computer Science

In the last decade, agent-based modeling and simulation (ABMS) has been successfully applied to a variety of domains, demonstrating the potential of this technique to advance science, engineering, and policy analysis. However, realizing the full potential of ABMS to find breakthrough research results requires far greater computing capability than is available through current ABMS tools. The Repast Simphony for C++ (Repast SC++) project addresses this need by developing a next- generation ABMS system explicitly focusing on larger-scale distributed computing platforms.

Repast SC++’s focus is on making possible distributed runs over many multiple processes. In doing so, Repast SC++ enables 1) massive individual runs – runs containing a number of agents sufficient to overwhelm a smaller number of processes; and 2) runs containing relatively few complex agents, where the computational complexity would overwhelm a smaller number of processes. Leveraging years of experience in ABMS toolkit and design and implementing the core Repast feature set, Repast SC++ is a useful and usable toolkit. It allows users to focus on model development and ignore the details of parallel programming. Written in portable C++, and using MPI and the boost libraries, Repast SC++ achieves “good enough” performance at large scales. Simulation models can be written in C++, using the core simulation components directly, or in a Logo-style C++ that uses the typical Logo turtle, patch, link, and observer components. (See figure below.) The Repast SC++ toolkit has been implemented and tested on the IBM Blue Gene/P at the Argonne Leadership Computing Facility. It will be released as an open source in October 2010. Repast SC++ is the subject of an invited chapter in the forthcoming book Large-Scale Computing Techniques for Complex System Simulations.

Director’s Discretionary Allocation:

76,800 Hours