SimQPN—A tool and methodology for analyzing queueing Petri net models by means of simulation
Introduction
The queueing Petri net (QPN) modeling formalism was introduced in 1993 by Bause [5]. It allows queues (queueing stations) to be integrated into the places of Petri nets (more specifically colored generalized stochastic Petri nets) and thus brings the benefits of queueing networks into the world of Petri nets. In [4] it is shown that QPNs have greater expressive power than queueing networks, extended queueing networks and stochastic Petri nets. In addition to hardware contention and scheduling strategies, using QPNs one can easily model simultaneous resource possession, synchronization, blocking and software contention. This enables the integration of both hardware and software aspects of system behavior into the same model [8], [22]. While the above could also be achieved by using layered queueing networks (LQNs) (or stochastic rendezvous networks) [45], [38], [29], the latter are defined at a higher-level of abstraction and are usually less detailed and accurate. Another benefit of QPNs is that, since they are based on Petri nets, one can exploit a number of efficient techniques from Petri net theory to verify some important qualitative properties of QPNs, such as ergodicity, boundedness, liveness or existence of home states. The latter not only help to gain insight into the behavior of QPNs, but are also essential preconditions for a successful quantitative analysis [5].
In [22], we showed that QPNs lend themselves very well to modeling distributed e-business applications with software contention and demonstrated how this can be exploited for performance prediction in the capacity planning process. However, we also showed that modeling a realistic e-business application using QPNs often leads to a model that is way too large to be analyzable using currently available tools and techniques. This is the reason why QPNs have hardly been exploited in the past decade and very few, if any, practical applications have been reported. The problem is that, until now, available tools and solution techniques for QPN models have all been based on Markov chain analysis, which suffers the well known state space explosion problem and limits the size of the models that can be analyzed.
This paper shows how the above problem can be approached by exploiting discrete event simulation for model analysis. We present SimQPN—a Java-based simulation tool for QPNs that can be used to analyze QPN models of realistic size and complexity. While doing this, we propose a methodology for simulating QPN models and analyzing the output data from simulation runs. SimQPN can be seen as an implementation of this methodology. We validate our approach by studying several different QPN models by means of SimQPN. Models of different size and complexity are considered, including models of realistic e-business applications such as the SPECjAppServer1 set of benchmarks. We evaluate the quality of data provided by SimQPN, conducting an exhaustive experimental analysis of the variation of point estimates and coverage of confidence intervals reported.
An alternative approach to simulate QPN models would be to use a general purpose simulation package. However, this approach has some disadvantages. First, general purpose simulation packages do not provide means to represent QPN constructs directly. Instead, they require that simulation models are described using a general purpose simulation language. Mapping a QPN model to a description in the terms of a general purpose simulation language is a complex, time-consuming and error-prone task. Moreover, not all simulation languages provide the expressiveness needed to describe complex QPN models. Some simplifications might be required, which could lead to less accurate results. Another disadvantage is that general purpose simulators are generally not as fast and efficient as specialized simulators, since they are usually not optimized for any particular type of models. Being specialized for QPNs, SimQPN simulates QPN models directly and has been designed to exploit the knowledge of the structure and behavior of QPNs to improve the efficiency of the simulation. Therefore, SimQPN is expected to provide much better performance than a general purpose simulator, both in terms of the speed of simulation and the quality of output data provided. Last but not least, SimQPN has the advantage that it is extremely light-weight and being implemented in Java it is platform independent.
The rest of the paper is organized as follows. We start with a brief introduction to queueing Petri nets in Section 2. In Section 3, we present SimQPN—our simulation tool for QPNs, and discuss its features, design and architecture. In parallel to this, we discuss our methodology for simulating QPN models, based on which SimQPN was developed. We look at the methods for output data analysis employed, and discuss the specifics of their implementation. Following this, in Section 4, we study several different QPN models using SimQPN and validate the results with respect to correctness and accuracy. We evaluate the performance of point and interval estimators implemented in SimQPN. Finally, we discuss our ongoing/future work and present some concluding remarks.
Section snippets
Queueing Petri nets
Queueing Petri nets can be seen as a combination of a number of different extensions to conventional Petri nets along several different dimensions. In this section, we include some basic definitions and briefly discuss how queueing Petri nets have evolved. A deeper and more detailed treatment of the subject can be found in [9], [5], [4]. An ordinary Petri net (also called place-transition net) is a bipartite directed graph composed of places, drawn as circles, and transitions, drawn as bars. A
SimQPN—simulator for queueing Petri nets
In this section, we present SimQPN—our simulator for QPNs, that provides an alternative approach to analyze QPNs, circumventing the state space explosion problem. We take a detailed look at SimQPN's features, design and architecture. In parallel to this, we present our methodology for simulating QPN models, based on which SimQPN was developed. The methodology shows how to simulate QPN models and analyze the output data from simulation runs. We look at the methods for output data analysis
SimQPN validation and performance analysis
In this section, we analyze several different QPN models by means of SimQPN, and then validate the results with respect to correctness and accuracy. We follow the guidelines in [3], [20], [39], [24], [23] and consider models of different size and complexity, in each case, examining the simulation output under a variety of settings for the input parameters. We compare the simulation results with results obtained using other methods, i.e. analytical techniques, approximation techniques or
Summary and conclusions
This paper showed how the problem of analyzing large QPN models can be approached by exploiting discrete event simulation for model analysis. We presented SimQPN—our simulation tool for QPNs, and discussed its features, design and architecture. In parallel to this, we presented our methodology for simulating QPN models, based on which SimQPN was developed. The methods for output data analysis used in SimQPN were presented and the specifics of their implementation were discussed. It was shown
Ongoing and future work
We are currently developing a Java-based Graphical User Interface Environment (GUI) for modeling with queueing Petri nets. This will provide a graphical frontend to SimQPN and make model development and analysis more user-friendly. Furthermore, we are planning to add the following features:
- •
Support for timed transitions and immediate queueing places.
- •
Support for load-dependent service demands.
- •
Support for deterministic distributions.
- •
Support for more scheduling strategies.
- •
Support for hierarchical
Acknowledgments
We gratefully acknowledge the many fruitful discussions with Dr. Falko Bause from the University of Dortmund. We also would like to thank the anonymous reviewers for their valuable comments and suggestions which helped to improve the quality of the paper.
References (45)
Theory and methodology: verification and validation of simulation models
Eur. J. Oper. Res.
(1995)- et al.
Coverage of confidence intervals in sequential steady-state simulation
J. Simul. Pract. Theory
(1998) - et al.
To batch or not to batch
ACM Trans Model. Comput. Simul.
(2004) - et al.
Output data analysis for simulations
Validation, verification and testing techniques throughout the life cycle of a simulation study
Ann. Oper. Res.
(1994)- F. Bause, “QN+PN=QPN”—combining queueing networks and petri nets, Technical Report no. 461, Dept. of CS, University of...
Queueing Petri nets—a formalism for the combined qualitative and quantitative analysis of systems
- et al.
Hierarchically combined queueing Petri nets
- F. Bause, P. Buchholz, P. Kemper, QPN-tool for the specification and analysis of hierarchically combined queueing Petri...
- et al.
Integrating software and hardware performance models using hierarchical queueing Petri nets
Stochastic Petri Nets—An Introduction to the Theory
Batch size selection for the batch means method
Conservation equations and variance reduction in queueing simulations
Oper. Res.
Efficient discrete-event simulation of colored Petri nets
IEEE Trans. Software Eng.
Simulation run length control in the presence of an initial transient
Oper. Res.
Introduction to Mathematical Statistics
Performance modeling and evaluation of large-scale J2EE applications
Cited by (70)
TIMSPAT – Reachability graph search-based optimization tool for colored Petri net-based scheduling
2016, Computers and Industrial EngineeringCitation Excerpt :MARIA (Makela, 2000) is a RG analyzer for high level algebraic system nets. Tools like PNetLab (Basile, Carbone, & Chiacchio, 2007) and SimQPN (Kounev & Buchmann, 2006) have been employed for the control and scheduling of manufacturing systems, and queueing systems respectively. GPenSIM (Davidrajuh, 2015; Davidrajuh & Lin, 2011) and PN Toolbox (Julvez, Matcovschi, & Pastravanu, 2014) are embedded into third-party commercial software packages like MATLAB.
Enabling Fluid Analysis for Queueing Petri Nets via Model Transformation
2016, Electronic Notes in Theoretical Computer ScienceA Simulation-Based Optimization Framework for Online Adaptation of Networks
2021, Lecture Notes of the Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering, LNICSTModel-based performance predictions for SDN-based networks: A case study
2020, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)Integrating statistical response time models in architectural performance models
2019, Proceedings - 2019 IEEE International Conference on Software Architecture, ICSA 2019Performance analysis of the internet-protocol multimedia-subsystem's control layer using a detailed queueing Petri-net model
2019, International Journal of Communication Systems
This work was partially funded by BEA Systems, Inc., as part of the project “Performance modeling and evaluation of large-scale J2EE applications” and the Deutsche Forschungsgemeinschaft (DFG) as part of the PhD program “Enabling technologies for E-commerce” at Darmstadt University of Technology.