METHODS AND APPARATUS FOR MANAGEMENT OF HETEROGENEOUS WORKLOADS
First Claim
11. Apparatus for managing a system of heterogeneous workloads, comprising:
- a memory; and
at least one processor coupled to the memory and operative to;
(i) separate work that enters the system into a plurality of heterogeneous workloads;
(ii) gather a plurality of high-level quality of service goals, wherein at least one of the plurality of high-level quality of service goals corresponds to each of the plurality of heterogeneous workloads;
(iii) determine a plurality of control functions that are provided by virtualizations on one or more containers in which one or more of the plurality of heterogeneous workloads run;
(iv) determine an expected utility of a plurality of settings of at least one of the plurality of control functions in response to the plurality of high-level quality of service goals; and
(v) exercise at least one of the plurality of control functions in response to the expected utility to effect changes in the behavior of the system.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for managing a system of heterogeneous workloads are provided. Work that enters the system is separated into a plurality of heterogeneous workloads. A plurality of high-level quality of service goals is gathered. At least one of the plurality of high-level quality of service goals corresponds to each of the plurality of heterogeneous workloads. A plurality of control functions are determined that are provided by virtualizations on one or more containers in which one or more of the plurality of heterogeneous workloads run. An expected utility of a plurality of settings of at least one of the plurality of control functions is determined in response to the plurality of high-level quality of service goals. At least one of the plurality of control functions is exercised in response to the expected utility to effect changes in the behavior of the system.
202 Citations
28 Claims
-
11. Apparatus for managing a system of heterogeneous workloads, comprising:
-
a memory; and at least one processor coupled to the memory and operative to;
(i) separate work that enters the system into a plurality of heterogeneous workloads;
(ii) gather a plurality of high-level quality of service goals, wherein at least one of the plurality of high-level quality of service goals corresponds to each of the plurality of heterogeneous workloads;
(iii) determine a plurality of control functions that are provided by virtualizations on one or more containers in which one or more of the plurality of heterogeneous workloads run;
(iv) determine an expected utility of a plurality of settings of at least one of the plurality of control functions in response to the plurality of high-level quality of service goals; and
(v) exercise at least one of the plurality of control functions in response to the expected utility to effect changes in the behavior of the system.
-
-
12. A method for making a computer implemented process to enable management of a system of heterogeneous workloads comprising the steps of:
-
instantiating first computer instructions onto a computer readable medium, the first computer instructions configured to separate work that enters the system into a plurality of heterogeneous workloads; instantiating second computer instructions onto a computer readable medium, the second computer instructions configured to gather a plurality of high-level quality of service goals, wherein at least one of the plurality of high-level quality of service goals corresponds to each of the plurality of heterogeneous workloads; instantiating third computer instructions onto a computer readable medium, the third computer instructions configured to determine a plurality of control functions that are provided by virtualizations on one or more containers in which one or more of the plurality of heterogeneous workloads run; instantiating fourth computer instructions onto a computer readable medium, the fourth computer instructions configured to determine an expected utility of a plurality of settings of at least one of the plurality of control functions in response to the plurality of high-level quality of service goals; instantiating fifth computer instructions onto a computer readable medium, the fifth computer instructions configured to exercise at least one of the plurality of control functions in response to the expected utility to effect changes in the behavior of the system.
-
-
13. A system for management of heterogeneous workloads comprising:
-
a plurality of heterogeneous server machines; a placement controller, driven by utility functions of allocated computer processing unit (CPU) demand, that places web applications on one or more of the plurality of heterogeneous server machines; a request router that receives and dispatches requests to one or more web applications on one or more of the plurality of heterogeneous server machines in accordance with a scheduling mechanism; a flow controller in communication with the request router and the placement controller that dynamically adjusts the scheduling mechanism in response to at least one of workload intensity and system configuration; and a job scheduler that allocates jobs to one or more of the plurality of heterogeneous server machines in accordance with placement decisions communicated to the job scheduler by the placement controller. - View Dependent Claims (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
24-1. The system of claim 13, wherein a first domain of the plurality of domains comprises a node agent in communication with the placement controller and the job scheduler.
- 26. The system of claim 25, wherein a second domain of the plurality of domains comprises a machine agent in communication with the node agent that manages virtual machines inside a given heterogeneous server machine.
Specification