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.