SimQPN—A tool and methodology for analyzing queueing Petri net models by means of simulation

https://doi.org/10.1016/j.peva.2005.03.004Get rights and content

Abstract

The queueing Petri net (QPN) paradigm provides a number of benefits over conventional modeling paradigms such as queueing networks and generalized stochastic Petri nets. Using queueing Petri nets (QPNs), one can integrate both hardware and software aspects of system behavior into the same model. This lends itself very well to modeling distributed component-based systems, such as modern e-business applications. However, currently available tools and techniques for QPN analysis suffer the state space explosion problem, imposing a limit on the size of the models that are tractable. In this paper, we present SimQPN—a simulation tool for QPNs that provides an alternative approach to analyze QPN models, circumventing the state space explosion problem. In doing this, we propose a methodology for analyzing QPN models by means of discrete event simulation. The methodology shows how to simulate QPN models and analyze the output data from simulation runs. We validate our approach by applying it to study several different QPN models, ranging from simple models to models of realistic systems. The performance of point and interval estimators implemented in SimQPN is subjected to a rigorous experimental analysis.

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)

  • J.P.C. Kleijnen

    Theory and methodology: verification and validation of simulation models

    Eur. J. Oper. Res.

    (1995)
  • K. Pawlikowski et al.

    Coverage of confidence intervals in sequential steady-state simulation

    J. Simul. Pract. Theory

    (1998)
  • C. Alexopoulos et al.

    To batch or not to batch

    ACM Trans Model. Comput. Simul.

    (2004)
  • C. Alexopoulos et al.

    Output data analysis for simulations

  • O. Balci

    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...
  • F. Bause

    Queueing Petri nets—a formalism for the combined qualitative and quantitative analysis of systems

  • F. Bause 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...
  • F. Bause et al.

    Integrating software and hardware performance models using hierarchical queueing Petri nets

  • F. Bause et al.

    Stochastic Petri Nets—An Introduction to the Theory

    (2002)
  • G. Bolch, M. Kirschnick, PEPSY-QNS, Technical Report TR-I4-94-18, University of Erlangen-Nuremberg, Germany, June 1994....
  • C. Chien

    Batch size selection for the batch means method

  • J.S. Carson et al.

    Conservation equations and variance reduction in queueing simulations

    Oper. Res.

    (1980)
  • North Carolina State University Department of Industrial Engineering, ASAP3 Software For Steady-State Simulation Output...
  • CERN-European Organisation for Nuclear Research, The Colt Distribution,...
  • R. Gaeta

    Efficient discrete-event simulation of colored Petri nets

    IEEE Trans. Software Eng.

    (1996)
  • P. Heidelberger et al.

    Simulation run length control in the presence of an initial transient

    Oper. Res.

    (1983)
  • R.V. Hogg et al.

    Introduction to Mathematical Statistics

    (1995)
  • K. Jensen, Coloured Petri Nets and the Invariant Method, Mathematical Foundations on Computer Science, Lecture Notes in...
  • S. Kounev et al.

    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 Engineering
      Citation 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 Science
    • A Simulation-Based Optimization Framework for Online Adaptation of Networks

      2021, Lecture Notes of the Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering, LNICST
    • Model-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 2019
    View all citing articles on Scopus

    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.

    View full text