1. In a computer system, a computer implemented method of switching a resource consumer from a first resource consumer group to a second resource consumer group, comprising: identifying a resource allocation plan, the resource allocation plan specifying the first resource consumer group to which the resource consumer is assigned; identifying a switch criterion defining timing circumstances that when met trigger the switching of the resource consumer from the first resource consumer group to the second resource consumer group; comparing the switch criterion with current timing circumstances associated with the resource consumer; and switching the resource consumer from the first resource consumer group to the second resource consumer group when the current timing circumstances are greater than the switch criterion and the resource consumer is assigned to the second resource group for further execution based on an estimated execution time wherein the switch criterion comprises a maximum estimated execution time for the resource consumer; and storing the estimated execution time in a volatile medium or non-volatile medium.