The Intel 12th Generation (Alder Lake) CPU is the first Intel consumer CPU that introduces a new hybrid big.LITTLE CPU architecture. This new hybrid Intel CPU architecture integrates two types of CPU cores: Performance-cores (P-cores) and Efficiency-cores (E-cores) into the same physical CPU die. For more information about this new hybrid Intel CPU design, check out this resource HERE.
These new hybrid Intel CPUs have also become the defacto standard for the Intel NUCs starting with the 12th Generation Intel NUCs (Dragon Canyon, Wall Street Canyon & Serprent Canyon), which were released last year. While the ESXi scheduler does not support or understand this new consumer CPU architecture, it can function with ESXi but does require an ESXi kernel boot option, which I have documented HERE, that tells ESXi to ignore the CPU differences.
While this has been an acceptable workaround, there are no guarantees on how the ESXi scheduler will behave. Furthermore, you will also not benefit from Hyper-threading (HT) on the P-cores as the E-cores do not contain HT-enabled cores and hence HT is also disabled by ESXi. A slightly better workaround is to actually disable the E-cores, which would give you uniform CPU P-cores and also access to HT. During my initial investigation, I was never able to figure out how to disable the E-cores within the Intel NUC BIOs and I had assumed it was just not possible.
I recently had re-inquired about this configuration change and came to learn that it is possible to change both the P-core and E-core settings within the Intel NUC BIOs, it was just not very intuitive!
Depending on your needs, you might prefer to disable the P-cores to run on the lower power E-cores or get the full benefits of the P-cores by disabling the E-cores.
Step 1 - Press F2 during the boot up which will launch the Intel NUC BIOS and then navigate to the Power, Performance and Cooling tab. Change the default value of the External Ambient Temperature Tolerance to User Defined and this will actually enable the Performance setting to be configurable.
Step 2 - Hit enter to enter the Performance setting and then access the Processor setting located at the bottom
Step 3 - Finally, you can adjust the various CPU settings including the number of active both P-cores and E-cores, which by default is All. To disable all E-cores, change the value from All to 0 and vice versa if you wish to disable all P-cores.
Press F10 to save the settings and after you reboot, you no longer need to add the additional ESXi boot option as the cores will now be uniform and ESXi will function normally like a typical uniform x86 CPU.
UPDATE (04/05/23) - If you have an Intel NUC 12 Enthusiast, make sure you have updated to at least BIOS SN0056 and the option will show up under the Performance tab as shown in the screenshot below.
virtuguru says
I found this option when installing ESXi on my NUC12, but I did not use it, as it would only leave me with 4 cores + HT. With P+E cores, I have 12 cores. Much better.
GBMaryland says
I’d be very curious to see if using the efficiency cores actually performs as quickly as having eight hyper threaded performance cores at full speed.
My suspicion is that this will fix the issue with installing the hypervisor that we’ve all seen resulting in a pink screen of death.
Also, if you get at least three hosts, it’s really not as much of an issue.
My home lab is three of the i5WSK NUC 12s… and with iSCSI/NFS storage… it’s a pretty good production mock-up.
rndkyle says
I love how even the BIOS for these NUC systems looks so advanced and tech-savvy. Intel really gives a lot of power and control to its users!
That's a cool feature, though it seems sad that you don't get full use of all the CPU cores with this setup. I guess we sacrifice for going homelab with end system CPUs, instead of the expensive server ones. 🙂
gbmaryland says
William Lam is a god!!! Intel, on the other hand makes crappy BIOSes.... maaaan....
Ilan says
Hi,
Are the performance better with a nuc 11 vs a nuc 12 without E or P cores?
suradech sonngam says
I will buy NUC , but I hesitate what I should buy.
Nuc 13 with lower base cpu speed + disable e-cores or nuc11
Dustin says
Thanks for the review and great, in-depth article, William! I was wondering if you've figured out how to actually disable the E-cores in the SNADL357 firmware the Enthusiast kit runs versus the Extreme, as mine appears to be different than what's documented on the included link. I do not see "External Ambient Temperature Tolerance" in the BIOS and there doesn't appear to be an option to set the cores to 0 (zero) from what I can tell. The values begin at 1.
William Lam says
Interesting, I’m seeing same after booting up my kit as well. I’ve pinged the Intel folks, let’s see what they say
William Lam says
Just heard back from Intel, it looks like you need to update to latest BIOS SN0056 and then you'll be able to disable the E-Cores. I've also updated the blog post with a link to BIOS as I've confirmed on my own kit as well
Dustin says
Perfect! Thanks for doing the leg work on that! I greatly appreciate it. Sorting it now.
Kevin says
Hello William,
I have a NUC12 with the Intel(R) Core(TM) i3-1220P processor, I installed ESXI 8.0.1 with E-core disabled. But I only have 2GHz free on ESXI (with 4 processors => the P-cores) is it normal to only have 2GHz? I shouldn't have 4x 2GHz available (or ESXI8 counts differently than ESXI7)? on my old NUC8-i7 I had 10GHz available.
THANKS
Kevin says
I answer myself, it is indeed logical, I tried with cpuUniformityHardCheckPanic=FALSE I find the 10GHz (with Pcore and Ecore).
On the other hand, in terms of pure performance, what is the best? cpuUniformityHardCheckPanic=FALSE or disable Ecore?
THANKS
Dandelion says
Any update on this one? Is the NUC 11 better than NUC 12, or does ESXI have decent support for the P/E-core combo?
anatharias says
Nobody talks about how it would be incredible to deactivate the P cores to just use the E cores to get a machine with super low power usage...
William Lam says
That’s certainly an interesting scenario … I guess it’ll depend on how well the smaller number of E-Cores works for your setup. Most folks will want more cores + HT, however if you’re able to make use of just E-Cores and get benefits of lower power, fantastic
John says
The E core ideal is just a way of Intel trying to balance efficiency with performance. Everything is focused of efficiency these days especially for laptops and with Apple silicon having both efficiency and performance at the right balance. Intel seems to be wanting to match that or at least close in on that efficiency to prove something to Apple. The problem becomes can this hybrid design be applied correctly with benefits. I am very skeptical the real world case for this hybrid CPU actually does benefit many users.
William Lam says
Agreed John. I've yet to hear any stories where these new Hybrid Cores have been beneficial ... In fact, I've seen reports where gamers had reported performance degradation as the games they were using weren't scheduled correctly or simply placed on the E-Cores which degraded their experience and afaik, there's no easy way to pin or hint to the scheduler on what apps to not schedule