Pattern languages of program design
Half-sync/half-async: an architectural pattern for efficient and well-structured concurrent I/O
Pattern languages of program design 2
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
Evaluating the Scalability of Distributed Systems
IEEE Transactions on Parallel and Distributed Systems
Developing flexible and high-performance Web servers with frameworks and patterns
ACM Computing Surveys (CSUR)
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
A Multilayer Client-Server Queueing Network Model with Synchronous and Asynchronous Messages
IEEE Transactions on Software Engineering
Performance Analysis of the CORBA Event Service Using Stochastic Reward Nets
SRDS '00 Proceedings of the 19th IEEE Symposium on Reliable Distributed Systems
The ACE Programmer's Guide: Practical Design Patterns for Network and Systems Programming
The ACE Programmer's Guide: Practical Design Patterns for Network and Systems Programming
Performance analysis of distributed server systems
Performance analysis of distributed server systems
Analysis of the Message Waiting Time for the FioranoMQ JMS Server
ICDCS '06 Proceedings of the 26th IEEE International Conference on Distributed Computing Systems
Performance and Availability Analysis of an E-Commerce Site
COMPSAC '06 Proceedings of the 30th Annual International Computer Software and Applications Conference - Volume 01
Performance evaluation of the reactor pattern using the OMNeT++ simulator
Proceedings of the 44th annual Southeast regional conference
Probability and Random Processes For EE's (3rd Edition)
Probability and Random Processes For EE's (3rd Edition)
Optimal robust fault detection for linear discrete time systems
Journal of Control Science and Engineering - Robustness Issues in Fault Diagnosis and Fault Tolerant Control
Proceedings of the ACM/IFIP/USENIX 2007 International Conference on Middleware
Model-driven generative techniques for scalable performabality analysis of distributed systems
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Hi-index | 0.00 |
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.