Browse Prior Art Database

An Autonomic Tuning Algorithm for Pooled Resources Disclosure Number: IPCOM000131069D
Original Publication Date: 2005-Nov-07
Included in the Prior Art Database: 2005-Nov-07
Document File: 5 page(s) / 103K

Publishing Venue



An autonomic, or self-tuning algorithm for managing pooled resources in a system such as a database manager. The algorithm is designed to avoid the need for user intervention in the adjustment of resource usage, and to operate well with other resource pools also using the same algorithm for self-tuning.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 29% of the total text.

Page 1 of 5

An Autonomic Tuning Algorithm for Pooled Resources

Problem Description

One of the main challenges for customers in managing a complex system such as a database server is the proper configuration of various database parameters. The proper values for each parameter is often difficult to estimate, and can only be properly tuned experimentally by running the system. With multiple system parameters to consider and tune, managing the system can become challenging and expensive. It is therefore desirable for the system to exhibit 'autonomic' properties, that is for the system to estimate and make adjustments to the parameters on the fly without user intervention. Not only does this reduce the cost of administration for the system, it may also allow the system to become more adaptive to the user's workload than would otherwise be possible as well as improve the allocation of resources on the system.

While autonomic behaviour may a desirable attribute of a system, in practice it is difficult to implement. Basic autonomic solutions can often introduce more problems than benefits if the algorithm used does a poor job of the tuning. In these cases it is inevitable that user intervention will be required, which was what the autonomic solution was trying to eliminate in the first place.

Consider the problem of managing a pooled system resource like communications buffers on an autonomic middleware platform such as a database server. A straightforward approach to enabling autonomic management of these buffers would be to allow the system to adjust the pool size as needed. The user would specify an initial pool size for the system to use, and the system would then adjust this size as needed on demand. In the case where the pool was exhausted, the system could increase the pool size to allow buffer allocations to continue. The system could also decrease the pool size as buffers were freed. But there are challenges even in the straightforward approach; if the user estimated the required pool size to be too small, the pool size would need to be increased regularly, which would incur a performance penalty. We could increase the pool size in large increments to reduce the performance problems, but we would then be faced with a pool size that could grow unnecessarily large during peak system usage, and then consume excessive memory once the system returned to non-peak usage. It would be desirable to autonomically reduce the pool size during non-peak times to reduce memory usage, but it is not clear how to do this well - if we simply reduced the pool size as the free pool fills up, we risk a case where bursty workloads would perform poorly as the pool size would be continually increased and decreased with each burst of work.

The conclusion, in short, is that although autonomic behaviour is desirable, there are challenges to implementing an effective algorithm.

Invention Description


Page 2 of 5

Disclosed is an autonomic, or self-tuning algorithm for ma...