A Scalable Architecture for Crowd Simulation: Implementing a
Parallel Action Server
∗
G. Vigueras, M. Lozano, C. P´ erez and J. M. Ordu˜ na
Departamento de Inform´ atica
Universidad de Valencia
Spain
{Guillermo.Vigueras, Juan.Orduna}@uv.es
Abstract
Crowd simulation can be considered as a special case
of Virtual Environments where avatars are intelligent
agents instead of user-driven entities. These applicati-
ons require both rendering visually plausible images of
the virtual world and managing the behavior of autono-
mous agents. Although several proposals have focused
on the software architectures for these systems, the sca-
lability of crowd simulation is still an open issue.
In this paper, we propose a scalable architecture that
can manage large crowds of autonomous agents at in-
teractive rates. This proposal consists of enhancing a
previously proposed architecture through the efficient
parallelization of the Action Server and the distribu-
tion of the semantic database. In this way, the system
bottleneck is removed, and new Action Servers (hosted
each one on a new computer) can be added as neces-
sary. The evaluation results show that the proposed
architecture is able to fully exploit the underlying hard-
ware platform, regardless of both the number and the
kind of computers that form the system. Therefore, this
system architecture provides the scalability required for
large-scale crowd simulation.
1 Introduction
Crowd simulation can be considered as a special case
of Virtual Environments where the avatars are intel-
ligent agents instead of user-driven entities. Each of
these agent-based entities can have its own goals, know-
ledge and behavior. In recent years, crowd simulation
*
This work has been jointly supported by the Spanish MEC,
the European Commission FEDER funds, and the University of
Valencia under grants Consolider-Ingenio 2010 CSD2006-00046,
TIN2006-15516-C04-04, and UV-BVSPIE-07-1788
has become an essential tool for many virtual envi-
ronment applications in education, training, and en-
tertainment [1, 7, 17]. These applications require both
rendering visually plausible images of the virtual world
and managing the behavior of autonomous agents. The
sum of these requirements results in a computational
cost that highly increases with the numbers of agents in
the system, requiring a scalable design that can handle
simulations of large crowds in a feasible way.
In crowd simulation the motion of crowds and other
flock-like groups has been modeled as interacting par-
ticles that display different behaviors in 2D/3D scenes
[14, 5]. Beyond physically based simulations, agent-
based crowd models aim to capture the nature of a
crowd as a collection of individuals, each of which can
have their own goals, knowledge and behaviors [12].
However, when the number of agents or particles grows
so does the workload generated by the crowd, making
necessary the distribution of the crowd among different
computers in order to keep an acceptable degree of in-
teractivity. Typically, there are two different approa-
ches for distributing a crowd simulation. One of them
is based on the criterion of workload [16], so that diffe-
rent groups of agents are executed in different compu-
ters. The other approach is region-based [10], in such a
way that the virtual world is split into regions (usually
a 2D cell from a grid) and all the agents located at a
given region are assigned to a given computer. Both
approaches should guarantee the consistency of the si-
mulation (for example, two different agents cannot be
located at the same point in the virtual world). Howe-
ver, to the best of our knowledge none of the existing
proposals can manage crowd simulations of more than
tens of thousands of autonomous agents with different
graphic qualities. Therefore, the scalability of crowd
simulation is still an open issue.
In a previous work, we proposed a system architec-
37th International Conference on Parallel Processing
0190-3918/08 $25.00 © 2008 IEEE
DOI 10.1109/ICPP.2008.20
430