of simulations where “spatially defined” goals have to
be pursued (i.e. a specific position must be searched
for and located by the agents) where all the agents are
probable to gather, thereby loading one node of the
distributed system more than the others.
In this paper we describe how, starting from a par-
allelization of a specific simulation, sprung two mod-
ifications of D-MASON that had measurable positive
effects on both performances and scalability.
Distributed Simulations. The research in many
fields that uses the simulation toolkits for ABMs
is often conducted interactively, since the “genera-
tive” paradigm described in (Epstein, 2007) describes
an iterative methodology where models are designed
tested and refined to reach the generation of an out-
come with a simple generative approach. In this con-
text, given that scientists of the specific domain of-
ten are not computer scientists, usually they do not
have access to systems for high performances com-
putations for a long time, and usually they have to
perform preliminary studies within their limited re-
sources and, only later (if needed), allow extensive
testing on large supercomputing centers. In social
sciences, for example, the need for “the capacity to
model and make up in parallel, reactive and cogni-
tive systems, and the means to observe their interac-
tions and emerging effects” (Conte and Castelfranchi,
1995) clearly outlined, since 1995, the needs of flexi-
ble, though powerful, tools.
In this scenario, D-MASON’s goal is to offer to
such scientists a setting where a traditional MASON
program can be run on one desktop, first, but can im-
mediately harness the power of other desktops in the
same laboratory (available, maybe, during off-peak
hours) by using D-MASON, thereby providing scal-
ing up the size they can treat or reducing significantly
the time needed for each iteration.
Of course, since the resulting distributed system,
collecting hardware from research labs, administra-
tion offices, etc. is highly heterogeneous in nature,
the challenge that is tackled by D-MASON is also
how to use efficiently all the hardware without an
impact on the “legitimate” user (i.e., the owner of
the desktop) both on performances and on installa-
tion/customization of the machine. On the other hand,
one of the objectives pursued by D-MASON is that the
program in MASON should not be very different than
the corresponding program in D-MASON so that the
scientist can easily modify it to run over an increasing
number of hosts.
The need for efficiency among the Agent-Based
modeling tools is well recognized in literature: many
reviews of state-of-the-art frameworks (Berryman,
2008; Najlis et al., 2001; Railsback et al., 2006) place
“speed” upfront as one of the most general and im-
portant issues. While a consistent work has been done
to allow the distribution of agents on several comput-
ing nodes (see (Collier and North, 2011; Mengistu
et al., 2008; Pawlaszczyk and Strassburger, 2009)),
D-MASON’s claims to have a different approach in
principle: distribution is introduced at the framework
level, so that scientists who use the framework (do-
main experts but with limited knowledge of computer
programming and systems) can be unaware of such
distribution. Several works in this field (Collier and
North, 2011; Mengistu et al., 2008; Pawlaszczyk and
Strassburger, 2009) directly affects the implementa-
tion and the architecture of a distributed agent model
(dealing with lazy synchronization etc.), D-MASON’s
approach is concentrated on the upper layer of the
simulation framework, thereby hiding, as much as
possible, the details of the architecture. In this way,
D-MASON provides a certain degree of backward-
compatibility with pre-existing MASON applications,
ensuring cost-effectivenessof porting a sequential im-
plementation into a distributed setting.
Outline of the Paper. The rest of the paper is orga-
nized as follows: Section 2 introduces D-MASON. In
Section 3, we briefly discuss our motivating example
Ants Foraging and introduce the two improvements
on D-MASON. In Section 4 we report on and discuss
the tests we performed on the enhanced version of D-
MASON. In Section 5, we conclude and discuss some
possible extensions of this work.
2 MASON AND D-MASON
Before presenting the features of D-MASON, we will,
briefly, introduce MASON.
MASON. MASON toolkit is a discrete-event simu-
lation core and visualization library written in Java,
designed to be used for a wide range of ABMs. The
toolkit is composed of two independent layers: the
simulation layer and the visualization layer. The sim-
ulation layer is the core of MASON and is mainly rep-
resented by an event scheduler and a variety of fields
which hold agents into a given simulation space. MA-
SON is mainly based on step-able agent: a computa-
tional entity which may be scheduled to perform some
action (step), and which can interact (communicate)
with other agents. The visualization layer permits
both visualization and manipulation of the model.
SIMULTECH2012-2ndInternationalConferenceonSimulationandModelingMethodologies,Technologiesand
Applications
138