This Article 
 Bibliographic References 
 Add to: 
Performance Modeling and Evaluation of Distributed Component-Based Systems Using Queueing Petri Nets
July 2006 (vol. 32 no. 7)
pp. 486-502
Samuel Kounev, IEEE Computer Society
Performance models are used increasingly throughout the phases of the software engineering lifecycle of distributed component-based systems. However, as systems grow in size and complexity, building models that accurately capture the different aspects of their behavior becomes a more and more challenging task. In this paper, we present a novel case study of a realistic distributed component-based system, showing how Queueing Petri Net models can be exploited as a powerful performance prediction tool in the software engineering process. A detailed system model is built in a step-by-step fashion, validated, and then used to evaluate the system performance and scalability. Along with the case study, a practical performance modeling methodology is presented which helps to construct models that accurately reflect the system performance and scalability characteristics. Taking advantage of the modeling power and expressiveness of Queueing Petri Nets, our approach makes it possible to model the system at a higher degree of accuracy, providing a number of important benefits.

[1] C. Smith, “Performance Engineering,” Encyclopedia of Software Eng., J.J. Maciniak, ed., pp. 794-810, John Wiley & Sons, 1994.
[2] D. Menascé, V. Almeida, and L. Dowdy, Performance by Design. Prentice Hall, 2004.
[3] S. Kounev and A. Buchmann, “Performance Modeling and Evaluation of Large-Scale J2EE Applications,” Proc. 29th Int'l Computer Measurement Groupt (CMG) Conf., 2003.
[4] S. Kounev and A. Buchmann, “Performance Modelling of Distributed E-Business Applications Using Queueing Petri Nets,” Proc. 2003 IEEE Int'l Symp. Performance Analysis of Systems and Software, 2003.
[5] S. Kounev and A. Buchmann, “SimQPN— A Tool and Methodology for Analyzing Queueing Petri Net Models by Means of Simulation,” Performance Evaluation, vol. 63, nos. 4-5, pp. 364-394, May 2006, doi:10.1016/j.peva.2005.03.004.
[6] D. Menascé, V. Almeida, and L. Dowdy, Capacity Planning and Performance Modeling— From Mainframes to Client-Server Systems. Englewood Cliffs, N.J.: Prentice Hall, 1994.
[7] D. Menascé, V. Almeida, R. Fonseca, and M. Mendes, “A Methodology for Workload Characterization of E-Commerce Sites,” Proc. First ACM Conf. Electronic Commerce, pp. 119-128, Nov. 1999.
[8] D. Menascé and V. Almeida, Capacity Planning for Web Performance: Metrics, Models and Methods. Upper Saddle River, N.J.: Prentice Hall, 1998.
[9] D. Menascé and V. Almeida, Scaling for E-Business— Technologies, Models, Performance and Capacity Planning. Upper Saddle River, N.J.: Prentice Hall, 2000.
[10] C. Smith and L. Williams, Performance Solutions— A Practical Guide to Creating Responsive, Scalable Software. Addison-Wesley, 2002.
[11] L. Williams and C. Smith, “PASA: An Architectural Approach to Fixing Software Problems,” Proc. 28th Computer Measurement Group (CMG) Conf., 2002, http://www.perfeng.compasa.htm.
[12] L. Williams and C. Smith, “Performance and Scalability of Distributed Software Architectures: An SPE Approach,” Parallel and Distributed Computing Practices, 2002.
[13] M. Woodside, Tutorial Introduction to Layered Modeling of Software Performance, third ed., May 2002, tutorialf.pdf.
[14] J. Xu, A. Oufimtsev, M. Woodside, and L. Murphy, “Performance Modeling and Prediction of Enterprise JavaBeans with Layered Queueing Network Templates,” Proc. Workshop Specification and Verification of Component-Based Systems (at ESEC/FSE 05), 2005.
[15] P. Maly and C. Woodside, “Layered Modeling of Hardware and Software, with Application to a LAN Extension Router,” Proc. 11th Int'l Conf. Computer Performance Evaluation Techniques and Tools (TOOLS), 2000.
[16] C. Woodside, C. Hrischuk, B. Selic, and S. Bayarov, “Automated Performance Modeling of Software Generated by a Design Environment,” Performance Evaluation, vol. 45, pp. 107-123, 2001.
[17] M. Woodside, J. Neilson, D. Petriu, and S. Majumdar, “The Stochastic Rendezvous Network Model for Performance of Synchronous Client-Server-Like Distributed Software,” IEEE Trans. Computers, vol. 44, no. 1, pp. 20-34, Jan. 1995.
[18] F. Bause and F. Kritzinger, Stochastic Petri Nets— An Introduction to the Theory, second ed. Vieweg Verlag, 2002.
[19] F. Bause, “`QN + PN = QPN'— Combining Queueing Networks and Petri Nets,” Technical Report No. 461, Dept. of Computer Science, Univ. of Dortmund, Germany, 1993.
[20] S. Kounev, “SPECjAppServer2004— The New Way to Evaluate J2EE Performance,” DEV2DEV Article, O'Reilly Publishing Group, 2005, AppServer2004.html .
[21] L. Su, K. Chow, K. Shiv, and A. Jha, “A Comparison of SPECjAppServer2002 and SPECjAppServer2004,” Proc. Eighth Workshop Computer Architecture Evaluation Using Commercial Workloads (CAECW-8), 2005.
[22] F. Bause, “Queueing Petri Nets— A Formalism for the Combined Qualitative and Quantitative Analysis of Systems,” Proc. Fifth Int'l Workshop Petri Nets and Performance Models, 1993.
[23] F. Bause, P. Buchholz, and P. Kemper, “Integrating Software and Hardware Performance Models Using Hierarchical Queueing Petri Nets,” Proc. Ninth ITG/GI— Fachtagung Messung, Modellierung und Bewertung von Rechen— und Kommunikationssystemen, (MMB '97), 1997.
[24] M. Calzarossa and G. Serazzi, “Workload Characterization: A Survey,” Proc. IEEE, vol. 81, no. 8, pp. 1136-1150, 1993.
[25] J. Mohr and S. Penansky, “A Forecasting Oriented Workload Characterization Methodology,” CMG Trans., vol. 36, June 1982.
[26] G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Modeling Language User Guide. Addison-Wesley, 1999.
[27] C. Rose, “A Measurement Procedure for Queueing Network Models of Computer Systems,” ACM Computing Surveys, vol. 10, no. 3, 1978.
[28] D. Menascé and H. Gomaa, “A Method for Design and Performance Modeling of Client/Server Systems,” IEEE Trans. Software Eng., vol. 26, no. 11, Nov. 2000.
[29] J. Flowers and L. Dowdy, “A Comparison of Calibration Techniques for Queueing Network Models,” Proc. 1989 Int'l Computer Measurement Group (CMG) Conf., pp. 644-655, 1989.
[30] Standard Performance Evaluation Corp. (SPEC), “SPECjAppServer2004 Documentation,” SPEC, Apr. 2004, http://www.spec. orgjAppServer2004/.
[31] K. Jensen, Coloured Petri Nets and the Invariant Method, pp. 327-338. Math. Foundations on Computer Science, 1981.

Index Terms:
Performance modeling and prediction, software verification, performance evaluation, distributed systems.
Samuel Kounev, "Performance Modeling and Evaluation of Distributed Component-Based Systems Using Queueing Petri Nets," IEEE Transactions on Software Engineering, vol. 32, no. 7, pp. 486-502, July 2006, doi:10.1109/TSE.2006.69
Usage of this product signifies your acceptance of the Terms of Use.