text: Discrete Event Simulation (DES) is a widely used technique in which the state of the simulator is updated by events happening at discrete points in time (hence the name). DES is used to model and analyze many kinds of systems, including computer architectures, communication networks, street traffic, and others. Parallel and Distributed Simulation (PADS) aims at improving the efficiency of DES by partitioning the simulation model across multiple processing elements, in order to enable larger and or more detailed studies to be carried out. The interest on PADS is increasing since the widespread availability of multicore processors and affordable high performance computing clusters. However, designing parallel simulation models requires considerable expertise, the result being that PADS techniques are not as widespread as they could be. In this paper we describe ErlangTW, a parallel simulation middleware based on the Time Warp synchronization protocol. ErlangTW is entirely written in Erlang, a concurrent, functional programming language specifically targeted at building distributed systems. We argue that writing parallel simulation models in Erlang is considerably easier than using conventional programming languages. Moreover, ErlangTW allows simulation models to be executed either on single-core, multicore and distributed computing architectures. We describe the design and prototype implementation of ErlangTW, and report some preliminary performance results on multicore and distributed architectures using the well known PHOLD benchmark.
  @cite_23: To develop a parallel discrete-event simulation from scratch requires in-depth knowledge of the mapping process from the physical model to the simulation model, and also a substantial effort in coping with the numerous issues concerning the underlying synchronization protocols in use. Languages and libraries could reduce the devel opment effort significantly by providing the user with a pre-built parallel simulation kernel as well as application development tools. This pa per contains a survey of the existing languages and libraries for parallel discrete-event simula tion. It is divided into two major sections: one on the languages, the other on the libraries. The discussions are mainly focused on the following aspects: user model, programming framework and language features, library API, protocols, and system support and environment. The re ported performances of some packages are also summarized.
summary: Over the years, many PADS tools, languages and middlewares have been proposed (a comprehensive but somewhat outdated list can be found in @cite_23 ); in this section we highlight some of the most significant results with specific attention to the implementations of the Time Warp synchronization mechanism.