Workload prioritization in a cloud environment
The technology described herein is directed towards workload prioritization (ranking) in a cloud (e.g., private/hybrid) environment based on multi-criteria decision analysis using Mahalanobis distance-based variance-covariance matrix that takes into account the pair-wise correlation between criteria attributes from a dataset. The technology described herein calculates relative closeness values for alternatives (e.g., virtual machines), and can perform a final ranking of a group of virtual machines based on their associated relative closeness values. The workload prioritization process can be incorporated into a decision engine. The decision engine can be used in various use cases, including backup prioritization, shutdown prioritization during power failures, workflow scheduling prioritization, and the like.
1 . A system, comprising:
at least one processor; and
at least one memory that stores executable instructions that, when executed by the at least one processor, facilitate performance of operations, the operations comprising:
obtaining first matrix data representative of a decision matrix comprising respective first values representative of respective captured data for respective pairs of virtual machines and criteria, the decision matrix comprising virtual machines identifiers for the virtual machines in a first dimension of the decision matrix, and criteria identifiers for the criteria in a second dimension of the decision matrix, wherein the criteria comprise respective use-case tags that associate individual ones of the criteria with at least two distinct control-plane use cases comprising a backup use case, a shutdown use case for an uninterruptible power supply (UPS) event, and a task scheduling use case;
obtaining second matrix data representative of a weight matrix corresponding to the decision matrix, the weight matrix comprising respective second values based on entropy and a normalized version of the respective first values of the decision matrix;
obtaining third matrix data representative of a weighted decision matrix comprising respective weighted values based on the respective first values of the decision matrix multiplied by respective second values of the weight matrix;
obtaining fourth matrix data representative of a covariance matrix comprising the criteria identifiers in a first dimension of the covariance matrix, and the criteria identifiers in a second dimension of the covariance matrix, the covariance matrix comprising respective variance values determined for matching criterion identifier pairs of the criteria and respective covariance values determined for non-matching criterion identifier pairs of the criteria;
determining, based on the weighted values of the weighted decision matrix, best-determined solution data and worst-determined solution data;
obtaining respective positive separation values and respective negative separation values for respective alternatives corresponding to the respective virtual machines, the obtaining of the respective positive separation values and the respective negative separation values comprising performing Mahalanobis distance determinations based on respective first differences between the respective weighted values of the respective alternatives and the best-determined solution data, respective second differences between the respective weighted values of the respective alternatives to the worst-determined solution data, a diagonal weight matrix obtained from the weight matrix, a transpose of the diagonal weight matrix, and an inverse of the covariance matrix;
determining respective relative closeness values for the respective alternatives based on the respective positive separation values and respective negative separation values; and
taking action to perform respective tasks related to the respective virtual machines, the taking of the action performed in an order that is based on the respective relative closeness values, the taking of the action being performed via a backup server, a UPS network shutdown module, and a task or workflow scheduler, the taking of the action being configured to modify operation of a virtualized computing infrastructure by reducing at least one backup-window overrun, preventing exhaustion of UPS battery capacity before at least one higher-priority workload is shut down, and reducing task scheduling latency under at least one resource constraint, and the taking of the action comprising:
for the backup use case, selecting a first subset of the respective virtual machines based on the respective relative closeness values and on a backup-capacity constraint corresponding to a number of parallel backup jobs supported by a backup proxy server, initiating backup operations for the first subset, resulting in initiated backup operations, and queuing remaining ones of the respective virtual machines for subsequent backup, thereby reducing backup-window overruns relative to a non-prioritized backup policy,
for the shutdown use case, selecting a second subset of the respective virtual machines based on the respective relative closeness values and on a UPS time-remaining constraint corresponding to estimated remaining battery capacity, and initiating graceful shutdown operations for the second subset before expiration of the UPS time-remaining constraint, thereby reducing a likelihood of data loss due to abrupt power loss,
for the task scheduling use case, selecting a third subset of the respective virtual machines based on the respective relative closeness values and on at least one performance-based scheduling constraint corresponding to available compute resources, and assigning new workloads to the third subset ahead of virtual machines having lower respective relative closeness values, thereby reducing task scheduling latency and resource contention, and
for at least one use case of the backup use case, the shutdown use case, or the task scheduling use case, obtaining feedback indicative of completion success or failure for the initiated backup operations, shutdown operations, or task assignments, and updating at least one of: the criteria or the respective second values of the weight matrix used in obtaining the second matrix data, based on the feedback for the at least one use case, resulting in updated criteria or updated respective second values, and re-executing the obtaining, the determining and the taking of the action for the at least one use case using the updated criteria or the updated respective second values, wherein the virtualized computing infrastructure is adaptively controlled over time.
2 . The system of claim 1 , wherein the operations further comprise ranking the respective alternatives corresponding to the respective virtual machines by the respective relative closeness values for each of the control-plane use cases to produce respective ranked data structures comprising the virtual machine identifiers and respective use-case tags that identify the control-plane use case for which the respective relative closeness values are computed.
3 . The system of claim 1 , wherein the taking of the action further comprises backing up the respective virtual machines in the order that is based on the respective relative closeness values from the ranked data structure for the backup use case.
4 . The system of claim 3 , wherein the operations further comprise ranking the respective alternatives corresponding to the respective virtual machines by the respective relative closeness values to produce a ranked data structure comprising the respective virtual machine identifiers of the respective virtual machines, and selecting a top-subset of the data structure comprising the virtual machines identifiers based on backup constraint data, and wherein the backing up the respective virtual machines comprises backing up the respective virtual machines identified in the top-subset, and queuing the virtual machines not identified in the top-subset for subsequent backup responsive to a dynamic backup capacity constraint of a backup proxy server.
5 . The system of claim 1 , wherein the taking of the action further comprises shutting down the respective virtual machines in the order that is based on the respective relative closeness values from the ranked data structure for the shutdown use case.
6 . The system of claim 1 , wherein the taking of the action further comprises assigning tasks to the respective virtual machines in the order that is based on the respective relative closeness values from the ranked data structure for the task scheduling use case.
7 . The system of claim 1 , wherein the operations further comprise obtaining the criteria from at least one of: user input data or system data via a criteria selection interface that associates the criteria with the use-case tags.
8 . A method, comprising:
ranking, by a system comprising a processor, a group of respective workloads associated with respective virtual machines of a virtualized environment to obtain virtual machine prioritization rankings for the respective virtual machines, the ranking of the group of respective workloads comprising:
obtaining respective values for respective criterion and respective virtual machine pairings, the respective criterion being part of criteria that are associated with respective use-case tags that associate individual ones of the criteria with at least two distinct control-plane use cases comprising a backup use case, a shutdown use case for an uninterruptible power supply (UPS) event, and a task scheduling use case,
processing the respective values to determine respective correlation data between respective pairs of the respective criterion,
determining, based on the respective correlation data, respective relative closeness values for respective virtual machine alternatives that correspond to the respective virtual machines, and
ranking the respective virtual machine alternatives by the respective relative closeness values to determine the virtual machine prioritization rankings for the respective virtual machines; and
taking, by the system, action to perform respective tasks related to the respective virtual machines, the taking of the action performed in an order that is based on the virtual machine prioritization rankings, the taking of the action being performed by at least one of a backup server, a UPS network shutdown module, or a task or workflow scheduler, the taking of the action being configured to increase a metric associated with operation of a virtualized computing infrastructure by reducing at least one backup-window overrun, preventing exhaustion of a UPS battery capacity before higher-priority workloads are shut down, and reducing task scheduling latency under at least one resource constraint, and the taking of the action comprising:
for the backup use case, selecting a first subset of the respective virtual machines from the virtual machine prioritization rankings based on the respective relative closeness values and on a backup-capacity constraint corresponding to a number of parallel backup jobs supported by a backup proxy server, initiating backup operations for the first subset, and queuing remaining ones of the respective virtual machines for subsequent backup,
for the shutdown use case, selecting a second subset of the respective virtual machines from the virtual machine prioritization rankings based on the respective relative closeness values and on a UPS time-remaining constraint corresponding to estimated remaining battery capacity, and initiating respective graceful shutdown operations for the second subset before expiration of the UPS time-remaining constraint,
for the task scheduling use case, selecting a third subset of the respective virtual machines from the virtual machine prioritization rankings based on the respective relative closeness values and based on at least one performance-based scheduling constraint corresponding to available compute resources, and assigning at least one new workload to the third subset ahead of virtual machines having lower respective relative closeness values, and
for at least one use case of the backup use case, the shutdown use case, or the task scheduling use case, obtaining feedback indicative of completion success or failure for the backup operations, the at least one shutdown operation, or at least one task assignment, and updating at least one of: the respective values or weights for one or more of the criteria associated with the use-case tag for the at least one use case based on the feedback, resulting in updated respective values or weights and re-performing the ranking for the at least one use case using the updated respective values or weights, as a result of which the virtual machine prioritization rankings are adaptively changed over time.
9 . The method of claim 8 , further comprising obtaining, by the system, the criteria from user input via a criteria selection interface that associates the criteria with the respective use-case tags.
10 . The method of claim 8 , wherein the processing of the respective values comprises determining pairwise covariant data for respective pairs of the respective criterion for a given one of the control-plane use cases.
11 . The method of claim 8 , wherein the processing of the respective values to determine the respective correlation data comprises generating a covariance matrix comprising respective identifiers of the respective criterion identifiers in a first dimension of the covariance matrix, and the respective identifiers of the respective criterion identifiers in a second dimension of the covariance matrix, the covariance matrix comprising respective variance values determined for matching criterion identifier pairs, and respective covariance values determined for non-matching criterion identifier pairs for a selected one of the control-plane use cases.
12 . The method of claim 8 , wherein the respective values for the respective criterion-respective virtual machine pairings comprises respective first values, and wherein the determining of the respective relative closeness values comprises performing Mahalanobis distance determinations based on: respective second values based on respective weights combined with the respective first values, and an inverse of the covariance matrix.
13 . The method of claim 8 , wherein respective identifiers of the respective virtual machines corresponding to the respective virtual machine alternatives, and the respective relative closeness values, are arranged in a data structure, and wherein the ranking of the respective virtual machine alternatives comprises sorting the data structure by the respective relative closeness values.
14 . The method of claim 8 , wherein the taking of the action further comprises backing up the respective virtual machines in the order that is based on the virtual machine prioritization rankings.
15 . The method of claim 8 , wherein the taking of the action further comprises shutting down the respective virtual machines in the order that is based on the virtual machine prioritization rankings.
16 . The method of claim 8 , wherein the taking of the action further comprises assigning tasks to the respective virtual machines in the order that is based on the virtual machine prioritization rankings.
17 . A non-transitory machine-readable medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations, the operations comprising:
obtaining a plurality of user-defined criteria and respective use-case tags that associate individual ones of the criteria with at least two distinct control-plane use cases comprising a backup use case, a shutdown use case for an uninterruptible power supply (UPS) event, and a task scheduling use case;
obtaining a weighted decision matrix comprising respective weighted values based on the respective first values of a virtual machine-criterion matrix multiplied by respective second values of a weight matrix in which the respective second values are determined via entropy determinations;
obtaining a covariance matrix comprising identifiers of respective criterion of the criterion matrix in a first dimension of the covariance matrix, and the identifiers of the respective criterion of the criterion matrix in a second dimension of the covariance matrix, in which respective variance values are determined for respective matching criterion identifier pairs of the covariance matrix, and respective covariance values are determined for respective non-matching criterion identifier pairs of the covariance matrix;
determining, based on the respective weighted values of the weighted decision matrix, best-determined solution data and worst-determined solution data;
obtaining respective positive separation values and respective negative separation values for respective alternatives corresponding to respective virtual machines identified in the weighted decision matrix, the obtaining of the respective positive separation values and the respective negative separation values comprising performing Mahalanobis distance determinations based on respective first differences between the respective weighted values of the respective alternatives and the best-determined solution data, respective second differences between the respective weighted values of the respective alternatives to the worst-determined solution data, a diagonal weight matrix obtained from the weight matrix, a transpose of the diagonal weight matrix, and an inverse of the covariance matrix;
determining respective relative closeness values for the respective alternatives based on the respective positive separation values and respective negative separation values; and
taking action to perform respective tasks related to the respective virtual machines, the taking of the action performed in an order that is based on the respective relative closeness values, the taking of the action comprising controlling, by at least a backup server, a UPS network shutdown module, and a task or workflow scheduler, a virtualized computing infrastructure to improve at least backup-window performance according to a defined performance metric, a UPS-event data protection, and task scheduling latency under resource constraints, and the taking of the action further comprising:
selecting, for the backup use case, a first subset of the respective virtual machines based on the respective relative closeness values and on a backup-capacity constraint corresponding to a number of parallel backup jobs supported by a backup proxy server, initiating backup operations for the first subset, and queuing remaining ones of the respective virtual machines for subsequent backup,
selecting, for the shutdown use case, a second subset of the respective virtual machines based on the respective relative closeness values and on a UPS time-remaining constraint corresponding to estimated remaining battery capacity, and initiating graceful shutdown operations for the second subset before expiration of the UPS time-remaining constraint,
selecting, for the task scheduling use case, a third subset of the respective virtual machines based on the respective relative closeness values and based on at least one performance-based scheduling constraint corresponding to available compute resources, and assigning new workloads to the third subset ahead of virtual machines having lower respective relative closeness values, and
for at least one use case of the backup use case, the shutdown use case, and the task scheduling use case, obtaining feedback indicative of completion success or failure for the corresponding backup operations, shutdown operations, or task assignments, and updating at least one of: the identifiers of the respective criterion of the criterion matrix or the respective second values of the weight matrix based on the feedback, and re-performing the determining and obtaining operations for that at least one use case using the updated identifiers or respective second values, as a result of which the taking of the action adaptively changes over time.
18 . The non-transitory machine-readable medium of claim 17 , wherein the operations further comprise normalizing the respective first values of virtual machine, the criterion matrix into a normalized matrix, and wherein the obtaining of the weighted decision matrix is based on the normalized matrix multiplied by the respective second values of the weight matrix.
19 . The non-transitory machine-readable medium of claim 17 , wherein the operations further comprise obtaining virtual machine prioritization rankings, comprising ranking the respective alternatives corresponding to the respective virtual machines by the respective relative closeness values to produce a ranked data structure of the virtual machine prioritization rankings for at least one of the backup use case, the shutdown use case, and the task scheduling use case.
20 . The non-transitory machine-readable medium of claim 17 , wherein the taking of the action further comprises at least one of: backing up the respective virtual machines in the order that is based on the respective relative closeness values, shutting down the respective virtual machines in the order that is based on the respective relative closeness values, or assigning tasks to the respective virtual machines in the order that is based on the respective relative closeness values.