1. A method, comprising: receiving from a requestor a scope request including an indication of a number of compute units to be reserved for a scope; receiving an application request associated with the scope; determining a number of compute units associated with the application request; allocating a subset of available processing machines from a pool of processing machines to the application request, wherein a number of compute units associated with the subset is greater than the number of compute units associated with the application request, and wherein other processing machines from the pool are allocated to other application requests associated with other scopes; dividing the application request into a plurality of tasks; associating a deadline with each task; assigning each task to a processing machine in the subset; if a processing machine does not complete the task before the deadline, re-assigning the task to another processing machine in the subset; and allocating a cost to the requester, wherein the allocated cost is based at least in part on (i) a cost associated with the entire pool of processing machines and (ii) the number of compute units reserved for the scope.