Performance-Model-Assisted Creation and Management of Service Systems
_Principal Investigator:_
Murray Woodside, Distinguished Research Professor
Department of Systems and Computer Engineering, Carleton University
Background: Modern computer systems are often structured in a service architecture. Performance is partly a matter of design and partly of configuration and operation of the service. These problems need to be addressed together, as design must accommodate flexible operation, and operation gives insight into design improvements. This project will apply layered performance models to both problems, based on long-standing research on the use of models across the life cycle. The Virtualization part addresses configuration and operation, with three goals, and the Model-Driven Engineering (MDE) part addresses design and assembly, with three goals.
Objectives related to Virtualization: Model-based decisions for service configurations, as in autonomic control. In this context performance models capture the accumulated knowledge about the software and its workload.
- Improve the estimator to track the performance model from operating data. We have successfully used a tracking estimator for layered models, and applied it to simple autonomic decision making. This goal is to make it more effective, by automated model simplification, better adaptation of filter coefficients, estimation of the more system attributes (e.g. interactions between components, size of database requests), and additional types of measurements. A few service operations might be more fully instrumented, using existing Tivoli monitoring tools.
- Optimization techniques applied to configurations, both at run-time and to plan deployment. The goals of optimization include QoS? guarantees and isolation from competing applications in shared-resource environments. Find algorithms (e.g. LP, integer programming heuristics) with the right combination of optimality and speed, for each context. Compare the effectiveness of direct search with policy rules, and whether search results can provide policy rules.
- Exploration of optimization of deployments. It has proven challenging to define meaningful and tractable utility functions to express the goals of optimization, and also to collect together the configuration parameters that may be included in the optimal decision.
Objectives related to Model-Driven Engineering: A performance environment for MDE, with procedures and tools for composition of (performance) properties in composed systems. It will also have links to composition of other properties. Based on separation of concerns the performance contribution of the software platform and underlying hardware will be described in a reusable (parameterized) form that can be composed with the platform-independent model (PIM) of the application.
- Performance attributes of applications composed with platforms, the core concept of MDE. A methodology for creating a model for platform elements, calibrated from test executions.
- Adaptation of the recently developed model-estimation filter to calibration of models of platforms and components. It may be applied to operational data or to lab tests. The test environment requires different estimators, and provides an opportunity to design the test workload.
- An MDE designer assistant (software based on analyzing performance results) to feed back design-level advice, derived by applying performance engineering rules to performance observations and model results. This will create a feedback loop from performance to design.
Potential benefit to Ontario: Computer-based service systems are the heart of the modern enterprise, both for its internal communications and for its interface to the public. Planned and managed performance is increasingly essential; performance disasters are a serious threat. The cooperating companies will have access to technology which has already shown its capability for purposes of system management (autonomic control).
_Other Projects_
Automated Management of Virtual Database Appliances
Fine-grained Resource Management and Problem Detection in Dynamic Content Servers
Semantically Configurable Modelling Notations and Tools
Model Management for Continuously Evolving Systems
Modeling, Evolution, and Automated Configuration of Software Services
Elaborating and Evaluating UML’s 3-Layer Semantics Architecture
Intelligent Autonomic Computing for Computational Biology
Performance Management of IT Infrastructure