Postgraduate Research Seminar Series

Autonomic Computer Systems Performance Management

Nihar Trivedi
Phd Candidate, Middleware Group
Supervisor: Alan Fekete

Friday 8 September 2006, 2-2.30 pm NOTE: Different day and time

School of IT Building, Board Room 124, Level 1

Abstract

In a dynamic and global economic environment enterprises are required to be adaptive and regularly evaluate their business processes and models. An enterprise requires a flexible IT environment to meet evolving business requirements. Due to these requirements the next generation software applications are aiming to implement adaptive service oriented architectures. In such an environment the services invoked by an application or workload profiles can dynamically change; impacting performance QoS characteristics of an application. This implies that the reliable run-time performance prediction of a software application is one of the key issues in the emerging technological landscape.

Several performance model based performance prediction techniques have been developed that utilise techniques ranging from queuing theory, Bayesian Networks, Control Theory, combinatorial optimisation, etc. These techniques are applied to build, solve or optimise performance model parameters. The performance model requires regular adjustments at run-time to cater for changes in an applications operating environment. The most current research in the area of adaptive performance management via control loop targets webserver performance optimisation [53, 59, 60]. Hellerstein and colleagues have been working on Lotus Notes mail server or Apache web-server performance optimisation [43-47, 54] by implementing an autonomic control loop.

Our research focus is narrowed to J2EE compliant EJB based applications performance prediction at run-time.

The webserver scenarios are rather simple which generally serves web content (static or dynamic with largely light weight logic) and is designed to handle stateless interaction with the Internet. Similarly, a mail-server is also stateless in nature. However, an EJB container is designed to handle stateful and stateless interactions with various types of client interaction technology (in theory). The container has a considerable amount of plumbing infrastructure for concurrency, transaction management, resource management, cache, stateful and stateless object pooling, component lifecycle management and internal representation of complex resources that heavily impact an EJB application performance. This EJB container behaviour can be tuned by control parameters it exposes. The EJB application developers cannot tune the internal state representations as the EJB container abstracts them. Hence we require a performance modelling technique that is able to track the internal state dynamically at run-time. This is the main objective of our research.