1. A method of co-allocating resources within a compute environment, the method comprising: receiving a first request for a reservation for a first type of resource; analyzing constraints and guarantees associated with the first request; identifying a first group of resources that meet the first request; receiving a second request for a reservation for a second type of resource; analyzing constraints and guarantees associated with the second request; identifying a second group of resources that meet the second request; and generating a co-allocation map between the first group of resources and the second group of resources.