The model includes components such as middleware to use e. This overhead is determined by the protocol used, the characteristics of the simulation model, as well as the architectural and performance characteristics of the hardware platform used. We first motivate the problem by showing the large performance gap that can be introduced by a mismatch of model and synchronization method. One reason for this is the overwhelming amount of performance data that has to be analyzed for deriving suitable selection mechanisms. This paper presents the Maisie simulation language, describes a set of optimizations, and illustrates the use of the language in the design of efficient parallel simulations Process oriented views are widely recognized as very useful for modeling, but difficult to implement efficiently in a simulation system, as compared to event oriented views. In this paper we outline the features of TeD, pointing out its strengths and identifying characteristics that gave us trouble as we used TeD to model detailed networks. However, performance analysis of spatial stochastic algorithms requires significant effort — it is crucial to choose suitable benchmark models and to carefully define model and simulation setups that take problem and simulation design spaces into account.
We present recent experiences and performance results for our network simulator and illustrate the utility of our simulator through prediction and validation studies for a molecular dynamics application. Low slowdowns are observed, due to its use of purely discrete event style of execution, and due to the scalability and efficiency of the underlying parallel discrete event simulation engine, µsik. This presents an extremely fine-grained simulation: events correspond to the transmission and receipt of packets. The methodology is applied to determine whether or not producing the distributed simulator of a given system may be advantageous in terms of execution time with respect to a conventional local simulator. It is shown that the simulator can achieve superior performance. It describes the software designs that let us construct and run appropriately large models.
The complexity arises because not all abstractions improve simulation performance due to a myriad of factors related to model characteristics, synchronization protocol overheads and simulation-platform configuration. This is accompanied with a survey of the prevalence of these problems in software development. For example, determining suitable default parameters from a multi-dimensional parameter space is challenging, as these parameters shall work well on a broad range of models. Benchmark simulations using our preliminary implementation, which is incorporated in the TeD modeling and simulation system, confirms the low overheads of this approach, and demonstrates its capability to simulate over one million processes in a process-oriented model. From this we can identify contentious areas worthy of further exploration, as well as those with high prevalence and strong agreement, which are natural candidates for initial moves towards better tool support. Debugging and optimizing parallel programs is a complex and demanding task. The language constructs allow the run-time system to implement optimizations that reduce recomputation and state saving overheads for optimistic simulations and synchronization overheads for conservative implementations.
Our solution calls for each channel between submodels to be classified as synchronous or asynchronous. Appropriate design of such tools requires a systematic analysis of the problems which might be identified, and the information used to diagnose them. On the other hand, there is a wide variety of algorithms which address subproblems of parallel and distributed simulation and whose performance depends on the application at hand. Experiments show that, compared with the scheduling algorithm using locks, the lock-free algorithm exhibits better performance when the number of logical processes assigned to each processor is small or when the workload becomes significant. The implemented selection mechanisms are able to cope with three situations: a no prior knowledge is available, b the impact of problem features on performance is unknown, and c a relationship between problem features and algorithm performance can be established empirically.
Distributed simulation has emerged as an important instrument for studying large-scale complex systems. Automated transformation between modeling languages is often useful, e. The results of complex networks analysis on the entity interaction graphs demonstrate that the heterogeneous distribution of connections and highly clustering are universal in these complex systems. We illustrate the resulting difficulties with respect to the development of parallel and distributed simulation systems and argue that the simulation of distributed simulation systems is a feasible approach to alleviate them. The entity interaction graph is an important metaphor for understanding the simulation execution of complex systems on parallel computing environment. This paper proposes two alternative routing approaches, namely the address-based approach, which locates data according to their address information, and the range-based approach, whose operation is based on looking up attribute value range information along the paths to the destinations. However, such gains can be voided by the overhead that time synchronization protocols for parallel and distributed simulation induce.
Optimising access to the shared data is crucial for achieving efficient simulation executions. This leads to another problem: how is the user supposed to know which algorithm to select? SimKit presents a simple, elegant logical process view of simulation enabling both sequential and parallel execution without code changes to application models. A simple synchronization algorithm is then presented along with some additional synchronization strategies that could improve the performance. The results also suggest that more automatic adaptation and fine-grained performance tuning is necessary for handling more complex large-scale simulation scenarios. Use of parallel processors to execute the simulation compounds the problems, as memory can be tied down due to synchronization needs.
This paper describes the design features of the SimKit system. Recently, Infrastructure-as-a-Service offerings in the cloud computing domain have introduced flexibility in acquiring access to virtualized hardware platforms on a pay-as-you-go basis. Parallel simulation tools are products of research efforts, and simply do not stand up to the demands of modern software engineering. Distributed execution of simulation models comes into play when memory limitations of a single computational resource prohibit their execution. Comparisons of predicted performance with observed performance over a wide range of operating conditions usually yield estimates that enjoy 10% accuracy. Likewise, it is unclear which type of resources are most cost-efficient for this type of workload. Studies have shown that a good scheduling algorithm should preferentially schedule processes containing events on the critical path.
Our intention is to illustrate by example what TeD can do, and characteristics that a potential TeD user should be aware of. Our analysis shows that performance levels comparable to those realized on commodity hardware based-clusters are attainable, and that the relative performance of different synchronization protocols is retained on high-end IaaS resources. We address the concern over unpredictable behavior. The results of 20 years of research in parallel simulation reveal it to be a highly complex endeavour, with performance results very much dependent on implementation details and model characteristics. A case study of the virtualization system is presented in the context of plasma physics simulations, highlighting important virtualization challenges and issues, such as reentrancy and synchronization in the virtual plane, and our corresponding solution approaches.
The need for adaptive protocols are motivated in the background of the synchronization problem that has driven much of the research in this field. Often, the results motivate follow-up experiments, which in turn may lead to additional experiments, and so on. These strategies are tested on a reference model, what shows how the simulator scales and how it is sensitive to parameters such as connectivity and send granularity. The need for an automated selection mechanism is often neglected, as many simulation systems are focused on specific applications or modeling formalisms and therefore have a limited number of expert users. Roland Ewald analyzes and discusses existing approaches to solve the algorithm selection problem in the context of simulation.
At present, it is however unclear to what extent these offerings are suited for the distributed execution of discrete-event simulations, and how the characteristics of different resource types impact the performance of distributed simulation under different time synchronization protocols. This is due to intricate interactions between model features, implementation details, and runtime environment, which may strongly affect the overall performance. Some of the presented mechanisms also support the research on simulation methods, as they facilitate their development and evaluation. However, several problems arise when the expressive powers of the modeling languages differ. Index Terms—entity interaction graph; parallel simulation; empirical study; complex systems; performance analysis Whether a given simulation model of a computer network will benefit from parallelization is difficult to determine in advance, complicated by the fact that hardware properties of the simulation execution environment can substantially affect the execution time of a given simulation. Our experiments demonstrate the potentials of real-time simulation for studying complex behaviors of distributed applications under large-scale network conditions. One of our design goals has been to provide the simulator with features that simplify the expression of models, but whose implementation still provides a satisfactory level of performance and capability.