VMware Communities
slgarwood
Enthusiast
Enthusiast

Fusion have a way to force performance cpus on M2?

I know Apple provides an interface to influence the scheduling of an app on performance or economy cpus. Does VMware use this at all and is there a way to tweak it?

0 Kudos
8 Replies
ColoradoMarmot
Champion
Champion

Not in the current version.

0 Kudos
Mikero
Community Manager
Community Manager

The Host OS controls that, it doesn't seem appropriate for us to override it (and there aren't exactly high-level APIs to do that). As far as the host is concerned we're just another threaded processes, and there are tools to pin those processes to P or E cores.

 

-
Michael Roy - Product Marketing Engineer: VCF
0 Kudos
slgarwood
Enthusiast
Enthusiast

0 Kudos
Technogeezer
Immortal
Immortal

@Mikero said:

The Host OS controls that, it doesn't seem appropriate for us to override it (and there aren't exactly high-level APIs to do that). As far as the host is concerned we're just another threaded processes, and there are tools to pin those processes to P or E cores.

I have a similar thought to  @slgarwood I read that Apple (augmented by other discussions from Howard Oakley (eclecticlight.co)) as saying that threads can be given with QoS values, but you don't have direct access to what type of core they run on. That's the job of Grand Central Dispatch. From what I see a QoS value doesn't guarantee that threads will bel be locked to P cores vs E cores.  Preferred, yes. Influenced, Yes.  Locked, no.

However the question remains if Apple provides access to those features through their Hypervisor framework APIs. Perhaps this is what you're saying @Mikero ?

- Paul (Technogeezer)
Editor of the Unofficial Fusion Companion Guides
0 Kudos
ColoradoMarmot
Champion
Champion

I'd also be curious to understand the use case.  the dispatch agent should route threads based on load automatically, so if the VM spikes usage, it goes to performance.  I'm not sure what benefit there is to override it in this case (unless maybe there's a long lived thread and it doesn't move it between cores?).

I can tell you that I haven't felt the need, even when running heavy guest workloads.  The performance issues are around GPU support vs CPU thread allocation from what I can tell.

0 Kudos
RDPetruska
Leadership
Leadership


@ColoradoMarmot wrote:

I'd also be curious to understand the use case.  


Probably the same as all of the issues in the Workstation forum with hosts on Intel 12th gen and newer processors where the virtual machines are sluggish as all get out - and it seems the solutions are either changing the performance balance, or setting the vmx file to not use any of the e-core processors.

Technogeezer
Immortal
Immortal


@RDPetruska wrote
Probably the same as all of the issues in the Workstation forum with hosts on Intel 12th gen and newer processors where the virtual machines are sluggish as all get out - and it seems the solutions are either changing the performance balance, or setting the vmx file to not use any of the e-core processors.

Problem is that we don’t see the kind of issues reported on Apple Silicon Macs that our Windows counterparts see. Like @ColoradoMarmot , I ve seen few complaints here about poor performance with Fusion on M1/2 Macs. They are rampant over in the Workstation forums.

Apple seems to have done a much better job of managing thread scheduling across different core types in macOS than Microsoft does in Windows.

That being said, it would be a nice enhancement to give the user more control over core types used for specialized cases. Without having to resort to vmx hacks or command line utilities. 

- Paul (Technogeezer)
Editor of the Unofficial Fusion Companion Guides
0 Kudos
slgarwood
Enthusiast
Enthusiast

True about Apple doing ok in their load balance - however the present does not predict the future. Suppose the next fix/update/release changes the dispatch algorithm in some way for some reason. It might be nice to have a 'knob' to make a VM somewhat immune to this. I believe its called future-proofing.

 

 

0 Kudos