Power constraints transform the face of computing

The trends of increasing clock rates and single-core complexity that held through for many decades hit a dramatic wall around the middle of the first decade of the 21st century.  The heat dissipation per square inch driven by increasing clock rates was approaching that of the surface of the sun.  Using the additional transistors to make multiple, slower cores, rather than simply a faster single core, became the only way forward.
However, power efficiency has other trends that also interact with future computing platforms in ways that a practitioner needs to be aware of.  In particular, dynamic power management is an increasingly common feature.  From a programmer’s perspective, this may not be a huge issue, as it doesn’t change correctness of a code, but it can have an extremely significant impact on performance assumptions.