3 ms·
I'm curious if there is some architectural limit that prevents Apple from doing something similar on Intel Macs, at least ones with 8+ cores. The scheduler coul
by cmsj 5y ago
I'm curious if there is some architectural limit that prevents Apple from doing something similar on Intel Macs, at least ones with 8+ cores. The scheduler could arbitrarily nominate 4 cores as "efficiency" cores and keep them for background tasks, leaving the rest free for "performance".
- twoodfin 5y agoI think the issue is that thermals, and thus overall efficiency, is optimized on the Intel chips when long-running work is split evenly across the cores.
- archi42 5y agoWithout knowing the inner workings of Apple's scheduler: I don't think there is any reasons this wouldn't work on x86 hardware. All you need is some API to tell the scheduler whether a task should be done "asap" or "whenever". But you then get a huge tradeoff: If you reserve over 50% of the computational power for "asap" stuff, then all the "whenever" stuff will take twice as long as usual (assuming the tasks to be limited by compute power). On a 8C Intel that means that, for a lot of stuff, you're now essentially running on a 4C Intel. Given the price of these chips that MIGHT be a difficult sell, even for Apple. On the M1 they don't seem to care.
- kingsuper20 5y ago>All you need is some API to tell the scheduler whether a task should be done "asap" or "whenever". We could call it ::SetThreadPriority()
- agloeregrets 5y agoFor intel that would cause some serious thermal issues. The Four E cores in the M1 use about the same amount of power as one big core (5w total). In an Intel chip that would mean the four 'E' cores would use probably 10 watts each, that's 40 watts cooking a chip. Intel does have a chip for you though, they have a version with mixed UlV cores and big cores.