Scalable, energy-aware resource allocation for distributed computing