DYNAMIC ENTITY DISTRIBUTION IN PARALLEL DISCRETE EVENT SIMULATION
Michael Slavik
Imad Mahgoub
Ahmed Badi
Department of Computer Science and Engineering
Florida Atlantic University
Boca Raton, Florida 33431
ABSTRACT
Event based simulations are an important scientific appli-
cation in many fields. With the rise of cluster computing,
distributed event simulation optimization becomes an essen-
tial research topic. This paper identifies cross-node event
queues as a major source of slow down in practical parallel
event simulations and proposes dynamically moving entities
between nodes to minimize such remote event queues. The
problem statement is formalized and an algorithm based on
an approximation algorithm for the Capacitated Minimum
K-Cut Problem is proposed. The algorithm is simulated
and results are presented that show its effectiveness. For
simulations with reasonably regular structural relationships
between entities, reductions of remote entity queues from
80 to 90 % are demonstrated.
1 INTRODUCTION
Cluster computing is quickly becoming the primary super-
computing method, due to its great and improving cost
effectiveness. Nodes in the cluster are typically common
computers connected via a network and may even be run-
ning different platforms. Cluster computing thus present
challenging problems for software designers: applications
must be effectively parallelized to run on multiple machines
with separate memory and instruction streams, application
execution must be synchronized by the machines commu-
nicating with each other over a relatively slow network
(typically an IP network), and application software may
need to run on multiple platforms to get full utilization
from the network. Because of these challenges, tools are
needed to ease cluster-based application development.
One of the common applications to run in a super-
computing environment is discrete event simulation (DES).
DES is used in a wide variety of applications such as man-
ufacturing models, computer network models, and artificial
intelligence research. Because of this, there has been inter-
est in creating cluster-based discrete event simulators called
parallel discrete event simulators (PDES). Amdahl’s Law
(Amdahl 1967) bounds the effectiveness of parallelization
in applications with sequential components, and DES is
naturally highly sequential; the semantics of DES in fact
demand events are executed in sequential order. Thus DES
is an extremely difficult problem to distribute across a clus-
ter, and is very sensitive to dependencies among simulation
entities. Event simulations must be written specifically with
cluster applications in mind, or else it is not uncommon to
see the total simulation time increase as a result of executing
the simulation on a cluster. In this study, we examine the
problem and propose a method of avoiding this situation.
1.1 Terminology
A quick note on terminology. Throughout this paper we
will use the terms node, entity, and event, for which it will
be useful for all readers to have a common understanding.
A node refers to a single machine on the cluster. An entity
is an autonomous simulation object, consisting of its own
memory and event handling methods. An event is a method
invoked on an entity at a particular simulation time. An
entity invoking an event on another entity is referred to as
the entity queuing an event to the other entity and such an
occurrence is called an event queue.
2 PROBLEM STATEMENT
A distributed event simulation instance consists of a set
of entities E residing on a set of nodes N. These entities
have memory associated with them and contain references
to each other. Using these references, entities queue events
to other entities in the simulation. Running on a single
machine, these associations among entities cause no special
problem. Running on a cluster, entities queuing events to
entities resident on different nodes limits the extent to which
the simulation can be executed in parallel. The best case
event simulation for a distributed environment is when the
entities naturally separate into |N| groups that do not queue
1061 978-1-4244-2708-6/08/$25.00 ©2008 IEEE
Proceedings of the 2008 Winter Simulation Conference
S. J. Mason, R. R. Hill, L. Mönch, O. Rose, T. Jefferson, J. W. Fowler eds.