Announcement

Collapse
No announcement yet.

Intel Working On Energy Aware Scheduling For x86 Hybrid CPUs

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Intel Working On Energy Aware Scheduling For x86 Hybrid CPUs

    Phoronix: Intel Working On Energy Aware Scheduling For x86 Hybrid CPUs

    For a number of years Arm CPUs on the mainline Linux kernel have supported Energy Aware Scheduling (EAS) as a means of providing the kernel's scheduler with the information to influence its scheduling decisions based on the estimated energy consumed by the CPU cores. EAS employs an energy model for helping to place tasks between the big.LITTLE cores for optimal energy efficiency and a minimal impact on throughput. Intel has been working to eventually support Energy Aware Scheduling on their x86 hybrid CPUs too...

    https://www.phoronix.com/news/Intel-x86-EAS-To-Come

  • #2
    Looks like P/E proper scheduling is even more difficult than I first thought.
    • When all the P cores are busy, where's the best to run the task, on SMT siblings or vacant E-cores?
    • P cores may be more effective than E cores because they complete the task ... faster.
    • All the migrations are relatively expensive, of course, because L1/L2 caches are not shared between P and E cores.
    • What about power constraints?
    Looks like E-cores are only good for true MT applications like video rendering/encoding, science, etc. and shouldn't be used for anything else other than backgrounds tasks otherwise.

    Comment


    • #3
      Originally posted by birdie View Post
      Looks like P/E proper scheduling is even more difficult than I first thought.
      • When all the P cores are busy, where's the best to run the task, on SMT siblings or vacant E-cores?
      • P cores may be more effective than E cores because they complete the task ... faster.
      • All the migrations are relatively expensive, of course, because L1/L2 caches are not shared between P and E cores.
      • What about power constraints?
      Looks like E-cores are only good for true MT applications like video rendering/encoding, science, etc. and shouldn't be used for anything else other than backgrounds tasks otherwise.
      Checkout this article and its slides https://www.phoronix.com/news/Intel-x86-EAS-To-Come

      Intel devs have mentioned that the scheduler should prefer P-core to E-core to SMT siblings and they are already doing the work to further optimize the scheduler.

      Comment


      • #4
        Originally posted by birdie View Post
        [*]When all the P cores are busy, where's the best to run the task, on SMT siblings or vacant E-cores?[*]P cores may be more effective than E cores because they complete the task ... faster.
        If you're running multiple unrelated CPU-bottlenecked tasks at the same time, you're handling your workload wrong. Most things that demand P cores should be left to finish the job or should finish quickly enough where it doesn't matter if they're queued up (or, finish quickly enough that they could be pushed to an E-core with a negligible performance impact).

        Comment


        • #5
          Michael

          Grammar

          "Another element being worked on by Intel is that Energy Aware Scheduling support." should probably be "Another element being worked on by Intel is Energy Aware Scheduling support." (no that)

          Also...this sentence

          There can also be the matter at least with Alder Lake where the P-cores can be "often" more efficient than the E-cores.

          should probably be

          There can also be the matter at least with Alder Lake where the P-cores can often be more efficient than the E-cores.

          Comment

          Working...
          X