IP Library Granted Patent US 8,015,191
Granted Patent B2
US 8,015,191 · App. 12/056,879 · Granted Sep 6, 2011

Implementing dynamic processor allocation based upon data density

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,015,191
App. No.
12/056,879
Granted
Sep 6, 2011
Kind
B2
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.

Claims (28)

1. 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.

2. The method for implementing dynamic processor allocation as recited in claim 1 wherein calculating data density for each partition of said bitmap for said database query includes using said structure included with said bitmap index to determine the data density of selected records.

3. The method for implementing dynamic processor allocation as recited in claim 1 further includes initial steps of identifying available processor resources for processing said database query.

4. The method for implementing dynamic processor allocation as recited in claim 1 further includes the steps of returning results for said database query to the user.

5. 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.

6. The apparatus for implementing dynamic processor allocation as recited in claim 5 further includes said plurality of processors returning results for said database query to a user.

7. The apparatus for implementing dynamic processor allocation as recited in claim 5 wherein said database management system performs initial steps of identifying available processor resources for processing said database query.

8. The apparatus for implementing dynamic processor allocation as recited in claim 5 wherein said database management system calculating data density for each partition of said bitmap index includes said database management system using said structure included with said bitmap index to determine the data density of selected records.

9. 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.

10. The computer-readable storage medium encoded with a computer program product for implementing dynamic processor allocation as recited in claim 9 wherein calculating bitmap data density for each partition of said bitmap index for said database query includes using said structure included with said bitmap index to determine the data density of selected records.

11. The computer-readable storage medium encoded with a computer program product for implementing dynamic processor allocation as recited in claim 9 further includes initial steps of identifying available processor resources for processing said database query.

12. The computer-readable storage medium encoded with a computer program product for implementing dynamic processor allocation as recited in claim 9 further includes the steps of returning results for said database query to the user.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2008
From: DAY, PAUL R; EGAN, RANDY L; MITTELSTADT, ROGER A
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020713/0698 →
Continuity (1)
Related Publication 20090248764A1 · Oct 1, 2009