Architecture-Level Software Performance Models for Online Performance Prediction

نویسنده

  • Fabian Brosig
چکیده

Modern enterprise systems often have distributed application architectures composed of many independent services running in a heterogeneous environment (Papazoglou et al., 2007). In such systems, applications are customized and new services are composed and deployed on-the-fly subjecting the system resources to varying workloads. Moreover, existing services, given their loosely-coupled nature, can evolve independently of one another. Managing system resources in such environments to ensure acceptable end-to-end performance and availability, while at the same time optimizing resource utilization, is a challenge (Armbrust et al., 2009; Brooks, 2011). Service providers are often faced with questions such as: What would be the performance of a given service if the workload continues to evolve as currently observed? What performance would a new service deployed on the infrastructure exhibit and how much resources should be allocated to it? How should the workloads of the running services be partitioned among the available resources such that performance objectives are met and resources are utilized e ciently? Answering such questions requires the ability to predict at run-time, i.e., during system operation, how the performance of running services would be a↵ected if the workload or the system configuration changes. We refer to this as online performance prediction. Existing approaches to online performance prediction (e.g., Nou et al. (2009); Li et al. (2009); Jung et al. (2010)) are based on predictive stochastic performance models such as (layered) Queueing Networks or Queueing Petri Nets. Such models normally abstract the system at the resource level without explicitly taking into account the software architecture. Services are typically modeled as black boxes, i.e., the control flow and the dependencies between software components are neglected. Detailed models that explicitly capture the software architecture and configuration exist in the literature (e.g., Becker et al. (2009); Grassi et al. (2007); Bertolino and Mirandola (2004)). They are typically software architecture models annotated with descriptions of the system’s performance-relevant behavior. Such models, often referred to as architecture-level performance models, are intended to evaluate alternative system designs at design-time and/or predict the system performance for capacity planning purposes. However, there are fundamental di↵erences between o✏ine and online scenarios for performance prediction. This leads to di↵erent requirements on the underlying performance abstractions of the system architecture and the respective performance prediction techniques suitable for use at design-time versus run-time. To realize proactive performance and resource management, overload situations should be anticipated and suitable reconfiguration actions must be found and triggered before Service Level Agreements (SLAs) are violated. In this context, there are situations where performance prediction results need to be available very fast to adapt the system before performance issues arise, as well as situations where a fine-grained prediction is needed to find an e cient system configuration. In this thesis, we develop novel architecturelevel performance model abstractions for component-based software systems specifically designed for online use. We provide modeling and prediction facilities that enable online performance prediction during system operation. Performance questions can be answered

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Online Performance Prediction with Architecture-Level Performance Models

Today’s enterprise systems based on increasingly complex software architectures often exhibit poor performance and resource efficiency thus having high operating costs. This is due to the inability to predict at run-time the effect of changes in the system environment and adapt the system accordingly. We propose a new performance modeling approach that allows the prediction of performance and s...

متن کامل

Architecture-level software performance abstractions for online performance prediction

Modern service-oriented enterprise systems have increasingly complex and dynamic loosely-coupled architectures that often exhibit poor performance and resource efficiency and have high operating costs. This is due to the inability to predict at run-time the effect of workload changes on performance-relevant application-level dependencies and adapt the system configuration accordingly. Architect...

متن کامل

The Descartes Modeling Language for Self-Aware Performance and Resource Management

The Descartes Modeling Language (DML) is a novel architecture-level language for modeling performance and resource management related aspects of modern dynamic software systems and IT infrastructures. Technically, DML is comprised of several sub-languages, each of them specified using OMG’s Meta-Object Facility (MOF) and referred to as meta-model in OMG’s terminology. The various sublanguages c...

متن کامل

Recurrent neural networks based Indic word-wise script identification using character-wise training

This paper presents a novel methodology of Indic handwritten script recognition using Recurrent Neural Networks and addresses the problem of script recognition in poor data scenarios, such as when only character level online data is available. It is based on the hypothesis that curves of online character data comprise sufficient information for prediction at the word level. Online character dat...

متن کامل

Reconstruction of software component architectures and behaviour models using static and dynamic analysis

Model-Based Performance Prediction (MBPP, [BDIS04a]) is a software engineering discipline which systematically deals with the evaluation of software performance. MBPP’s central idea is to predict the performance of a software system based on performance models. MBPP can be applied at design-time to avoid bottlenecks when designing a software architecture but also for existing software systems. ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014