Using CPU gradients for performance-aware energy conservation in multitier systems