Using Actors to Implement Sequential Simulations
Venue
University of Saskatchewan, Saskatchewan, Canada (2015)
Publication Year
2015
Authors
BibTeX
Abstract
This thesis investigates using an approach based on the Actors paradigm for
implementing a discrete event simulation system and comparing the results with more
traditional approaches. The goal of this work is to determine if using Actors for
sequential programming is viable. If Actors are viable for this type of
programming, then it follows that they would be usable for general programming. One
potential advantage of using Actors instead of traditional paradigms for general
programming would be the elimination of a distinction between designing for a
sequential environment and a concurrent/distributed one. Using Actors for general
programming may also allow for a single implementation that can be deployed on both
single core and multiple core systems. Most of the existing discussions about the
Actors model focus on its strengths in distributed environments and its ability to
scale with the amount of available computing resources. The chosen system for
implementation is intentionally sequential to allow for examination of the
behaviour of existing Actors implementations where managing concurrency complexity
is not the primary task. Multiple implementations of the simulation system were
built using different languages (C++, Erlang, and Java) and different paradigms,
including traditional ones and Actors. These different implementations were
compared quantitatively, based on their execution time, memory usage, and code
complexity. The analysis of these comparisons indicates that for certain existing
development environments, Erlang/OTP, following the Actors paradigm, produces a
comparable or better implementation than traditional paradigms. Further research is
suggested to solidify the validity of the results presented in this research and to
extend their applicability.
