1. A method for allocating a task in a computing environment, the method comprising: receiving, at each of a plurality of computing devices, a task execution estimation request message from a central server, wherein the task execution estimation request message comprises a worst-case execution time (WCET) corresponding to the computing device; computing, by each of the plurality of computing devices, an estimate task execution time for the task based on the WCET and a state transition model corresponding to the computing device, wherein the state transition model indicates available processing resources corresponding to the computing device; and transmitting, by each of the plurality of computing devices, the estimate task execution time to the central server for allocation of the task to a computing device from amongst the plurality of computing devices based on the estimate task execution time corresponding to the computing device.