ABSTRACT
Using modelling to predict the performance characteristics of software applications typically uses Queueing Network Models representing the various system hardware resources. Leaving out the software resources, such as the limited number of threads, in such models leads to a reduced prediction accuracy. Accounting for Software Contention is a challenging task as existing techniques to model software components are complex and require deep knowledge of the software architecture. Furthermore, they also require complex measurement processes to obtain the model's service demands. In addition, solving the resultant model usually require simulation solvers which are often time consuming.
In this work, we aim to provide a simpler model for three-tier web software systems which accounts for Software Contention that can be solved by time efficient analytical solvers. We achieve this by expanding the existing "Two-Level Iterative Queuing Modelling of Software Contention" method to handle the number of threads at the Application Server tier and the number of Data Sources at the Database Server tier. This is done in a generic manner to allow for extending the solution to other software components like memory and critical sections. Initial results show that our technique clearly outperforms existing techniques.
- L. Grinshpan. Solving Enterprise Applications Performance Puzzles, pages 5--57. John Wiley and Sons, Inc., Hoboken, New Jersey, 2012. Google ScholarDigital Library
- S. Kounev and A. P. Buchmann. Performance modeling and evaluation of large-scale j2ee applications. In Int. CMG Conference, pages 273--283, 2003.Google Scholar
- J.A. Rolia and K.C. Sevcik. The method of layers. Software Engineering, IEEE Transactions on, 21(8):689--700, 1995. Google ScholarDigital Library
- M. Bertoli, G. Casale, and G. Serazzi. Jmt - performance engineering tools for system modeling. ACM SIGMETRICS Performance Evaluation Review, 36(4):10--15, March 2009. Google ScholarDigital Library
- Samuel Kounev. J2ee performance and scalability-from measuring to predicting. In Spec Benchmark Workshop, page 12, 2006.Google Scholar
- CU Smith. Performance Engineering of Software Systems. Addison-Wesley, 1990.Google ScholarDigital Library
- D. Menasce. Two-level iterative queuing modeling of software contention. In Modeling, Analysis and Simulation of Computer and Telecommunications Systems, 2002. MASCOTS 2002. Proceedings. 10th IEEE International Symposium on, pages 267--276, 2002. Google ScholarDigital Library
- S. Ghaith, M. Wang, P. Perry, and J. Murphy. Automatic, load-independent detection of performance regressions by transaction profiles. In Proceedings of the 2013 International Workshop on Joining AcadeMiA and Industry Contributions to testing Automation, JAMAICA 2013, pages 59--64, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- S. Ghaith, M. Wang, P. Perry, and J. Murphy. Profile-based, load-independent anomaly detection and analysis in performance regression testing of software systems. In 17th European Conference on Software Maintenance and Reengineering (CSMR), Genova, Italy, 2013. Google ScholarDigital Library
- Xue Liu, J. Heo, and Lui Sha. Modeling 3-tiered web applications. In Modeling, Analysis, and Simulation of Computer and Telecommunication Systems, 2005. 13th IEEE International Symposium on, pages 307--310, 2005. Google ScholarDigital Library
- G. Bolch, S. Greiner, H. de Meer, and K.S. Trivedi. Queueing Networks and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications. Wiley, 2006. Google ScholarDigital Library
- F. Baskett, K.M. Chandy, R.R. Muntz, and F.G. Palacios. Open, closed, and mixed networks of queues with different classes of customers. Journal of the ACM, 22(2), pages 248--260, 1975. Google ScholarDigital Library
Index Terms
- Software contention aware queueing network model of three-tier web systems
Recommendations
A comprehensive strategy for contention management in software transactional memory
PPoPP '09: Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programmingIn Software Transactional Memory (STM), contention management refers to the mechanisms used to ensure forward progress--to avoid livelock and starvation, and to promote throughput and fairness. Unfortunately, most past approaches to contention ...
Performance issues in database systems
The performance of transaction processing systems is affected by contention for hardware as well as software resources (data objects). Software contention becomes prominent in database systems because concurrency control mechanism, which is used to ...
A comprehensive strategy for contention management in software transactional memory
PPoPP '09In Software Transactional Memory (STM), contention management refers to the mechanisms used to ensure forward progress--to avoid livelock and starvation, and to promote throughput and fairness. Unfortunately, most past approaches to contention ...
Comments