Conference Paper

An Algorithm For Parallel Discrete Event Simulation Using Common Memory

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... One solution to the deadlock problem is to allow the simulation to deadlock, detect it and then recover. However, the simulation is making no progress during deadlock recovery, hence processing power is "lost" during these phase interfaces between phases of useful computation [5]. ...
... Synchronization algorithms have been developed for parallel simulation on shared memory. A technique making use of an event list per process has been described by Cota and Sargent [5]. The processes that can generate events that can influence the events of a given process are called its prede-cessors. ...
Conference Paper
An object-oriented simulator model for parallel computer systems is described. It is designed for a shared memory multiprocessor and uses the principle of execution-driven simulation. Two alternatives for structuring the simulation are presented and evaluated. The first uses a single shared event list object and treats all processes uniformly. In the second, the parallel-program model and the target parallel-architecture model are each represented as a set of process objects that communicate with each other by means of messages. Only the local simulation times of the processes involved are examined prior to removing an event from the event list. This method enforces timestamp ordering among all events, thus providing the advantages of a global time and a global event list. Two independent concepts are integrated: parallel simulation on shared memory and execution-driven simulation of concurrent programs
... For instance, Bain and Scott [19] attempt to simplify the communication topology to resolve the problem of transmitting redundant null messages due to low Lookahead cycles. Cota and Sargent [20] focused on the skew in simulation time between different LPs by exploiting knowledge about the LPs and the topology of the interconnections. ...
Article
Full-text available
This paper presents a new logical process (LP) simulation model for distributed simulation systems where Null Message Algorithm (NMA) is used as an underlying time management algorithm (TMA) to provide synchronization among LPs. To extend the proposed simulation model for n number of LPs, this paper provides a detailed overview of the internal architecture of each LP and its coordination with the other LPs through sub-system components and models such as communication interface and simulation executive. The proposed architecture of LP simulation model describes the proper sequence of coordination that need to be done among LPs though different subsystem components and models to achieve synchronization. To execute the proposed LP simulation model for different set of parameters, a queuing network model is used. Experiments will be performed to verify the accuracy of the proposed simulation model using the pre-derived mathematical equations. Our numerical and simulation results can be used to observe the exchange of null messages and overhead indices.
... Other recent developments [10] have focused on incorporating knowledge about the LP into the synchronization algorithms. Cota and Sargent [7] focused on the skew in simulation time between different LPs by exploiting knowledge about the LPs and the topology of the interconnections. Although earlier work has aimed to optimize the performance of the NMA by proposing the variants of the NMP [3, 4, 8, 10], it has not addressed reducing the exchange of null messages that is caused by improper selection of the parameters. ...
Chapter
Full-text available
The performance of a conservative time management algorithm in a distributed simulation system degrade s significantly if a large number of null messages are exchanged across the logical processes in order to avoid deadlock. This situation gets more severe when the exchange of null messages is increased due to the poor selection of key parameters such as lookahead values. However, with a mathematical model that can approximate the optimal values of parameters that are directly involved in the performance of a time management algorithm, we can limit the exchange of null messages. The reduction in the exchange of null messages greatly improves the performance of the time management algorithm by both minimizing the transmission overhead and maintaining a consistent parallelization. This paper presents a generic mathematical model that can be effectively used to evaluate the performance of a conservative distributed simulation system that uses null messages to avoid deadlock. Since the proposed mathematical model is generic, the performance of any conservative synchronization algorithm can be approximated. In addition, we develop a performance model that demonstrates that how a conservative distributed simulation system performs with the null message algorithm (NMA). The simulation results show that the performance of a conservative distributed system degrades if the NMA generates an excessive number of null messages due to the improper selection of parameters. In addition, the proposed mathematical model presents the critical role of lookahead which may increase or decrease the amount of null messages across the logical processes. Furthermore, the proposed mathematical model is not limited to NMA. It can also be used with any conservative synchronization algorithm to approximate the optimal values of parameters.
... Other recent developments [10] have focused on incorporating knowledge about the LP into the synchronization algorithms. Cota and Sargent [7] focused on the skew in simulation time between different LPs by exploiting knowledge about the LPs and the topology of the interconnections. Although, much research has been done to evaluate the performance of conservative NMA for inefficiencies and transmission overhead [3, 8, 12], none of them suggest any potential optimization for the NMA. ...
Conference Paper
Full-text available
Null message algorithm is an important conservative time management protocol in parallel discrete event simulation systems for providing synchronization between the distributed computers with the capability of both avoiding and resolving the deadlock. However, the excessive generation of null messages prevents the widespread use of this algorithm. The excessive generation of null messages results due to an improper use of some of the critical parameters such as frequency of transmission and Lookahead values. However, if we could minimize the generation of null messages, most of the parallel discrete event simulation systems would be likely to take advantage of this algorithm in order to gain increased system throughput and minimum transmission delays. In this paper, a new mathematical model for optimizing the performance of parallel and distributed simulation systems is proposed. The proposed mathematical model utilizes various optimization techniques such as variance of null message elimination to improve the performance of parallel and distributed simulation systems. For the sake of simulation results, we consider both uniform and non-uniform distribution of Lookahead values across multiple output lines of an LP. Our experimental verifications demonstrate that an optimal NMA offers better scalability in parallel discrete event simulation systems if it is used with the proper selection of critical parameters.
... Other recent developments have focussed on incorporating knowledge about the LP into the synchronization algorithms, e.g., Nicol's ''appointments'' [10]. Another approach is to constrain the skew in simulation time between different LPs by exploiting knowledge about the LPs and the topology of the interconnect [2,8]. ...
Article
This paper presents the results of an empirical study of the effects of null message cancellation on the performance of conservatively synchronized distributed simulation. Null message cancellation is an algorithmic modification to the basic conservative synchronization scheme wherein a null message is discarded before receipt when overcome by a message with a larger timestamp.
Chapter
Main concepts of the newly developed asynchronous event-driven simulator named SEEDS are presented. SEEDS (Simulation Environment for Dynamic Evaluation of Diagnostic Strategies) is dedicated for analysis of comparison-based fault identification strategies in distributed systems. A discrete event model of a distributed system is transformed into a set of communicating processes running under the multitasking operating system Xenix. The basic simulation objective is to provide the following estimates: effective usage of dynamic redundancy in job execution, testing overhead and latency of fault localization.
Article
Simultaneous events are the events scheduled to occur at the same simulation time. This paper proposes a new event ordering mechanism for handling simultaneous events of DEVS models in distributed simulation. The DEVS formalism provides a formal framework for specifying discrete event models in a modular, hierarchical form. Thus, the formalism can ease the model verification and validation problems of distributed simulation. Also, the formalism separates models from underlying simulation algorithms. Hence, DEVS models can be simulated in both sequential and distributed environments without any modification. One important issue for such framework is to obtain the same results in both simulation environments. However, in distributed simulation of DEVS models, the processing order of simultaneous events may affect the simulation results. Thus, some ordering mechanism of events is required for well-defined simulation results. The proposed mechanism orders simultaneous events correctly with respect to their causal relationships in distributed DEVS simulation. Also, the mechanism guarantees the same ordering of simultaneous events in both sequential and distributed simulation environments.
Conference Paper
The deterministic nature of conservative simulation makes it possible to conduct an accurate trace-driven analysis of an existing sequential simulator in order to predict concurrency profiles and speedup bounds for several parallel implementations. This paper describes such an analysis carried out on a commercial VLSI digital circuit simulator with results based on real instance evaluation times at microsecond resolutions. The authors consider a central event queue based model with and without lookahead, as well as the distributed message passing model. The results help to answer the important questions, 'Just how much concurrency is there in real commercial VLSI simulations?' and 'What type of machine would be best suited for a parallel implementation?'
Article
Full-text available
In this paper, we discuss the use of parallel discrete event simulation (PDES) algorithms for execution of hardware models written in VHDL. We survey central event queue, conservative distributed and optimistic distributed PDES algorithms, and discuss aspects of the semantics of VHDL and VHDL-92 that affect the use of these algorithms in a VHDL simulator. Next, we describe an experiment performed as part of the Vsim Project at the University of Adelaide, in which a simulation kernel using the central event queue algorithm was developed. We present measurements taken from this kernel simulating some benchmark models. It appears that this technique, which is relatively simple to implement, is suitable for use on small scale multiprocessors (such as current desktop multiprocessor workstations), simulating behavioral and register transfer level models. However, the degree of useful parallelism achievable on gate level models with this technique appears to be limited.
Conference Paper
Full-text available
Null message algorithm (NMA) is one of the efficient conservative time management algorithms that use null messages to provide synchronization between the logical processes (LPs) in a parallel discrete event simulation (PDES) system. However, the performance of a PDES system could be severely degraded if a large number of null messages need to be generated by LPs to avoid deadlock. In this paper, we present a mathematical model based on the quantitative criteria specified in (Rizvi et al., 2006) to optimize the performance of NMA by reducing the null message traffic. Moreover, the proposed mathematical model can be used to approximate the optimal values of some critical parameters such as frequency of transmission, Lookahead (L) values, and the variance of null message elimination. In addition, the performance analysis of the proposed mathematical model incorporates both uniform and non-uniform distribution of L values across multiple output lines of an LP. Our simulation and numerical analysis suggest that an optimal NMA offers better scalability in PDES system if it is used with the proper selection of critical parameters.
Conference Paper
The authors study the handling of simultaneous events in distributed simulation and conclude that the results of a distributed simulation are the same as those of a sequential simulation in which a particular assignment of priorities is used to resolve time ties. They study the ordering relation that a distributed simulation implicitly enforces on simultaneous events, and then give an algorithm that can be used to assign priorities to processes so that the ordering relation enforced by a distributed simulation can also be enforced in a sequential simulation. The motivation for this is that if distributed implementation and a sequential implementation of the same simulation were being developed, it would be necessary for the two implementations to handle simultaneous events in the same manner. In addition, the authors show how to dynamically assign priorities to processes in a simulation in which processes can be created and destroyed during the simulation, and they discuss the costs and the limitations of this method
Article
Full-text available
this paper is meanwhile published as: A. Ferscha and J. Luthi. "Estimating Rollback Overhead for Optimism Control in Timewarp". In: Proceedings of the 28
Article
The report will show how process-oriented discrete event simulation can be performed in the programming language Erlang. A small introduction to simulation and Erlang is given. The model used for discrete event simulation in Erlang and mechanisms for interaction in-between simulation processes are described. The author also illustrates how an extension to distributed simulation can be made. Descriptive examples and larger applications are presented. In the last passage of the report function calls for the simulator are given. ii Contents 1 Introduction 1 2 What is Erlang? 3 2.1 Erlang : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2.2 Modules, Functions and Clauses : : : : : : : : : : : : : : : : : : : : : : 4 2.3 Data Types : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 2.4 Pattern Matching : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 2.5 Concurrency : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ...
Article
Full-text available
Virtual time is a new paradigm for organizing and synchronizing distributed systems which can be applied to such problems as distributed discrete event simulation and distributed database concurrency control. Virtual time provides a flexible abstraction of real time in much the same way that virtual memory provides an abstraction of real memory. It is implemented using the Time Warp mechanism, a synchronization protocol distinguished by its reliance on lookahead-rollback, and by its implementation of rollback via antimessages.
Article
Full-text available
The problem of system simulation is typically solved in a sequential manner due to the wide and intensive sharing of variables by all parts of the system. We propose a distributed solution where processes communicate only through messages with their neighbors; there are no shared variables and there is no central process for message routing or process scheduling. Deadlock is avoided in this system despite the absence of global control. Each process in the solution requires only a limited amount of memory. The correctness of a distributed system is proven by proving the correctness of each of its component processes and then using inductive arguments. The proposed solution has been empirically found to be efficient in preliminary studies. The paper presents formal, detailed proofs of correctness.
Article
An approach to carrying out asynchronous, distributed simulation on multiprocessor message-passing architectures is presented. This scheme differs from other distributed simulation schemes because (1) the amount of memory required by all processors together is bounded and is no more than the amount required in sequential simulation and (2) the multiprocessor network is allowed to deadlock, the deadlock is detected, and then the deadlock is broken. Proofs for the correctness of this approach are outlined.
Article
Traditional discrete-event simulations employ an inherently sequential algorithm. In practice, simulations of large systems are limited by this sequentiality, because only a modest number of events can be simulated. Distributed discrete-event simulation (carried out on a network of processors with asynchronous message-communicating capabilities) is proposed as an alternative; it may provide better performance by partitioning the simulation among the component processors. The basic distributed simulation scheme, which uses time encoding, is described. Its major shortcoming is a possibility of deadlock. Several techniques for deadlock avoidance and deadlock detection are suggested. The focus of this work is on the theory of distributed discrete-event simulation.
Article
Simulation, particulary of networks of queues, is an application with a high degree of inherent parallelism and is of great practical interest. We hope to exploit this parallelism by performing simulations using a network of cheap, but slow, micro-processors.We define a taxonomy by which we classify a number of parameters of a distributed simulation method, and seek solutions to problems of synchronization, deadlock prevention and inter-process communication arising with various methods in each class of the taxonomy. We concentrate in particular on the class (loose, event-driven) which seems to possess the greatest potential parallelism, and on the class (scaled, tight, time-driven) which allows mock-up studies of real systems. We give algorithms for deadlock prevention and detection, and briefly discuss the design of a distributed operating system to support the simulation application.This research forms part of a joint program with the Dept. of Computer Sciences, University of Texas at Austin, directed by Prof. K.M. Chandy.
Conference Paper
We propose a distributed simulation method which is particularly well suited for the simulation of large synchronous networks. In general, distributed simulation has significant potential for alleviating the time and memory constraints often encountered when using conventional simulation techniques. Currently proposed methods for distributed simulation suffer performance degradation due to the employment of strategies for preventing deadlock and due to artificial blocking of processes. We describe a new method for doing distributed simulation which is deadlock free whenever the physical system being simulated is deadlock free. Furthermore, our method does not suffer from artificial blocking of processes.
Research Report on Parallel Discrete Event Simulation
  • Β A Cota
  • R G Sargent