Abstract
Workload management coordinates access to and use of shared computational resources; adaptive workload execution revises resource allocation decisions dynamically in response to feedback about the progress of the workload or the behavior of the resources. Where the workload contains or consists of database queries, adaptive query processing (AQP) changes the way in which a query is being evaluated while the query is running. In parallel environments, available adaptations may change the allocation of query fragments to a machine, for example to remove load imbalance or change the parallelism level. Most AQP strategies act on individual queries with the objective of reducing response times. However, where adaptations affect the usage of shared resources, or the principal goal is to meet quality of service targets rather than to minimize overall response times, locally beneficial decisions may have globally detrimental effects. This paper describes the use of utility functions to coordinate adaptations that assign resources to query fragments from multiple queries, and demonstrates how a common framework can be used to support different objectives, specifically to minimize overall query response times and to maximize the number of queries meeting quality of service goals. Experiments using simulation compare the use of utility functions with the more common heuristic control strategies, demonstrating situations in which significant benefits can be obtained. © 2011 Elsevier B.V. All rights reserved.
Original language | English |
---|---|
Pages (from-to) | 1070-1079 |
Number of pages | 9 |
Journal | Future Generation Computer Systems |
Volume | 28 |
Issue number | 7 |
DOIs | |
Publication status | Published - Jul 2012 |
Keywords
- Adaptive query processing
- Autonomic computing
- Utility function