Live data from Hacker News

FreeBSD Scheduling on Hybrid CPUs

wiki.freebsd.org

31–35 of 35 posts

Re: FreeBSD Scheduling on Hybrid CPUs

#31
post #12

Earlier quoted context omitted.

> So, when powered by AC power, schedule everything on P cores when possible, schedule processes that eat a lot of CPU on P cores, same for any process with a negative nice value. Even when plugged in, you may have thermal limitations. P cores will chew through your power budget more aggressively than E cores. For latency-sensitive workloads you do want to emphasize the P cores, but when throughput is the goal you'll…

Always personally disable turbo boost. Especially on laptops

Far better would be to tweak the time constants to your liking, so that you can use the full clock range of the chip, but constrain its sustained power draw for quiet and long battery life.

Re: FreeBSD Scheduling on Hybrid CPUs

#32

Maybe its just me, but this P&E arch is underwhelming and screams similar issues AMD bulldozer again. Claims of massive core counts with mediocre performance, and little control over how things are assigned to the cores. Maybe that will improve over time with improved schedulers, but I doubt it. Its looks like an architectural issue. The experience feels so inconstant, even ending up worse than the prior generations…

I see the heterogeneous architectures as mostly a plus. If you want the most throughput for a highly parallel workload given a power and silicon budget 100% E cores would be best. If you have some workloads that don't parallelize well then a few P cores are best. Heterogeneous gives possibilities to optimize for both cases. There is another knob to turn, and mistakes can be made, but this should be an overall positive.

My bigger concern with the newer Intel CPUs are the crashes and reliability issues that were reported.

Re: FreeBSD Scheduling on Hybrid CPUs

#33

Earlier quoted context omitted.

As a user with a laptop, the last thing I want is the OS to decide for me. I want to tell it myself "this is sensitive, put all your energy into it because I'm five minutes away from pushing that important work and I have seven minutes of battery left" or "this won't work at all if run at less than 2 GHz" vs "I must drag what I'm doing along for as long as I can, save every bit of battery possible. The computer can't…

I feel like cases 1, 2, and 3 broadly fit into "Battery Saver", "Performance", and "Battery Saver" modes?

Yes exactly - which I set myself depending on my current use case at hand. I definitely don't want the OS to try and guess

Re: FreeBSD Scheduling on Hybrid CPUs

#34
post #10
post #7

The high-level pitch of P cores and E cores seems so elegant, but when it actually comes to scheduling, it gets messy fast. Even in a laptop running off a battery, you can't simply switch to E cores because some short-lived work might be latency-sensitive. You also can't assume long-running work should be on an E core because maybe you're anxious to get that video encoded. Even for lots of small work, different core…

Funny enough, Unix already has user-settable priorities, aka "nice level". ACPI gives us an idea how plentiful the power is. So, when powered by AC power, schedule everything on P cores when possible, schedule processes that eat a lot of CPU on P cores, same for any process with a negative nice value. When powered by a battery, schedule anything with non-negative nice value on E cores, keep one P core up for real-tim…

I think that here is where things are lacking. There's not enough information that can be conveyed to the OS with just a number, and the number seems fixed and not tied to user input (active application, user just clicked, action blocking presentation).

It'd be cool if tasks told you about their workload in terms of latency throughput, and cadence required (hello skipping audio when you compile hard).

Re: FreeBSD Scheduling on Hybrid CPUs

#35

Maybe its just me, but this P&E arch is underwhelming and screams similar issues AMD bulldozer again. Claims of massive core counts with mediocre performance, and little control over how things are assigned to the cores. Maybe that will improve over time with improved schedulers, but I doubt it. Its looks like an architectural issue. The experience feels so inconstant, even ending up worse than the prior generations…

You do realise every single Smartphone has had P&E core for the past 6 - 7 years? The problem is more with Intel.
Post reply on HN