home lab

E Cores vs P Cores in Home Servers

Learn about Intel e cores & p cores and considerations for home lab servers along with advantages of Intel's hybrid architecture, but does it cause issues with self-hosting?

Highlights

  • For self-hosting services and running virtual machines and tons of containers on a home lab server, P cores are the cores that will provide the performance you expect.
  • These cores are not as powerful as their Performance (P) cores in the hybrid CPU layouts, but they add to the performance and energy efficiency at the same time.
  • If you are thinking about a new mini PC for your home lab server and want to go the Intel CPU route, there are some considerations to be made when selecting a mini PC or any other computer with a “hybrid”.

If you are thinking about a new mini PC for your home lab server and want to go the Intel CPU route, there are some considerations to be made when selecting a mini PC or any other computer with a “hybrid” processor. These hybrid processors have “e cores” and “p cores.” What are these? Let’s look at e cores vs p cores in home lab servers and the considerations you need to make.

What are E Cores (Efficiency cores)?

E cores, or Efficiency cores, are a shift in CPU core design, especially with modern Intel chips on the consumer side (AMD has yet to adopt this architecture). This new type of hybrid cores (hybrid architecture) are lower power processor cores and handling background tasks. Operating systems like Windows 11 have been designed to take advantage of these new CPUs.

These cores are not as powerful as their Performance (P) cores in the hybrid CPU layouts, but they add to the performance and energy efficiency at the same time. They can handle less demanding applications but still provide steady, low-power performance.

Modern intel consumer cpus have a hybrid architecture
Modern intel consumer cpus have a hybrid architecture

These types of cores present an interesting option when thinking about your home lab server for various tasks. If you have less intensive processes like file serving, media streaming, or running a web server, E cores, at least on paper, seem to shine for this use case. 

Since they can handle multiple tasks simultaneously without a significant power draw, this can be a benefit when running a home server that may be running 24×7 but where you want cooling and efficiency to be key.

Efficient Cores design

E cores are designed with a smaller physical footprint and simpler architecture than Performance cores. It allows for more E cores to be packed into a single CPU. Often multiple E cores will take up the same space as a single P core. It allows the CPU package as a whole to be able to handle a high number of threads for parallel processing.

In Intel’s design of E cores, they are engineered to run at lower clock speeds, leading to less heat generation and lower energy usage for power efficiency. In a home lab server, where the system might be running 24/7, having a set of cores that minimize energy consumption, lower the temperature it operates at, reduces noise, while still performing necessary tasks, again, is advantageous.

The Efficiency of Intel E Cores

Intel E cores, especially in their latest CPUs, are a testament to the advancements in efficient core technology. They are sometimes a large part of the overall CPU core count. When working with the P cores this can enhance the ability to handle parallel tasks.

What are P Cores (Performance cores)?

The Intel P core is really the type of processor that we have been used to for years, traditional multi-core processors. They are the high-performance cores, the workhorse of the CPU, and the muscle behind running applications, programs, and gaming.

The P core is designed for the most demanding tasks that need high clock speeds and advanced features and capabilities like hyper-threading. You need these cores for complex calculations, data processing, or running resource-intensive applications.

For self-hosting services and running virtual machines and tons of containers on a home lab server, P cores are the cores that will provide the performance you expect. With a hypervisor, P cores are the CPU cores you need for the speed and power required.

With this use case in mind, their architecture maximizes performance, especially in tasks that benefit from high single-thread performance.

Performance Cores: Under the Hood

Performance cores have advanced features. These include large cache sizes, high clock speeds, and can execute more instructions per cycle. They are quite a bit faster and more powerful than E cores.

One key aspect of P cores is their ability to boost performance for specific tasks when needed. For instance, when a home server needs to power on many VMs at the same time, P cores can ramp up their performance to chew through the work.

The use of P cores and E cores in a home lab server setup can potentially benefit from the benefits of each of the cores, with some considerations. While E cores handle the less demanding, ongoing tasks, P cores can be used when the workload becomes more intense. With this, your server can potentially operate more efficiently, handling a wide range of tasks without compromise.

E Cores vs P Cores

Let’s compare E Cores vs P Cores of Intel CPUs hybrid CPU architecture and see how the higher performance E cores compare with the lower powered E cores.

Performance cores (P-cores or Power cores) are characterized by:

  • Their larger physical size
  • They are engineered for high clock speed CPU cores performance
  • Optimization for high turbo frequencies and a high rate of instructions per cycle (IPC) for single core performance
  • Suitability for intensive single-threaded tasks, such as those demanded by many gaming engines.
  • Ability to perform hyper-threading, allowing them to handle two software threads simultaneously.

Efficiency Intel E core (E-cores), on the other hand, are:

  • Smaller in size, with the ability to fit multiple E-cores in the space occupied by one P-core.
  • Designed to optimize CPU efficiency, focusing on performance-per-watt.
  • Suitable for scalable, multi-threaded tasks. They work with P-cores to enhance performance in tasks like video rendering.
  • Tailored to manage background tasks, allowing them to handle smaller operations like running Discord or antivirus software, freeing up P-cores for more intensive tasks like gaming.
  • Capable of managing a single software thread effectively.
  • They offload tasks to allow P cores to run at lower frequencies and watts, helping with cooling

It is good on paper but leads to some challenges with home labs

While the strengths of both the p cores and e cores in the hybrid architecture of modern Intel consumer CPUs would seem to combine to form the perfect CPU, most modern hypervisors are yet to be written to handle this hybrid architecture well. Compatibility with your hypervisor is a consideration and factor when you choose a motherboard, hybrid CPU, RAM, and other hardware to upgrade your home server.

The hybrid architecture of the Intel CPUs works great when the operating system understands how to handle the hybrid architecture and which workloads to place where. However, from my own testing and what I have read from others, there are many considerations to make since hypervisors don’t really use them in the way you would want or expect.

Disable efficient cores

You can disable the efficiency cores on these hybrid CPUs, which provides the most consistent performance with virtualization since you know all workloads are running on the performance cores. Also, by disabling the efficient cores, you don’t have to manage pinning CPUs to specific cores, as I will discuss below.

Below is a screenshot of the BIOS of the recent Beelink SEi12 Core i7-12650H review. Under the Advanced CPU configuration, you will see the setting Active Efficient Cores. Here, you can choose how many e cores you want to be active. You can set this to 0, effectively disabling the E cores.

Disabling the e cores on a hybrid core i7 12650h processor
Disabling the e cores on a hybrid core i7 12650h processor

Challenges with VMware ESXi

VMware has issues unless you enter a special boot parameter or you disable the efficiency cores. If you want to run a VMware ESXi host or cluster of ESXi hosts in your lab with vCenter, and you have hosts that are configured with the hybrid CPU architecture, you will have to apply these workarounds.

VMware, arguably the most popular hypervisor in the enterprise data center, currently doesn’t work with hybrid CPUs since this architecture has yet to make it into the enterprise processor SKUs (Xeons) for the data center.

Currently, with VMware vSphere, you have to introduce some boot parameters to allow ESXi not to encounter a purple screen on boot when it sees dissimilar processors in the CPU package. It will fail with the error “Fatal CPU mismatch on feature…“.

Vmware purple screen of death
Vmware purple screen of death

When VMware is booting, either during the install or after installation and enabling the Efficiency cores, you can press SHIFT+O when prompted and enter the following boot kernel option:

cpuUniformityHardCheckPanic=FALSE

After installation, go through the same process to enter the boot configuration parameter a second time.

After you have installed/booted into VMware ESXi, you can then make this permanent with the following command:

esxcli system settings kernel set -s cpuUniformityHardCheckPanic -v FALSE

Proxmox and E cores

Proxmox can “see” all the cores without any special configuration. However, it doesn’t intelligently handle placing workloads and giving background tasks vs performance tasks to one or the other type of core, at least in my testing.

Proxmox recognizes all cpus in the hybrid architecture
Proxmox recognizes all cpus in the hybrid architecture

Interestingly, you can view the P cores and E cores in Proxmox from the command line using the command:

lscpu -e

You can see below the E cores are the last cores listed, and you only see one CPU for each CPU identifier. If you notice, the CPU identifiers 0-5, you see two numbers of each. This is the performance cores with hyperthreading.

Viewing the performance and efficiency cores in proxmox
Viewing the performance and efficiency cores in proxmox

You can pin VMs to a specific CPU identifier under the advanced options for the CPU hardware properties of the virtual machine in Proxmox:

Pinning cpus to specific cores in proxmox
Pinning cpus to specific cores in proxmox

Doing this will allow you to control which VMs use the efficiency cores and which ones are pinned to the performance cores.

Key takeaways

There are some definite key takeaways when considering a home server with hybrid CPU chip architecture with the e-core. Can these processors run virtualization? Yes, they can, and they provide benefits in their architecture for performance and efficiency. However, the problem with these processors is that most hypervisors have not fully introduced support for all the features of these hybrid processors when it comes to CPU scheduling.

With VMware there are challenges even getting it to boot or install without the special boot parameter. You can also disable the E cores to get around this issue. Proxmox handles the E cores just fine with the recent Linux kernel. However, by default, you have no control over how these cores are used unless you pin VMs to specific cores with affinity settings. Keep these things in mind when considering the use of Intel’s hybrid architecture CPUs found in many of the mini PCs, desktop configurations being considered for home labs.

Subscribe to VirtualizationHowto via Email 🔔

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Brandon Lee

Brandon Lee is the Senior Writer, Engineer and owner at Virtualizationhowto.com and has over two decades of experience in Information Technology. Having worked for numerous Fortune 500 companies as well as in various industries, Brandon has extensive experience in various IT segments and is a strong advocate for open source technologies. Brandon holds many industry certifications, loves the outdoors and spending time with family.

Related Articles

4 Comments

  1. Hi Brandon,

    Thanks for the thorough explanation. One thing I’m missing is whether there would be any reason not to go for an E-cores only CPU, like the N100. I’ve been considering upgrading my home lab to a 6th or 7th gen i5, because that would cost like 50 EUR with refurbished hardware. However, you then get a 65W CPU, while the N100 generally outperforms the i5 6600 and is only 6W.

    I understand this is a different league than recent i7 CPU’s with both E and P cores, but I’d be very much interested in the implications of E-cores in such comparisons.

    Kind regards,
    Michael

    1. Michael,

      Thank you for your comment! I really think there are a lot of great options for mini PCs out there now. I have reviewed a few of the N100 CPUs and they are actually very decent. You can check out my review of the GMKtek Nucbox G2 as an example here: https://www.virtualizationhowto.com/2023/08/mini-server-for-home-lab-gmktec-nucbox-g2/. I think the N100 proc can actually do quite a bit. One of the limitations I see with a lot of the units with the N100 is they only have a single DIMM slot which limits memory. So many of the units I have seen I think would be good for no more than 8-10 VMs at most but they would be great for that small number, especially as you mentioned the power efficiency of the N100 boxes are great.

  2. Hi Brandon,

    Just a few days ago we have had a discussion about your forum post regarding the Minisforum MS-01 and the issue of using Hybrid-core CPUs for virtualization: https://www.virtualizationhowto.com/community/mini-pcs/minisforum-ms-01-with-i9-13900h-3-nvme-two-10-gig-sfps-two-2-5-gbe-ports-pcie-4-and-ddr5/ ….and then I cam across this article. Great article….but then it rises some questions especially when I’m new to the topic. So can you give the CPU Affinity a range…let’s say Cores 1-8 (it’s not clear form the screenshot). This solutions makes a little bit more sense until they make the hypervisors try to make better use of the Hybrid cores. The example is for ProxMox…but what about KVM or Virtual Box…? I am interested in mainly Type 2 hypervisors…..but even if you go with a Type 1. My question is wouldn’t it make more sense for now to go for an older monolithic CPU like Core i9 11900 for example when building a home lap PC rather than a newer hybrid CPU? I don’t know what the performance gap would be between let’s say i9 11900 and i9 13900 ….but if it ain’t a lot ….and monolithic is better for virtualization…..?????….or even go the AMD route where they have not yet embraced the Hybrid-core technology? What do you think?

    1. MY, thank you for the comment! I definitely agree with your observations here and it is great the post struck a chord with you. I do think there are some advantages to using standard identical core CPUs. The Type 1 hypervisors are just not meant to know how to use these as efficiently as they should. Proxmox does use a version of the kernel that is supposed to be aware of hybrid CPUs, but in my opinion there are still just not good enough controls built-in to manage these like I would like to see. I think if you are running Type 2 hypervisors like VMware Workstation and other solutions, the hybrid cores may make more sense since modern client operating systems like Windows 11 are built to take advantage of the hybrid cores. So, it will schedule the harder work on the performance cores from the Type 2 hypervisor and the background tasks to the efficient cores.

      I do have one of the MS-01’s coming for testing so keep an eye out for my full testing of this unit in the home lab. Hit me up on the forums if you have any other questions on that front.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.