Was thinking today about current advanced power management techniques that are done on performance CPUs.
CPUs have a preset upper TDP that they are not allow to exceed. To do that under heavy load, they throttle to some extent. This results in the CPU not reaching its turbo frequencies or even going bellow its stock frequency.
What if the CPU can predict that a TDP threshold is going to be exceeded? Or the software scheduler? Then it (or the software) would be able to pick lighter workloads. Thus preventing throttling or enabling even higher turbo states.
Surely there is some performance to be gained here. And surely this can be achieved at one level or another. Dunno if it is worth it.
Regardless if this is done in hardware or software, the predictability of performance will get lower once such a technique is used.
Your thoughts? Any literature that covers this (had only a first and very brief look)?
CPUs have a preset upper TDP that they are not allow to exceed. To do that under heavy load, they throttle to some extent. This results in the CPU not reaching its turbo frequencies or even going bellow its stock frequency.
What if the CPU can predict that a TDP threshold is going to be exceeded? Or the software scheduler? Then it (or the software) would be able to pick lighter workloads. Thus preventing throttling or enabling even higher turbo states.
Surely there is some performance to be gained here. And surely this can be achieved at one level or another. Dunno if it is worth it.
Regardless if this is done in hardware or software, the predictability of performance will get lower once such a technique is used.
Your thoughts? Any literature that covers this (had only a first and very brief look)?