CloudAlloc: A Monitoring and Reservation System for Compute Clusters