skip to main content
10.1145/1377934.1377938acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmiddlewareConference Proceedingsconference-collections
research-article

Performance prediction of component- and pattern-based middleware for distributed systems

Published:01 November 2007Publication History

ABSTRACT

Design patterns, components, and frameworks have been successfully used to build various distributed real-time, and embedded (DRE) systems such as high-performance servers, telecommunication systems, and control systems. An application developer may choose from several approaches to implement a distributed application and the choice of design patterns and their configuration can impact the overall performance of the system. Unlike components, design patterns are often descriptions of a programming approach and need to be reified for each application. However, some core pattern implementations can often be reused across applications, if they can be correctly configured to meet application requirements. Currently, there is no general way to quantify the performance of components and design pattern implementations across various dimensions such as throughput, response time, and scalability. The overall performance of applications that are composed from pre-coded components and patterns can be inferred using analytical techniques by modeling the behavior of the individual components. In particular, while we know from experience that patterns exhibit various tradeoffs in terms of performance and complexity; we would like to explore these tradeoffs in a formal way. Toward this goal, we make the following contributions in this thesis: 1) we develop analytical models for various design patterns using queuing models, 2) we present a technique to analyze the performance of combinations of design patterns as observed in real-world applications, and 3) we validate the models using empirical measurements.

References

  1. A. Bogárdi-Mészöly, T. Levendovszky, and H. C. (Hungary). Using queueing model in predicting the response time of asp.net web applications. In The IASTED Conference on Software Engineering, February 2006.Google ScholarGoogle Scholar
  2. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-Oriented Software Architecture---A System of Patterns. Wiley & Sons, New York, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Center for Distributed Object Computing. The ZEN ORB. www.zen.uci.edu, University of California at Irvine.Google ScholarGoogle Scholar
  4. R. G. Franks. The Layered Queueing Network Tutorial.Google ScholarGoogle Scholar
  5. R. G. Franks. Performance Analysis of Distributed Server Systems. PhD thesis, Carleton University, Ottawa, Ontario, Canada, December 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. T. Gensler and C. Zeidler. Rule-driven component composition for embedded systems. In 4th ICSE Workshop on Component-Based Software Engineering: Component Certification and System Prediction, 2004.Google ScholarGoogle Scholar
  7. S. S. Gokhale and J. Lu. Performance and availability analysis of an e-commerce site. In COMPSAC (1), pages 495--502, 2006. Google ScholarGoogle Scholar
  8. S. Gorappa and R. Klefstad. Modeling the performance of communication framework design patterns using queuing theory. In Proceedings of the 10th International Symposium on Performance Evaluation of Computer and Telecommunication Systems, July 2007.Google ScholarGoogle Scholar
  9. J. Hu, S. Gorappa, J. A. Colmenares, and R. Klefstad. Compadres: A Lightweight Real-time Java Component Middleware Framework for Composing Distributed, Real-time, Embedded Systems. In Middleware, November 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. D. Huston, J. C. E. Johnson, and U. Syyid. The ACE Programmer's Guide: Practical Design Patterns for Network and Systems Programming. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. Jain. The Art of Computer Systems Performance Analysis. John Wiley and Sons, Inc., 1991.Google ScholarGoogle Scholar
  12. P. Jogalekar and M. Woodside. Evaluating the scalability of distributed systems. IEEE Transactions on Parallel and Distributed Systems, 11(6):589--603, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Kogekar and A. Gokhale. Performance evaluation of the reactor pattern using the omnet++ simulator. In ACM-SE 44: Proceedings of the 44th annual southeast regional conference, pages 708--713, New York, NY, USA, 2006. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Kogekar, D. Kaul, A. Gokhale, P. Vandal, U. Praphamontripong, S. Gokhale, J. Zhang, Y. Lin, and J. Gray. Model-driven generative techniques for scalable performability analysis of distributed systems. In Parallel and Distributed Processing Symposium, April 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. Leon-Garcia. Probability and Random Processes For EE's (3rd Edition). Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Y. Liu and I. Gorton. Performance prediction of j2ee applications using messaging protocols. In CBSE, pages 1--16, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Menth and R. Henjes. Analysis of the message waiting time for the fioranomq jms server. icdcs, 00:1, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. Microsystems. Enterprise JavaBeans specification, v2.1.Google ScholarGoogle Scholar
  19. I. Pyarali, C. O'Ryan, D. Schmidt, N. Wang, V. Kachroo, and A. Gokhale. Applying optimization principle patterns to real-time orbs, 2000.Google ScholarGoogle Scholar
  20. S. Ramani, K. S. Trivedi, and B. Dasarathy. Performance analysis of the corba event service using stochastic reward nets. In SRDS '00: Proceedings of the 19th IEEE Symposium on Reliable Distributed Systems (SRDS'00), page 238, Washington, DC, USA, 2000. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. S. Ramesh and H. G. Perros. A multilayer client-server queueing network model with synchronous and asynchronous messages. IEEE Transactions on Software Engineering, 26(11):1086--1100, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. C. Schmidt. Reactor: an object behavioral pattern for concurrent event demultiplexing and event handler dispatching, pages 529--545. ACM Press/Addison-Wesley Publishing Co., New York, NY, USA, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. C. Schmidt and C. D. Cranor. Half-sync/half-async: an architectural pattern for efficient and well-structured concurrent i/o. In Pattern languages of program design 2, pages 437--459. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. D. C. Schmidt and et al. Leader/Followers - A Design Pattern for Efficient Multi-threaded Event Demultiplexing and Dispatching. In 7th Pattern Languages of Programs Conference, 2000.Google ScholarGoogle Scholar
  25. D. C. Schmidt and J. C. Hu. Developing flexible and high-performance Web servers with frameworks and patterns. ACM Computing Surveys, 32(1):39--39, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. D. C. Schmidt, M. Stal, H. Rohnert, and F. Buschmann. Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, Volume 2. Wiley & Sons, New York, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. R. D. van der Mei, R. Hariharan, and P. Reeser. Web server performance modeling. Telecommunication Systems, 16(3--4):361--378, 2001.Google ScholarGoogle Scholar
  28. N. Wang, D. C. Schmidt, A. Gokhale, C. D. Gill, B. Natarajan, J. P. Loyall, R. E. Schantz, and C. Rodrigues. Qos-enabled middleware (chapter 6). In Middleware for Communications. John Wiley & Sons, 2004.Google ScholarGoogle Scholar

Index Terms

  1. Performance prediction of component- and pattern-based middleware for distributed systems

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Other conferences
          MDS '07: Proceedings of the 4th on Middleware doctoral symposium
          November 2007
          48 pages
          ISBN:9781595939333
          DOI:10.1145/1377934

          Copyright © 2007 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 November 2007

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader