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.