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