Assigning resources among multiple task groups in a database system
First Claim
1. A computer-implemented method for scheduling the execution of a plurality of database tasks within a database system, the method comprising the steps of:
- grouping said database tasks into a plurality of task groups having different priorities to database system resources;
arranging said task groups into a hierarchy, said hierarchy comprising multiple tiers including a top level tier, a bottom level tier and at least one intermediate level tier between said top level tier and said bottom level tier, said tiers reflecting the priority of said task groups to said database system resources;
allocating a portion of said database system resources to said task groups within said top level tier, and providing a remaining portion of said database system resources not assigned to said task groups within said top level to the tier immediately below said top level tier;
for each intermediate level tier;
receiving the remaining portion of database system resources not assigned to the task groups in the tier immediately above;
assigning a portion of said database system resources received from the tier immediately above to said task groups within said each immediate level tier, and providing a remaining portion of said database system resources not assigned to said task groups within said each immediate tier to the tier immediately below said each immediate level tier;
for said bottom tier, receiving the remaining portion of database system resources not assigned to the task groups in the tier immediately above; and
assigning said database system resources received from the tier immediately above to said task groups within said bottom level tier; and
executing said database tasks in accordance with said database resource task group allocations.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer running a database system receives one or more queries, each query comprised of parallel threads of execution working towards the common goal of completing a user request. These threads are grouped into a schedulable object called a task group. The task groups are placed within a specific multiple tier hierarchy, and database system resources allocated to the task groups according to their placement within the hierarchy. Beginning with the top tier of the hierarchy, resources remaining after allocations to each task group within a tier are passed to the next lower tier for allocation.
4 Citations
15 Claims
-
1. A computer-implemented method for scheduling the execution of a plurality of database tasks within a database system, the method comprising the steps of:
-
grouping said database tasks into a plurality of task groups having different priorities to database system resources; arranging said task groups into a hierarchy, said hierarchy comprising multiple tiers including a top level tier, a bottom level tier and at least one intermediate level tier between said top level tier and said bottom level tier, said tiers reflecting the priority of said task groups to said database system resources; allocating a portion of said database system resources to said task groups within said top level tier, and providing a remaining portion of said database system resources not assigned to said task groups within said top level to the tier immediately below said top level tier; for each intermediate level tier;
receiving the remaining portion of database system resources not assigned to the task groups in the tier immediately above;
assigning a portion of said database system resources received from the tier immediately above to said task groups within said each immediate level tier, and providing a remaining portion of said database system resources not assigned to said task groups within said each immediate tier to the tier immediately below said each immediate level tier;for said bottom tier, receiving the remaining portion of database system resources not assigned to the task groups in the tier immediately above; and
assigning said database system resources received from the tier immediately above to said task groups within said bottom level tier; andexecuting said database tasks in accordance with said database resource task group allocations. - View Dependent Claims (2, 3, 4, 5, 7, 8, 9, 10)
-
-
6. A database system, running on a computer, the database system comprising:
-
at least one computer processor having access to at least one data storage device containing a database; and a process executed by said at least one computer processor to schedule the execution of a plurality of database tasks within said database system, said process to; group said database tasks into a plurality of task groups having different priorities to database system resources; arrange said task groups into a hierarchy, said hierarchy comprising multiple tiers including a top level tier, a bottom level tier and at least one intermediate level tier between said top level tier and said bottom level tier, said tiers reflecting the priority of said task groups to said database system resources; allocate a portion of said database system resources to said task groups within said top level tier, and provide a remaining portion of said database system resources not assigned to said task groups within said top level to the tier immediately below said top level tier; for each intermediate level tier;
receive the remaining portion of database system resources not assigned to the task groups in the tier immediately above;
assign a portion of said database system resources received from the tier immediately above to said task groups within said each immediate level tier, and provide a remaining portion of said database system resources not assigned to said task groups within said each immediate tier to the tier immediately below said each immediate level tier;for said bottom tier, receive the remaining portion of database system resources not assigned to the task groups in the tier immediately above; and
assign said database system resources received from the tier immediately above to said task groups within said bottom level tier; andexecute said database tasks in accordance with said database resource task group allocations.
-
-
11. A non-transitory computer-readable medium having a computer program for scheduling the execution of a plurality of database tasks within a database system, the computer program including executable instructions that cause a computer to:
-
group said database tasks into a plurality of task groups having different priorities to database system resources; arrange said task groups into a hierarchy, said hierarchy comprising multiple tiers including a top level tier, a bottom level tier and at least one intermediate level tier between said top level tier and said bottom level tier, said tiers reflecting the priority of said task groups to said database system resources; allocate a portion of said database system resources to said task groups within said top level tier, and provide a remaining portion of said database system resources not assigned to said task groups within said top level to the tier immediately below said top level tier; for each intermediate level tier;
receive the remaining portion of database system resources not assigned to the task groups in the tier immediately above;
assign a portion of said database system resources received from the tier immediately above to said task groups within said each immediate level tier, and provide a remaining portion of said database system resources not assigned to said task groups within said each immediate tier to the tier immediately below said each immediate level tier;for said bottom tier, receive the remaining portion of database system resources not assigned to the task groups in the tier immediately above; and
assign said database system resources received from the tier immediately above to said task groups within said bottom level tier; andexecute said database tasks in accordance with said database resource task group allocations. - View Dependent Claims (12, 13, 14, 15)
-
Specification