FreeBSD Scheduling on Hybrid CPUs
wiki.freebsd.org
FreeBSD Scheduling on Hybrid CPUs
1–10 of 35 posts
Re: FreeBSD Scheduling on Hybrid CPUs
#2Really? I just bought one:
https://www.intel.com/content/www/us/en/products/sku/236786/...
Re: FreeBSD Scheduling on Hybrid CPUs
#3> Apart from some models of Alder Lake, it is now impossible to buy an Intel chip that does not have at least P (Performance) and E (Efficiency) cores. Really? I just bought one: https://www.intel.com/content/www/us/en/products/sku/236786/...
Re: FreeBSD Scheduling on Hybrid CPUs
#4> Apart from some models of Alder Lake, it is now impossible to buy an Intel chip that does not have at least P (Performance) and E (Efficiency) cores. Really? I just bought one: https://www.intel.com/content/www/us/en/products/sku/236786/...
How about change that to "Anything with more than 6 cores". Anything with 4 cores only has one speed of core. At 6 cores it more of a mixed bag, some have all the same cores, some have a split of performance and efficient cores. Anything over an i5 will have E cores.
Re: FreeBSD Scheduling on Hybrid CPUs
#5Earlier quoted context omitted.
How about change that to "Anything with more than 6 cores". Anything with 4 cores only has one speed of core. At 6 cores it more of a mixed bag, some have all the same cores, some have a split of performance and efficient cores. Anything over an i5 will have E cores.
Hmm, I think Granite Rapids is all P-Cores and goes up to 86 cores (172 threads): https://en.wikipedia.org/wiki/Granite_Rapids
They are a bit expensive but I wouldn't expect them to drop these skews in the long term for HPC & compute bound workloads. My guess is that diamond rapids will also have some P-skews and maybe AP skews.
Re: FreeBSD Scheduling on Hybrid CPUs
#6> Apart from some models of Alder Lake, it is now impossible to buy an Intel chip that does not have at least P (Performance) and E (Efficiency) cores. Really? I just bought one: https://www.intel.com/content/www/us/en/products/sku/236786/...
Re: FreeBSD Scheduling on Hybrid CPUs
#7Re: FreeBSD Scheduling on Hybrid CPUs
#8The 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…
Re: FreeBSD Scheduling on Hybrid CPUs
#9The 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…
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…
https://developer.apple.com/library/archive/documentation/Pe...
Re: FreeBSD Scheduling on Hybrid CPUs
#10The 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…
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-time tasks, and for nice-below-zero tasks.
These are two extremes, but I suppose that the idea is understandable.