Abstract:Enterprise data fabrics are gaining increasing attention in many industry domains including financial services, telecommunications, transportation and health care. Providing a distributed, operational data platform sitting between application infrastructures and back-end data sources, enterprise data fabrics are designed for high performance and scalability. However, given the dynamics of modern applications, system sizing and capacity planning need to be done continuously during operation to ensure adequate q… Show more
“…We use Queueing Petri Nets since they are a generalpurpose modeling formalism that has been shown to lend itself well to modeling and analyzing the performance of distributed systems [26], [27], [28], [29]. As a combination of Queueing Networks and Colored Generalized Stochastic Petri Nets (CGSPNs), QPNs can easily model hardware contention and scheduling strategies as well as software contention, simultaneous resource possession, synchronization, blocking, and asynchronous processing.…”
Abstract-During the last decade, researchers have proposed a number of model transformations enabling performance predictions. These transformations map performance-annotated software architecture models into stochastic models solved by means of analytical or numerical analysis or by system simulation. However, so far, a detailed quantitative evaluation of the accuracy and efficiency of different transformations is missing, making it hard to select an adequate transformation for a given context. This paper provides an in-depth comparison and quantitative evaluation of representative model transformations to, e.g., Queueing Petri Nets and Layered Queueing Networks. The semantic gaps between typical source model abstractions and the different analysis techniques are revealed. The accuracy and efficiency of each transformation are evaluated by considering four case studies representing systems of different size and complexity. The presented results and insights gained from the evaluation help software architects and performance engineers to select the appropriate transformation for a given context, thus significantly improving the usability of model transformations for performance prediction.
“…We use Queueing Petri Nets since they are a generalpurpose modeling formalism that has been shown to lend itself well to modeling and analyzing the performance of distributed systems [26], [27], [28], [29]. As a combination of Queueing Networks and Colored Generalized Stochastic Petri Nets (CGSPNs), QPNs can easily model hardware contention and scheduling strategies as well as software contention, simultaneous resource possession, synchronization, blocking, and asynchronous processing.…”
Abstract-During the last decade, researchers have proposed a number of model transformations enabling performance predictions. These transformations map performance-annotated software architecture models into stochastic models solved by means of analytical or numerical analysis or by system simulation. However, so far, a detailed quantitative evaluation of the accuracy and efficiency of different transformations is missing, making it hard to select an adequate transformation for a given context. This paper provides an in-depth comparison and quantitative evaluation of representative model transformations to, e.g., Queueing Petri Nets and Layered Queueing Networks. The semantic gaps between typical source model abstractions and the different analysis techniques are revealed. The accuracy and efficiency of each transformation are evaluated by considering four case studies representing systems of different size and complexity. The presented results and insights gained from the evaluation help software architects and performance engineers to select the appropriate transformation for a given context, thus significantly improving the usability of model transformations for performance prediction.
“…Previous research conducted by Kounev et al examined the automatic construction of performance models in a different context [12]. Their work presents an approach to automatically extract the performance model of an Enterprise Data Fabric (EDF) in the form of a Queueing Petri Net (QPN) [4].…”
Stochastic performance models are widely used to analyse systems that involve the flow and processing of customers and resources. However, model formulation and parameterisation are traditionally manual and thus expensive, intrusive and error-prone. Our earlier work has demonstrated the feasibility of automated performance model construction from location tracking data. In particular, we presented a methodology based on a four-stage data processing pipeline, which automatically constructs Generalised Stochastic Petri Net (GSPN) performance models from an input dataset of raw location tracking traces. This pipeline was enhanced with a presence-based synchronisation detection mechanism.In this paper we introduce Coloured Generalised Stochastic Petri Nets (CGSPNs) into our methodology to provide support for multiple customer classes and service cycles. Distinct token types are used to model customers of different classes, while Johnson's algorithm for enumerating elementary cycles in a directed graph is employed to detect service cycles. Coloured tokens are also used to enforce accurate customer routing after the completion of a service cycle. We evaluate these extensions and their integration into the methodology via a case study of a simplified model of an Accident and Emergency (A&E) department. The case study is based on synthetic location tracking data, generated using an extended version of the LocTrackJINQS location-aware queueing network simulator.
“…This kind of simulation-driven modeling is similar in spirit to the discrete event simulations employed by some conventional capacity planners [11,12], except that our events are tuning actions, rather than the arrival of work.…”
When resolving performance problems, a simple histogram of hot call stacks does not cut it, especially given the highly fluid nature of modern deployments. Why bother tuning, when adding a few CPUs via the management console will quickly resolve the problem? The findings of these tools are also presented without any sense of context: e.g. string conversion may be expensive, but only matters if it contributes greatly to the response time of user logins.Historically, these concerns have been the purview of capacity planning. The power of planners lies in their ability to weigh demand versus capacity, and to do so in terms of the important units of work in the application (such as user logins). Unfortunately, they rely on measurements of rates and latencies, and both quantities are difficult to obtain. Even if possible, when all is said and done, these planners only relate to the code as a black-box: but, why bother adding CPUs, when easy code changes will fix the problem?We present a way to do planning on-the-fly: with a few call stack samples taken from an already-running system, we predict the benefit of a proposed tuning plan. We accomplish this by simulating the effect of a tuning action upon execution speed and the way it shifts resource demand. To identify existing problems, we show how to generate tuning actions automatically, guided by the desire to maximize speedup without needless expense, and that these generated plans may span resource and code changes. We show that it is possible to infer everything needed from these samples alone: levels of resource demand and the units of work in the application. We evaluate our planner on a suite of microbenchmarks and a suite of 15,000 data sets that come from real applications running in the wild.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.