Architecture-Based Performance Analysis Applied to a Telecommunication System

Software architecture plays an important role in determining software quality characteristics, such as maintainability, reliability, reusability, and performance. Performance effects of architectural decisions can be evaluated at an early stage by constructing and analyzing quantitative performance models, which capture the interactions between the main components of the system as well as the performance attributes of the components themselves. The paper proposes a systematic approach to building layered queueing network (LQN) performance models from a UML description of the high-level architecture of a system and more exactly from the architectural patterns used for the system. The performance model structure retains a clear relationship with the system architecture, which simplifies the task of converting performance analysis results into conclusions and recommendations related to the software architecture. The proposed approach is applied to a telecommunication product for which an LQN model is built and analyzed. The analysis shows how the performance bottleneck is moving from component to component (hardware or software) under different loads and configurations and exposes some weaknesses in the original software architecture, which prevent the system from using the available processing power at full capacity due to excessive serialization.

[1]  Mary Shaw,et al.  Some patterns for software architectures , 1996 .

[2]  C. Murray Woodside,et al.  Performance of multi-level client-server systems with parallel service operations , 1998, WOSP '98.

[3]  Jerome A. Rolia,et al.  The Method of Layers , 1995, IEEE Trans. Software Eng..

[4]  David Garlan,et al.  Architecture-Based Performance Analysis , 1998 .

[5]  Jerome A. Rolia,et al.  A Toolset for Performance Engineering and Software Design of Client-Server Systems , 1995, Perform. Evaluation.

[6]  Connie U. Smith,et al.  Performance Engineering of Software Systems , 1990, SIGMETRICS Perform. Evaluation Rev..

[7]  Jerome A. Rolia,et al.  Measurement Tools and Modeling Techniques for Evaluating Web Server Performance , 1997, Computer Performance Evaluation.

[8]  Shikharesh Majumdar,et al.  Software Bootlenecking in Client-Server Systems and Rendezvous Networks , 1995, IEEE Trans. Software Eng..

[9]  Xin Wang,et al.  From UML Descriptions of High-Level Software Architectures to LQN Performance Models , 1999, AGTIVE.

[10]  Xin Wang,et al.  Deriving Software Performance Models from Architectural Patterns by Graph Transformations , 1998, TAGT.

[11]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[12]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[13]  Shikharesh Majumdar,et al.  The Stochastic Rendezvous Network Model for Performance of Synchronous Client-Server-like Distributed Software , 1995, IEEE Trans. Computers.

[14]  C. Murray Woodside Throughput Calculation for Basic Stochastic Rendezvous Networks , 1989, Perform. Evaluation.

[15]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[16]  Sridhar Ramesh,et al.  A Multilayer Client-Server Queueing Network Model with Synchronous and Asynchronous Messages , 2000, IEEE Trans. Software Eng..

[17]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[18]  C. Murray Woodside,et al.  Performance analysis of distributed server systems , 2000 .

[19]  강문설 [서평]「The Unified Modeling Language User Guide」 , 1999 .

[20]  Sridhar Ramesh,et al.  A multi-layer client-server queueing network model with synchronous and asynchronous messages , 1998, WOSP '98.

[21]  Connie U. Smith,et al.  Performance evaluation of software architectures , 1998, WOSP '98.