Introduction

GridABM is a set of opensource templates enabling researchers to do Agent-Based Modeling (ABM) on multicore computers, computing clusters and computational grids. GridABM is based on Java, RePast and ProActive.

Complex systems are simply sets of interacting entities. It is increasingly recognized in scientific disciplines such as physics, biology and social sciences that many phenomena can best be described in terms of complex systems.

Agent-based modeling is an approach to model complex systems by defining entities (agents) with certain properties and interactions among each other. This allows researchers to investigate how the macroscopic behavior of a system depends on the microscopic properties and rules.

Simulations of agent-based models (ABM) are typically need to deal with huge amount of agents, i.e: 500.000 or 1.000.000. cannot be modeled within a single PC due to memory issues. Therefore, it is often necessary to run distributed simulations using a dedicated computing cluster or a GRID. In most of the cases it also reduces the time of the runs. However, this implies the need for specialized parallel programming.

GridABM helps complex systems researchers (especially RePast modelers) to develop agent based models to run on multicore computers, clusters and grids; without the need for parallel programming!

Usage

1) Obtain the communication topology of your ABM.
2) Choose an appropriate Dry Schema, download it and all the libraries needed.
3) Develop your model based on the DS (write around 4 java classes, see manuals).
4) Prepare your computer cluster (more).
5) Run your distributed model.

Instead of developing individual parallel solutions for every ABM, our idea is to provide paralellization templates, Dry Schemas (DS) for 6 well-defined classes, based on communication topology. Once a modeller obtained witch class her/his model belongs to, she/he only need to take our appropriate schema and fill it with only simulation specific code. The programming is almost the same like developing a sequential modell in RePast.

According to the agent interaction topology, ABMs can be roughly categorized: static network, dynamic network, cellular automata, mobile agents

GridABM aims to provide parallel templates for all these categories. As a second release, we make the DSs for Cellular Automata (CA), and Static Network (StatNet) publicly available.

You can find the CA and StatNet Dry Schema as .jar files, including their sourcecode and documentation
here.

You can easily run your CA or StatNet based modells on your computer cluster, where machines have ssh acces to each other (read more).

Grid

Distributed agent based models based on the Dry Schemas can be seamlessly run on computer clusters. Aditionally, they can be deployed in a Grid environment, that able to co-operate with ProActive, like QosCosGRID.

QosCosGrid is a grid middleware developed in an EC-founded europian project of the same name. GridABM was developed in the context of this project. Publications.

Current release

The new GridABM webpage (including all about StatNet DS and CA DS) was released on 10 March 2010. See our todo list / further plans for upcoming improvements.

All files and documentation for the Cellular Automaton Dry Schema can be found here.

The Static Network Dry Schema, including documentation, can be found here.

Cellular Automaton’s manual is here.

Documentation for using the Static Network DS is here.

A detailed guide for how you can prepare your cluster for using our schemas can be found here.

GridABM has been developed at Collegium Budapest and AITIA International Inc. in the context of QosCosGrid.

QosCosGrid is a (finished) EC-founded project focused on developing grid middleware to allow complex systems simulation to be executed on a grid as if it was a supercomputer.

Main developers of GridABM:

Gabor Szemes (ColBud, AITIA)
Walter de Back (ColBud)
László Gulyás (AITIA, ColBud)
George Kampis (ColBud)