Implementing dynamic processor allocation based upon data density
AssigneeInternational Business Machines Corporation
InventorsPaul R. Day, Randy L. Egan, Roger A. Mittelstadt
Life of this patent
Estimating the term…
Abstract
Dynamic processor allocation is implemented based upon bitmap data density. A bitmap index is used to process the query. A bitmap is created for the query. The bitmap is partitioned into single I/O operations. A variable partition size is provided based upon data density. Data density for each partition is calculated. Processors are assigned based upon data density of each partition. Then the partitions are processed and query results are returned.
Claims12
A method for implementing dynamic processor allocation for optimizing database query processing comprising the steps:
- creating a bitmap index for a database query with a structure for identifying data density;
- partitioning said bitmap index for said database query into a plurality of partitions having a variable partition size whose bits represent a number of rows being retrieved in a single I/O operation;
- said variable partition size being based upon ranges of dense data and ranges of sparse data;
- calculating bitmap data density for each partition of said bitmap index for said database query;
- dynamically assigning multiple processors for partition processing based upon said calculated data density of each partition of said bitmap index for said database query, enabling said dynamically assigned multiple processors to achieve a high degree of parallelism optimizing database query processing;
- and
- processing the partitions of said bitmap index for said database query with the assigned processors, optimizing database query processing.
An apparatus for implementing dynamic processor allocation for optimizing database query processing comprising:
- a plurality of processors;
- a database management system;
- said database management system creating a bitmap index for a database query with a structure for identifying data density;
- said database management system partitioning said bitmap index for said database query into a plurality of partitions having a variable partition size whose bits represent a number of rows being retrieved in a single I/O operation;
- said variable partition size based upon ranges of dense data and ranges of sparse data;
- said database management system calculating bitmap data density for each partition of said bitmap index for said database query;
- said database management system dynamically assigning said plurality of processors for partition processing based upon said calculated data density of each partition of said bitmap for said database query, enabling said dynamically assigned plurality of processors to achieve a high degree of parallelism optimizing database query processing;
- and
- said plurality of processors processing the partitions of said bitmap index for said database query, optimizing database query processing.
A computer-readable storage medium encoded with a computer program product for implementing dynamic processor allocation for optimizing database query processing in a computer system, said computer-readable storage medium encoded with said computer program product including instructions executed by the computer system to cause the computer system to perform the steps of:
- creating a bitmap index for a database query with a structure for identifying data density;
- partitioning said bitmap index for said database query into a plurality of partitions having a variable partition size whose bits represent a number of rows being retrieved in a single I/O operation;
- said variable partition size being based upon ranges of dense data and ranges of sparse data;
- calculating bitmap data density for each partition of said bitmap index for said database query;
- dynamically assigning multiple processors for partition processing based upon said calculated data density of each partition of said bitmap index for said database query, enabling said dynamically assigned multiple processors to achieve a high degree of parallelism optimizing database query processing;
- and
- processing the partitions of said bitmap index for said database query with the assigned processors, optimizing database query processing.
Dependencies are inferred from the claim text.