ACM Transactions on Programming Languages and Systems (TOPLAS)
An empirical comparison of priority-queue and event-set implementations
Communications of the ACM
Distributed discrete-event simulation
ACM Computing Surveys (CSUR)
Random number generators: good ones are hard to find
Communications of the ACM
Parallel discrete event simulation
WSC '89 Proceedings of the 21st conference on Winter simulation
Journal of Algorithms
Efficient Execution of Time Warp Programs on Heterogeneous, NOW Platforms
IEEE Transactions on Parallel and Distributed Systems
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
SIMULA: an ALGOL-based simulation language
Communications of the ACM
Parallel and Distribution Simulation Systems
Parallel and Distribution Simulation Systems
Introduction to System Dynamics Modeling with Dynamo
Introduction to System Dynamics Modeling with Dynamo
The development of the General Purpose Simulation System (GPSS)
ACM SIGPLAN Notices - Special issue: History of programming languages conference
The SPEEDES Persistence Framework and the Standard Simulation Architecture
Proceedings of the seventeenth workshop on Parallel and distributed simulation
Algorithms and analyses: piggy-backed time-stepped simulation with ‘super-stepping’
Proceedings of the 35th conference on Winter simulation: driving innovation
µsik " A Micro-Kernel for Parallel/Distributed Simulation Systems
Proceedings of the 19th Workshop on Principles of Advanced and Distributed Simulation
DSIM: scaling time warp to 1,033 processors
WSC '05 Proceedings of the 37th conference on Winter simulation
The SIMSCRIPT III programming language for modular object-oriented simulation
WSC '05 Proceedings of the 37th conference on Winter simulation
Exploring the Effects of Hyper-Threading on Parallel Simulation
DS-RT '06 Proceedings of the 10th IEEE international symposium on Distributed Simulation and Real-Time Applications
Parallel and distributed simulation: traditional techniques and recent advances
Proceedings of the 38th conference on Winter simulation
Anton, a special-purpose machine for molecular dynamics simulation
Communications of the ACM - Web science
Programming Erlang: Software for a Concurrent World
Programming Erlang: Software for a Concurrent World
GVT algorithms and discrete event dynamics on 129K+ processor cores
HIPC '11 Proceedings of the 2011 18th International Conference on High Performance Computing
Proceedings of the 5th International ICST Conference on Simulation Tools and Techniques
Hi-index | 0.00 |
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.