6 ms·
I hate P-cores and E-cores. It feels like they're not trying to improve performance, and instead are just searching after the marketing for ever-higher numbers
by heroprotagonist 3y ago
I hate P-cores and E-cores. It feels like they're not trying to improve performance, and instead are just searching after the marketing for ever-higher numbers of cores.
This of course backfires once people realize it doesn't matter if you have 64 cores when most of them run like crap and cause you to have to constantly self-manage whitelisting processes to run only on performance cores.
I'd rather have fewer cores of all the same higher performance that don't cause a hassle.
- userbinator 3y agoI suspect that's the outcome of trying to optimise for some specific efficiency benchmark.
- wtallis 3y agoIt's the outcome of trying to optimize for cost while trying to maintain good performance on two very different categories of workload, and hurriedly throwing together a product based on the components they had on hand (the Core and Atom families of CPU core designs).
- ants_a 3y agoFor well scaling workloads optimizing for efficiency is optimizing for performance. For serial workloads even one P-core is enough. There aren't too many workloads in the middle that scale but only to a few cores.
- glimshe 3y agoP-Cores and E-Cores make engineering sense, that's why they do it. Having every core with the same feature set and maximum clock wastes energy and heat for no measurable gain in the majority of real-world workloads.
- jltsiren 3y agoI believe Intel E-cores are all about maximizing performance. Each E-core has 40-50% of the performance of a P-core, but it only takes ~1/4 of the space. You need a few fast cores for tasks that don't parallelize well, but beyond that, you really want to maximize performance per die area and/or power efficiency. It's a bit inconvenient that all cores are not identical, especially in real-time applications such as video games. Some schedulers may also not be able to use them well automatically. But if you care mostly about throughput, E-cores are superior to P-cores.
- jeffbee 3y agoEven the P cores are not identical. On a 14900K there are two cores with +2 speed bins (6GHz) vs all the others (5.8GHz). And there are local thermal effects, because the 8 P cores are arranged in two rows of four. Some of them get heated from all sides, some don't. Optimal scheduling on such a system is not easy.
- Dalewyn 3y ago[flagged]
- wtallis 3y agoPlease try not to take perceived criticism of Intel as a personal attack, and please don't accuse others of being partisan without stopping to consider whether the bias you perceive is present in the comment itself or only in your reading of it. Jeffbee's comment can be reasonably read as simply pointing out the futility of asking for all cores to be identical: the existence of minor but measurable variations between nominally identical cores is the unavoidable reality that undermines any attempt to insist on complete symmetry between cores on the same chip. This fact is not an attack on Intel; it applies just as much to chips made by AMD, and nobody tried to present this as a unique downside for Intel, and jeffbee doesn't seem to actually be asking for the idealized chip that can be optimally managed by the simplest schedulers.
- majke 3y agoI write low level code. I need to profile it. It's enough pain to try to understand performance in the turbo boost model. Then Intel was adding avx512 throttling. Now the P vs E cores and some P cores having different max ghz from others. AMD adds its own set of problems with the slower (ghz) CCD with x3d. As a developer I don't mind the P/E on my laptop. I actually enjoy the apple silicon version of it. On a desktop though, where cooling and power are not a problem, I would strongly prefer a uniform, predictable architecture.
- jeffbee 3y ago
- yinser 3y agoAnd this “backfiring” is it in the room with us now? Keeping low priority tasks from blocking other work that needs the performance is a great feature.
- pengaru 3y agoe-cores would be fine if there's on the order of a hundred+ of them in exchange for a p-core's die area, and the memory bandwidth to keep them fed.
- Panzer04 3y agoWe have those, but we call them GPUs. E cores are meant to make a much milder tradeoff of performance and features than would be required to jam that many computing units into that area.
- imtringued 3y agoI don't care about any of these things. Just give me more memory channels.
- drain 3y agoBut having E-cores does seem to offer the benefit of greater multi-threaded performance and reduced power consumption - something intel has struggled with [1][2]. I find this innovation from intel much more refreshing than their typical route of clocking CPU's beyond diminishing returns with regard to power consumption. I imagine this higher degree of power consumption flexibility makes a lot of sense for laptops also. Though I don't have experiencing using these CPUs so I don't know how well management of processes is implemented (probably only going to improve from now though). Sure, marketing might play a bit into it. Less savvy buyers might make the mistake of comparing core counts across different brands / architectures rather than checking benchmark comparisons. Makes me think of the class action that happened with the Bulldozer architecture [3]. As long as they advertise the cores as distinct P and E cores, I think it is fair enough. [1] https://www.tomshardware.com/reviews/intel-core-i9-12900k-and-core-i5-12600k-review-retaking-the-gaming-crown/3 https://www.tomshardware.com/reviews/intel-core-i9-12900k-an... [2] https://www.tomshardware.com/reviews/cpu-hierarchy,4312.html#section-multi-threaded-cpu-benchmarks-rankings-2024 https://www.tomshardware.com/reviews/cpu-hierarchy,4312.html... [3] https://en.wikipedia.org/wiki/Bulldozer_(microarchitecture)#False_advertising_lawsuit https://en.wikipedia.org/wiki/Bulldozer_(microarchitecture)#...
- wtallis 3y ago> when most of them run like crap That's not even close to an accurate description of Intel's E cores. They have the same performance per clock as the Skylake cores they shipped in all their desktop processors from 2015 until just three years ago, and the E cores run at similar speeds. They may be descended from Intel Atom, but they're not crap. The general idea of the E cores is sound: for tasks that can scale to more than a handful of threads, the E cores provide better performance per mm^2 of silicon and better performance per Watt. Going beyond the current 6-8 P cores in a consumer processor makes no sense; extra silicon budget should be spent on more E cores (and maybe more cache per E core).
- kllrnohj 3y agoExcept as AMD is showing you can have both and not be at the mercy of hoping your OS's scheduler is able to consistently figure out what to do.
- wtallis 3y agoAMD's main advantage is that their P cores are much more reasonably-sized than Intel's P cores, so they don't need a heterogeneous solution as badly as Intel. But even so, AMD has an entry-level consumer chip that is heterogeneous, though not as severely as Intel's consumer chips.
- mmaniac 3y agoAMD has the advantage of Zen 4c being functionally the same as Zen 4 in every way except its frequency profile. The cache hierarchy and IPC between Phoenix 2's heterogeneous cores is identical. It's much easier to make scheduling decisions than on Intel.
- Dylan16807 3y agoAMD "c" cores are about 65% as big as the normal ones. Intel "E" cores are about 30% as big as the normal ones. AMD avoids the scheduling issues, but does not get the density benefits.
- yourusername 3y ago
- dagmx 3y agoE cores make a significant difference to most common computer use cases. The case where you have many lower workload tasks or system processes, and a few high workload tasks. This allows for maximizing throughput for the majority of users, while also optimizing for silicon usage and power draw. Perhaps for your use cases, E cores don’t benefit you, but there’s been over a decade of proof of the use of heterogenous cores across mobile, laptops and now desktops.
- deleted 3y ago[deleted]
- pjmlp 3y agoThat is a way to increase core count at manageable cost, given that having threads sharing the same core wasn't a good idea after all.