1. One or more computer storage media having computer-useable instructions embodied thereon for performing a method for scheduling vertices in a cluster, the method comprising: receiving a data job; dividing the data job into a plurality of vertices; assigning the plurality of vertices to one or more process nodes that comprise the cluster; receiving resource usage information for one or more vertices, wherein the vertices have run to completion, and wherein resource usage information for the vertices has been determined; and for each of the plurality of vertices for which resource usage information has not been received: estimating resource usage of the vertex from the received resource usage information for the completed vertices, and transmitting the estimated resource usage of the vertex to the process node in the cluster to which the vertex is assigned, wherein the process node allocates computing resources to the vertex based on the estimated resource usage.