Resource Allocation for Energy Efficiency and QoS Provisioning