VMware Communities
senwebtek
Contributor
Contributor

Workstation 16pro on alder lake system

Is there any information on using vmware workstation with alder lake systems? How would processor allocation between P and E cores work or is it handled automatically by the processor? I'm getting ready to build a new system and I'm trying to decide whether to go with an i7 12700k alder lake or a ryzen 5900x. Any input would be appreciated.

Labels (1)
34 Replies
WinniVM
Contributor
Contributor

This is a really nice solution. Thanks a lot!

It is also working for the vmware player: 

powercfg /powerthrottling disable /path "C:\Program Files (x86)\VMware\VMware Player\x64\vmware-vmx.exe"

0 Kudos
JamesDeanReally
Contributor
Contributor

This is a great solution. Thank you.

0 Kudos
ig-andrew-edney
Enthusiast
Enthusiast

I tried that and it didn't seem to make a lot of difference, do you need to reboot the host for it to take effect?

When I checked in Task Manager it was clear the process had power throttling disabled, but it was still being run using the e-cores.

A solution which worked for me, but may need to be applied each time I start a VM (yet to be sure) was to run Task Manager as administrator and use the processor affinity option to say it can run only on the p-cores.

0 Kudos
ig-andrew-edney
Enthusiast
Enthusiast

Hmm, the processor affinity may work but it's not ideal as it seems to need setting each time.

0 Kudos
gworboys
Enthusiast
Enthusiast

It's a shame that the powercfg option is not working for you.  It continues to work for me: VMware Workstation v17.0.0, and Windows 11 22H2.

I have found that some Windows updates appear to clear the list of disabled programs which requires that you re-issue the command, so I've set up a shortcut to simplify that.  But my experience is that running the powercfg command described gives almost instant results - not only do you not have to reboot the host, you don't even have to restart the VM.

If that doesn't work for you, have you tried running Workstation as administrator?   I have two almost identical systems here and one does not need the powercfg command because it always runs Wkstn as administrator.   I don't know why that works, but it seems to be reliable (same config as described above).

0 Kudos
TanquenETG
Enthusiast
Enthusiast

I have the i7-12700H also. I think it's only 6 P-cores and 8 E-cores with another 6 only being hyper threads. I guess only the P-Cores have hyper threads. So only 6 of the fastest real cores for the VM. How do you know which of the 20 are the E-Cores and which are the Hyper threads?

 

0 Kudos
ig-andrew-edney
Enthusiast
Enthusiast

Assuming your cores are numbered 0 to 19, the P cores (with HyperThreading) should be 0 to 11, the E cores 12 to 19.

0 Kudos
prefname
Contributor
Contributor

Here's what I found with the "powercfg /powerthrottling disable" approach. Whereas it does enable the use of p-cores, it does not seem to prevent e-cores from sneaking in, even when p-cores should be available (i.e. they're not too busy). I've experienced intermittent significant slowdowns of certain long running cpu-bound operations in a vm, that went away when I went back to forcing p-cores with processorX.use. Somehow a vm process (vmware host thread) would appear to get stuck on an e-core.

 

Despite Intel's and Microsoft's hand-waving about their AI scheduling, it can't be perfect. So both windows and vmware should provide good UI for manually overriding the scheduling policy, but neither do.

 

Does windows have any config that persistently disables or at least heavily de-prioritizes e-cores for an app? The ephemeral setting of cpu affinity of a running process instance does not qualify.

 

Vmware vm config UI should have something like following e/p-core options:

  • let os decide
  • prefer p-cores
  • only p-cores
  • prefer e-cores
  • only e-cores
0 Kudos
gworboys
Enthusiast
Enthusiast

@prefname your previous post (Aug 2022) indicated you were running a Windows 10 host, is that still the case?   Are you running Wkstn 16 or 17?   (Just so we some comparison can be made with others experiencing the problem.)   Similarly, it can be helpful know what sort of long running running is causing you trouble, so others can try it and see what happens in their system.  (Compiling seems unlikely to be it, as that is normally a mass of small tasks, so perhaps video encoding.)   The other thing that would be interesting to know is how many CPUs you are allocating to the VM(s) and how many VMs you are running when you get into trouble.

As I have already noted, on my Win11 22H2 host running mostly Win10 and now Win11 guests, I have two ways to avoid the e-core issue.

* the powercfg command as previously described

* running VMware Workstation as administrator

I have two identical systems, one running each solution and so far both work reliably for me, except that powercfg has dropped out a few times due to Windows Updates (that seem to have cleared the settings and so require the command to be issued again).   But with this i7-12700 I rarely end up using more CPUs in my VMs than I have on the host, so maybe I just haven't been pushing hard enough to see the trouble you see.

It would be interesting to hear if running as administrator works for you.

0 Kudos
prefname
Contributor
Contributor

win11 22H2 host, workstation 16.2.5, ubuntu 20.04 guest, 6 cores for the vm

vm was doing a kind of compilation with a long running process handling multiple files

Since the intermittent slowdowns stopped when I went back to processorX.use, I don't plan on doing further experimentation.

 

0 Kudos
gworboys
Enthusiast
Enthusiast

Thanks for the extra info.  And certainly I understand about not planning further experimentation now you have things working well enough ... until you upgrade to Wkstn v17 it would probably not achieve a lot anyway, since we have no way of knowing what might have been fixed in this regard between the two versions.

It is interesting to see this was a 6 core VM.  When I was seeing the problem here it seemed to be the > 4 core VM that got hit most.  I've been presuming that this has to do with my CPU having only 4 e-cores, which is where the VM was being executed.

0 Kudos
mark-reijerkerk
Contributor
Contributor

You are the man.

My VM which is running W11 Pro with the TPM patch I finally have a good response.

Screenshot 2023-04-21 152109.png

--- MR --- AMS --- NL
0 Kudos
brunofernandez1

 

thx! that worked for me with VMWare 17 Pro an Win11 (Host and Guest)

------------------------------------------------------------------------------- If you found this or any other answer helpful, please consider to award points. (use Correct or Helpful buttons) Regards from Switzerland, B. Fernandez http://vpxa.info/
0 Kudos
jcollake
Contributor
Contributor

You can use Process Lasso to persist the CPU affinity, so it doesn't need set every time.

0 Kudos
mtomei
Contributor
Contributor

I am currently testing another way using Process Lasso which recently added support for Efficiency mode https://bitsum.com/product-update/process-lasso-12-3-efficiency-mode/
You can create a rule for vmware-vmx.exe or a generic one for all user processes with syntax *:your_username and it seems to work like powercg.

0 Kudos