SPECTS 2007 START Conference Manager    

Modeling the Performance of Communication Framework Design Patterns Using Queuing Theory

Shruti Gorappa and Raymond Klefstad

International Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS 2007)
San Diego, California (USA), July 16-18, 2007


Design patterns have been successfully used to build high-performance distributed system frameworks for use in areas such as servers and control systems. There are several ways to implement a distributed application and the choice of the design pattern can make a difference in 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.

The performance demands of software frameworks can vary widely in terms of response time, throughput, and scalability depending on the domain. Frameworks also need to comply with platform restrictions such as I/O mechanisms, processors, and runtime memory. Currently, there is no general way to quantify the performance of design pattern implementations across various dimensions such as throughput, response time, and scalability. 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 three contributions. (i) We present analytical models for two communication design patterns: the Reactor pattern and the Leader-Follower pattern. (ii) We apply the models to each pattern and generate performance predictions from the models in the dimensions of throughput and latency. (iii) We compare the predictions of our models with experimental results and show that the models are good indicators of actual performance.

START Conference Manager (V2.54.3)
Maintainer: sbranch@scs.org