New Linux OS Scheduler Reduces Lag by Keeping Light Work on Fewer CPU Cores

According to a report by Phoronix, a new CPU scheduler is being developed for Linux operating systems that decreases system latency and improves performance in low load scenarios. The new scheduler, known as Nest, is designed to focus lightly threaded workloads towards as few processing cores as possible, in an effort to keep boost frequencies at their peak for as long as possible.

This strategy is a large departure from most CPU schedulers being used today, which are optimized for multi-core saturation. This strategy is great in theory, since it evenly distributes as many tasks to as many cores as possible, but due to architectural deficiencies in modern CPUs, this strategy isn't the best use of CPU resources.

But nowadays, CPU frequency behavior has become a lot more complicated, with chips being able to run at a near infinite amount of differing clock speeds, along with several tiers of sleep states the cores can enter when underutilized. 

These new features are amazing at increasing efficiency, but they can introduce unwanted lag that is caused by delays in CPU clock speed adjustments. A CPU can't wake from sleep instantaneously; it needs some time to wake up. 

Nest does this by "nesting" cores that it knows are actively being used or recently were used, and believes these cores will be useful in the near future. Nest does this with two clusters it calls the "Primary Nest" and the "Reserve Nest". The Primary Nest is where all the active cores and predicted active cores reside for light to moderate workloads. The Reserve Nest is where all the unused cores are located.

Hopefully we'll get to see it in action one day soon in a real world Linux system, but for now, it is still being researched.

Aaron Klotz
Contributing Writer

Aaron Klotz is a contributing writer for Tom’s Hardware, covering news related to computer hardware such as CPUs, and graphics cards.

  • Megangel1
    " The Reserve Nest is where all the unused cores are located. " Nope, it is where cores previously in the Primary nest but haven't been used for a while are put. Other unused cores are not in either nest.
    Reply
  • svavar79
    Hopefully this will open up support for efficiency cores like those found in recent Intel laptop CPUs.
    Reply
  • TJ Hooker
    svavar79 said:
    Hopefully this will open up support for efficiency cores like those found in recent Intel laptop CPUs.
    As an FYI, it's not just their mobile CPUs that have Efficiency cores. Many Intel Alder Lake desktop chips have them as well. And they've been supported by Linux for months now (as long as you're running a recent kernel version).
    Reply
  • washmc
    TJ Hooker said:
    As an FYI, it's not just their mobile CPUs that have Efficiency cores. Many Intel Alder Lake desktop chips have them as well. And they've been supported by Linux for months now (as long as you're running a recent kernel version).
    Also I believe this is a completely separate issue being addressed by other means than what this article is describing. E-core usage should be getting addressed as we speak, whereas Nest is I believe a further down the line concept.
    Reply
  • TerryLaze
    svavar79 said:
    Hopefully this will open up support for efficiency cores like those found in recent Intel laptop CPUs.
    This is mostly for ryzen cpus and older intel cpus, in general cpus that have turbo tables and boost to different clocks depending on how many cores are under load.
    On such cpus the lower the amount of cores doing work the higher the clocks on these cores so the less lag you get.

    We have come to the point that we have so many cores on main stream systems that the OS has to take steps to counter-act.
    Reply