Multi-Core Scheduling for Parallel Queries
First Claim
1. A system including instructions recorded on a computer-readable medium, the system comprising:
- an operator manager configured to determine a number of available cores and to assign the cores among a plurality of operators of a query, the operators including a running set of operators through which a plurality of query paths exist, the operator manager includinga status monitor configured to determine the number of available cores and to determine the running set of operators,a critical path selector configured to determine a critical path of the query from among the query paths and the running set of operators, anda workload manager configured to assign a first core of the available cores to a running operator of the running set and of the critical path, and to thereafter receive a new critical path from the critical path selector and to assign a second core of the available cores to the running operator of the new critical path.
2 Assignments
0 Petitions
Accused Products
Abstract
An operator manager may be configured to determine a number of available cores and to assign the cores among a plurality of operators of a query, the operators including a running set of operators through which a plurality of query paths exist. The operator manager may include a status monitor configured to determine the number of available cores and to determine the running set of operators, a critical path selector configured to determine a critical path of the query from among the query paths and the running set of operators, and a workload manager configured to assign a first core of the available cores to a running operator of the running set and of the critical path, and to thereafter receive a new critical path from the critical path selector and to assign a second core of the available cores to the running operator of the new critical path.
-
Citations
21 Claims
-
1. A system including instructions recorded on a computer-readable medium, the system comprising:
an operator manager configured to determine a number of available cores and to assign the cores among a plurality of operators of a query, the operators including a running set of operators through which a plurality of query paths exist, the operator manager including a status monitor configured to determine the number of available cores and to determine the running set of operators, a critical path selector configured to determine a critical path of the query from among the query paths and the running set of operators, and a workload manager configured to assign a first core of the available cores to a running operator of the running set and of the critical path, and to thereafter receive a new critical path from the critical path selector and to assign a second core of the available cores to the running operator of the new critical path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. A computer-implemented method comprising:
-
determining a query including a plurality of operators, the operators including a running set of operators through which a plurality of query paths exist; determining a number of available cores; determining a critical path of the plurality of query paths, based on a total execution time of each of the plurality of query paths; assigning a first one of the available cores to a first operator within the running set and within the critical path; determining a new critical path through the plurality of query paths, based on the assigning; and assigning a second one of the available cores to a second operator within the running set and the new critical path. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A computer program product, the computer program product being tangibly embodied on a computer-readable medium and comprising instructions that, when executed, are configured to:
-
determine a query including a plurality of operators, the operators including a running set of operators through which a plurality of query paths exist; determine a number of available cores; determine a critical path of the plurality of query paths, based on a total execution time of each of the plurality of query paths; assign a first one of the available cores to a first operator within the running set and within the critical path; determine a new critical path through the plurality of query paths, based on the assigning; and assign a second one of the available cores to a second operator within the running set and the new critical path. - View Dependent Claims (20, 21)
-
Specification