MULTI-STAGE IOPS ALLOCATION
First Claim
1. A method for multi-stage input/output operations (IOPS) allocations, the method comprising:
- identifying at least one policy that specifies at least one IOPS limit;
determining two or more virtual machines associated with the at least one policy;
determining two or more nodes that host the two or more virtual machines;
performing a first allocation to apportion the at least one IOPS limit over the two or more nodes, the first allocation resulting in two or more node-level IOPS apportionments that correspond to the two or more nodes; and
performing a second allocation to apportion the node-level IOPS apportionments to the two or more virtual machines, the second allocation resulting in one or more VM-level IOPS apportionments to the two or more virtual machines.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for policy-based apportionment of input/output operations (IOPS) in computing systems. Embodiments access a policy that specifies IOPS limits. Two or more virtual machines that are associated with the policy and two or more nodes that host those virtual machines are identified. In a first allocation stage, an inter-node policy manager prescribes an initial IOPS limit to the two or more nodes. The allocation amounts sent to the nodes depend at least in part on performance capabilities of respective nodes. In a second allocation stage, for each node that had received a limit amount, that amount is apportioned to the sets of virtual machines that execute on respective host nodes. Each node of the two or more nodes invokes its own node-local IOPS monitoring. Each node reports IOPS usage data to the inter-node policy manager, which in turn adjusts the node-level IOPS apportionments based on the node-level usage.
5 Citations
20 Claims
-
1. A method for multi-stage input/output operations (IOPS) allocations, the method comprising:
-
identifying at least one policy that specifies at least one IOPS limit; determining two or more virtual machines associated with the at least one policy; determining two or more nodes that host the two or more virtual machines; performing a first allocation to apportion the at least one IOPS limit over the two or more nodes, the first allocation resulting in two or more node-level IOPS apportionments that correspond to the two or more nodes; and performing a second allocation to apportion the node-level IOPS apportionments to the two or more virtual machines, the second allocation resulting in one or more VM-level IOPS apportionments to the two or more virtual machines. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer readable medium, embodied in a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by one or more processors causes the one or more processors to perform a set of acts for multi-stage input/output operations (IOPS) allocations, the acts comprising:
-
identifying at least one policy that specifies at least one IOPS limit; determining two or more virtual machines associated with the at least one policy; determining two or more nodes that host the two or more virtual machines; performing a first allocation to apportion the at least one IOPS limit over the two or more nodes, the first allocation resulting in two or more node-level IOPS apportionments that correspond to the two or more nodes; and performing a second allocation to apportion the node-level IOPS apportionments to the two or more virtual machines, the second allocation resulting in one or more VM-level IOPS apportionments to the two or more virtual machines. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for multi-stage input/output operations (IOPS) allocations, the system comprising:
-
a storage medium having stored thereon a sequence of instructions; and one or more processors that execute the instructions to cause the one or more processors to perform a set of acts, the acts comprising, identifying at least one policy that specifies at least one IOPS limit; determining two or more virtual machines associated with the at least one policy; determining two or more nodes that host the two or more virtual machines; performing a first allocation to apportion the at least one IOPS limit over the two or more nodes, the first allocation resulting in two or more node-level IOPS apportionments that correspond to the two or more nodes; and performing a second allocation to apportion the node-level IOPS apportionments to the two or more virtual machines, the second allocation resulting in one or more VM-level IOPS apportionments to the two or more virtual machines. - View Dependent Claims (20)
-
Specification