This document discusses strategies for improving energy efficiency in hybrid programming models that use both message passing and shared memory. It presents new software-controlled execution schemes that consider dynamic concurrency throttling and dynamic voltage frequency scaling for hybrid models. These schemes use predictive models and algorithms to determine optimal resource configurations for different concurrency and frequency settings. When applied to benchmarks and scientific applications, the approaches achieved substantial energy savings of up to 13.8% on average with some applications seeing performance gains of up to 7.5% or negligible losses.