1. A computer implemented method for distributing work amongst a plurality of nodes in a distributed computing environment, the method comprising: extracting a first plurality of tasks from the work, wherein the number of tasks in the first plurality of tasks is selected in correspondence to the number of nodes, and wherein sizes of the tasks in the first plurality of tasks are sized based on a job load metric of each of the nodes; distributing the first plurality of tasks to at least some of the nodes for processing; receiving responses of completion of the distributed first plurality of tasks from respective nodes; determining whether a time difference between a response from a node that is first to complete its task and a response from a node that is last to complete its task exceeds a predefined threshold; responsive to a determination that the time difference exceeds the predefined threshold, adjusting the job load metric of at least some of the nodes; extracting a second plurality of tasks from the work, wherein the number of tasks in the second plurality of tasks is selected in correspondence to the number of nodes, and wherein sizes of the tasks in the second plurality of tasks are sized based on the adjusted job load metric of each of the nodes; and distributing the second plurality of tasks to at least some of the nodes for processing.