Cluster computational capacity level switching based on demand prediction and stability constraint and power consumption management
First Claim
1. A computer-readable storage medium configured with data and with instructions that when executed by at least one processor causes the processor(s) to perform a process for managing computational availability of a computational cluster which is operating at a current cluster computational capacity level, the process comprising the steps of:
- predicting demand for computational availability of the computational cluster based at least on a job queue length, the job queue length being the number of jobs in a job queue, each job comprising code which is subject to scheduling;
determining that a threshold condition for switching the computational cluster to a different cluster computational capacity level is satisfied, the threshold condition based at least on the current cluster computational capacity level and the predicted demand;
ascertaining whether switching the computational cluster to the different cluster computational capacity level will violate a stability constraint of the computational cluster, the stability constraint based at least on a history of cluster computational capacity level switches within a period of time which is not earlier than a specified history cutoff; and
performing at least one of the following;
(i) switching the computational cluster to the different cluster computational capacity level after determining that the threshold condition for switching is satisfied and ascertaining that switching the computational cluster to the different cluster computational capacity level will not violate the stability constraint, (ii) recommending to a user that the computational cluster be switched to the different cluster computational capacity level, (iii) recommending to a user that the computational cluster not be switched to the different cluster computational capacity level.
2 Assignments
0 Petitions
Accused Products
Abstract
Power consumption and computational availability of a cluster are automatically managed by monitoring consumption, predicting demand based on a job queue and/or historic data, and checking certain conditions and constraints. Threshold conditions for switching the cluster'"'"'s capacity level are based on the current level and the predicted demand. Switching levels is avoided when a stability constraint would be violated. Cluster capacity levels can be uniformly or nonuniformly spaced, and may have decreasing gaps between levels as capacity decreases. Capacity level definitions and level switching conditions and constraints may be defaults and/or be provided by an administrator.
-
Citations
20 Claims
-
1. A computer-readable storage medium configured with data and with instructions that when executed by at least one processor causes the processor(s) to perform a process for managing computational availability of a computational cluster which is operating at a current cluster computational capacity level, the process comprising the steps of:
-
predicting demand for computational availability of the computational cluster based at least on a job queue length, the job queue length being the number of jobs in a job queue, each job comprising code which is subject to scheduling; determining that a threshold condition for switching the computational cluster to a different cluster computational capacity level is satisfied, the threshold condition based at least on the current cluster computational capacity level and the predicted demand; ascertaining whether switching the computational cluster to the different cluster computational capacity level will violate a stability constraint of the computational cluster, the stability constraint based at least on a history of cluster computational capacity level switches within a period of time which is not earlier than a specified history cutoff; and performing at least one of the following;
(i) switching the computational cluster to the different cluster computational capacity level after determining that the threshold condition for switching is satisfied and ascertaining that switching the computational cluster to the different cluster computational capacity level will not violate the stability constraint, (ii) recommending to a user that the computational cluster be switched to the different cluster computational capacity level, (iii) recommending to a user that the computational cluster not be switched to the different cluster computational capacity level. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable storage medium configured with data and with instructions that when executed by at least one processor causes the processor(s) to perform a process for managing computational availability, the process comprising the steps of:
-
obtaining at least three cluster computational capacity level definitions, the defined cluster computational capacity levels including a nonzero minimum computational capacity level; predicting demand for computational availability of the computational cluster based on at least one of the following;
(i) information from a job queue containing jobs which comprise code that is subject to scheduling, (ii) historic power consumption data;determining that a threshold condition for switching the computational cluster from a current cluster computational capacity level to a different cluster computational capacity level is satisfied, the threshold condition based at least on the predicted demand and on an indication of current cluster power consumption; ascertaining that switching the computational cluster to the different cluster computational capacity level will not violate a user-configurable stability constraint of the computational cluster, the user-configurable stability constraint based at least on a history of cluster computational capacity level switches within a user-specified period of time; and recommending to a user whether or not the computational cluster should be switched to the different cluster computational capacity level. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer system comprising:
-
logical processor(s); a memory in operable communication with the logical processor(s); at least three cluster computational capacity level definitions residing in the memory; a demand predictor residing in the memory and including demand prediction code which when executed by the processor(s) will calculate a predicted demand for computational availability of the computational cluster, based on information from a job queue containing jobs which comprise code that is subject to scheduling; a threshold condition for switching the computational cluster from a current one of the defined cluster computational capacity levels to a different one of the defined cluster computational capacity levels, the threshold condition residing in the memory and based on at least the predicted demand, and wherein the threshold condition comprises a stability constraint that is based on at least one of the following;
a count of switches between cluster computational capacity levels, a frequency of switches between cluster computational capacity levels; andcode which upon execution by a processor performs at least one of the following;
(i) switches the computational cluster to the different cluster computational capacity level after determining that the threshold condition for switching is satisfied and ascertaining that switching the computational cluster to the different cluster computational capacity level will not violate the stability constraint, (ii) recommends to a user that the computational cluster be switched to the different cluster computational capacity level, (iii) recommends to a user that the computational cluster not be switched to the different cluster computational capacity level. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification