Token-Based Adaptive Task Management for Virtual Machines
First Claim
Patent Images
1. A system for achieving maximal throughput in a virtual datacenter having dynamically changing resources, said system comprising:
- a memory area associated with a task management device, said memory area storing a plurality of outstanding tasks to be performed by a plurality of virtual machines (VMs) executing in the virtual datacenter; and
a processor programmed to;
normalize the outstanding tasks stored in the memory area by assigning a quantity of tokens to each of the outstanding tasks, the tokens representing an amount of work performed by the virtual datacenter when performing the outstanding tasks, the assigned quantity of tokens representing a second token batch size;
measure, by the task management device, a first throughput at a first token batch size and a second throughput at the second token batch size;
calculate, by the task management device, a rate of change between the measured first throughput at the first token batch size and the measured second throughput at the second token batch size; and
identify an output token batch size by;
if the calculated rate of change is negative, identify an output token batch size based on a combination of the first token batch size and the second token batch size; and
otherwise, select, by the task management device, a third token batch size and repeat said measure, said calculate, and said identify using the second token batch size as the first token batch size and the third token batch size as the second token batch size during the repeating.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments perform adaptive throttling of tasks into a virtual datacenter having dynamically changing resources. Tasks are processed concurrently in batches. The rate of change in throughput at different batch sizes is calculated. With each iteration, the batch size is increased or decreased based on the rate of change to achieve a maximum throughput for given resources and load on the virtual datacenter.
22 Citations
20 Claims
-
1. A system for achieving maximal throughput in a virtual datacenter having dynamically changing resources, said system comprising:
-
a memory area associated with a task management device, said memory area storing a plurality of outstanding tasks to be performed by a plurality of virtual machines (VMs) executing in the virtual datacenter; and a processor programmed to; normalize the outstanding tasks stored in the memory area by assigning a quantity of tokens to each of the outstanding tasks, the tokens representing an amount of work performed by the virtual datacenter when performing the outstanding tasks, the assigned quantity of tokens representing a second token batch size; measure, by the task management device, a first throughput at a first token batch size and a second throughput at the second token batch size; calculate, by the task management device, a rate of change between the measured first throughput at the first token batch size and the measured second throughput at the second token batch size; and identify an output token batch size by; if the calculated rate of change is negative, identify an output token batch size based on a combination of the first token batch size and the second token batch size; and otherwise, select, by the task management device, a third token batch size and repeat said measure, said calculate, and said identify using the second token batch size as the first token batch size and the third token batch size as the second token batch size during the repeating. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for iteratively determining an optimal amount of work to be performed efficiently by a computing device, the method comprising:
-
measuring, by a task management device, a first throughput at a first token batch size and a second throughput at a second token batch size, the first token batch size and the second token batch size each representing an amount of work performed by a computing device; calculating, by the task management device, a rate of change between the measured first throughput at the first token batch size and the measured second throughput at the second token batch size; selecting, by the task management device, a third token batch size based on the calculated rate of change; providing a quantity of tasks corresponding to the selected third token batch size to the computing device for processing; and repeating said measuring, said calculating, said selecting, said providing, and said repeating using the second token batch size as the first token batch size and the third token batch size as the second token batch size during said repeating. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. One or more computer-readable storage media including computer-executable instructions that, when executed, cause at least one processor to intermittently identify maximal throughput in an environment having dynamically changing resources by:
-
measuring, by a task management device, a first throughput at a first token batch size and a second throughput at a second token batch size, the token batch size representing an amount of work performed by a computing device; calculating, by the task management device, a rate of change between the measured first throughput at the first token batch size and the measured second throughput at the second token batch size; and identifying an output batch size by; if the calculated rate of change is negative, allocating a quantity of tokens based at least on the first token batch size to outstanding tasks to be performed by the computing device; and otherwise, selecting, by the task management device, a third token batch size and repeating said measuring, said calculating, and said identifying using the second token batch size as the first token batch size and the third token batch size as the second token batch size during said repeating. - View Dependent Claims (18, 19, 20)
-
Specification