1. A method comprising: receiving a request for resources within a compute environment, the request being associated with workload; identifying feasible resources within the compute environment for the request to yield identified feasible resources; analyzing each identified feasible resource for its effective speed in fulfilling the request; based on the request and each identified feasible resource with its effective speed, determining a first completion time associated with a first resource type and a second completion time for a second resource type required by the request to yield a determination comprising a potential completion time range for the request with at least one other requirement, wherein the first resource type is one of a processor, a memory, bandwidth, and a hard drive, and the second resource type is of a different type from the first resource type; generating a co-allocation map for multiple collections of resources that can meet the request based on the determination; and reserving resources of the first resource type and the second resource type within the compute environment based on the co-allocation map.