affinity of 1-processor vm on multiprocessor platform?

venm11

2[H]4U
Joined
Oct 6, 2004
Messages
2,236
In addition to specifying the number of cpus for a VM, is it possible to set the affinity of that entire VM to particular CPU(s)?

I was setting the vmware affinity for awhile, which didn't work, then I realized I was only setting it for the vmware host processes.

The purpose is mainly to throttle VMs so they do not compete so much with each other. I'm also hoping this will improve the efficiency when 2 or more are doing heavy computational tasks.
 
An interesting read. Actually, he's got a number of informative articles on this subject. For the most part - on this subject - he seems to be saying that affinity doesn't prevent other processes from using the CPU and trying to manage that is impractical. One thing I'm not familiar with is this bit about "admission control", I guess as an os policy for managing "high availability", or thread scheduling, or something. It may not be relevant to my application.

He makes an interesting point about the multiple CPUs effectively multiplying the available cpu cache; that's one thing I had in mind with affinity. But it's hard to visualize because it's unclear (to me) how time slicing is working between the physical and virtual OSs. You want huge slices for each thread in order to benefit from the big caches, regardless of which - or how many - CPUs there are. Is non-affinity better than throwing a VM's threads on a single CPU? Maybe for peak loads of a given vm... aside from that, I donno.

I haven't read everything on his site, but so far it's quite good (thanks).
 
Back
Top