Schedule

DistSim -- Distributed Simulation

distSim is a research project to construct a general purpose distributed simulation environment. Attempting to answer the question, "How to quickly and cost effectively, create an accurate simulation if you aren't a programmer." Specifically, we have biologists in mind for an early target audience. Please note, we are in the early stages of design, and some of the project specific terminology is not yet finalized.

The simulation consists of an environment, and models. Models exist in the environment. The environment provides rules for how the models co-exist, and a customizable ruleset. The environment will provide for things like the gravitational constant, ambient air temperature, etc.... Essentially, anything which affects all the models in a geographic area.

Models are what need to get written for a new simulation. The programmer will need to become familiar with the model API only. We intend to ultimately provide bindings for several languages, but will start with C and C++. The biologists will interact with a library of already developed models when the software is mature.

Parallelism will principally be provided by assigning 'geographic' boundaries, which overlap with network boundaries. That is to say, within the simulation tile sets A and B are congruent, but exist on separate machines. How these to sets interact will likely be the topic of our first paper, but the biologists probably won't care.

The project will use OpenMPI http://www.open-mpi.org/papers/euro-pvmmpi-2004-overview/ to provide the parallel execution framework, and GNOME for the GUI components. We will use the GNU autotools for the build system, and distribute source tarballs.

Currently there is no source. We have the presentation PDF and an informal paper/collection-of-notes we would be happy to share if you would like to see them. Our team will primarily work from separate machines at home, especially over the break, and savannah would greatly facilitate that, even at this stage when we are producing documents to guide development.