Hi Everyone,
I am running a Windows 7 (x64) host computer which utilizes an Intel Core i7 3820 CPU (@3.6 - 3.8GHz). The CPU consists of 4 physical processors, and a total of 8 logical processors.
I have noticed in VMware Workstation (v 10) that there are a number of processor settings for guest operating systems. I can only imagine that different guests operate optimally with a variety of processor settings.
Of particular interest to me is optimizing the processors for XP (SP3), Windows 7 (x64), and Windows 8.1 guests.
If anybody can shed some light on the following guest processor related questions it will be greatly appreciated -
1.) What is the ideal combination of 'Number of processors' versus 'Number of cores per processor', e.g.: if I want my guest to run with 4 cores, is it better to have a), or b) below?
a).
b).
I have noted that none of the guests accept the settings below (however I suspect that the limitation is actually with the hosts CPU!).
2). With regard to the 'Preferred Mode' setting under the 'Virtualization engine' heading is there every any merit in using a setting other than 'Automatic'? Assuming that there is a preferred mode, then what is the preferred mode for my host CPU?
3). What is the effect of ticking 'Disable acceleration for binary translation'?
Any answers to the questions above will be greatly appreciated.
Kind Regards,
David
iVirtual75 wrote:
Hi Everyone,
I am running a Windows 7 (x64) host computer which utilizes an Intel Core i7 3820 CPU (@3.6 - 3.8GHz). The CPU consists of 4 physical processors, and a total of 8 logical processors.
I have noticed in VMware Workstation (v 10) that there are a number of processor settings for guest operating systems. I can only imagine that different guests operate optimally with a variety of processor settings.
Of particular interest to me is optimizing the processors for XP (SP3), Windows 7 (x64), and Windows 8.1 guests.
If anybody can shed some light on the following guest processor related questions it will be greatly appreciated -
1.) What is the ideal combination of 'Number of processors' versus 'Number of cores per processor', e.g.: if I want my guest to run with 4 cores, is it better to have a), or b) below?
a).
b).
It makes no difference.
I have noted that none of the guests accept the settings below (however I suspect that the limitation is actually with the hosts CPU!).
Consumer versions of Windows will not make use of more than two sockets. The VM should run properly, but you will have two completely idle vCPUs.
2). With regard to the 'Preferred Mode' setting under the 'Virtualization engine' heading is there every any merit in using a setting other than 'Automatic'? Assuming that there is a preferred mode, then what is the preferred mode for my host CPU?
The automatic setting is intended to be the best performing. However, in some cases, it is not. For modern Windows guests on your CPU, the automatic selection will be Intel VT-x/EPT. While EPT (extended page tables) yields the best performance for most workloads, it does suffer from high TLB miss penalties. If your workload is a TLB buster (e.g. specjbb), then you might get better performance without EPT. Binary translation may be a win for some workloads under 32-bit Windows XP, due to frequent TPR accesses.
3). What is the effect of ticking 'Disable acceleration for binary translation'?
Normally, binary translation is only applied to kernel code, and user code is executed directly on the CPU. If you disable acceleration for binary translation, all code will be executed using binary translation. The result will typically be abysmal performance. Why would you want to do this? Due to the nature of binary translation, some things don't look quite right to the user level code running directly on the CPU. If your applications are particularly sensitive to these discrepancies from native execution, you may have to disable acceleration if you wish to use binary translation. On hardware that supports Intel VT-x, hardware-assisted virtualization is generally a better option than VT without acceleration.
iVirtual75 wrote:
Hi Everyone,
I am running a Windows 7 (x64) host computer which utilizes an Intel Core i7 3820 CPU (@3.6 - 3.8GHz). The CPU consists of 4 physical processors, and a total of 8 logical processors.
I have noticed in VMware Workstation (v 10) that there are a number of processor settings for guest operating systems. I can only imagine that different guests operate optimally with a variety of processor settings.
Of particular interest to me is optimizing the processors for XP (SP3), Windows 7 (x64), and Windows 8.1 guests.
If anybody can shed some light on the following guest processor related questions it will be greatly appreciated -
1.) What is the ideal combination of 'Number of processors' versus 'Number of cores per processor', e.g.: if I want my guest to run with 4 cores, is it better to have a), or b) below?
a).
b).
It makes no difference.
I have noted that none of the guests accept the settings below (however I suspect that the limitation is actually with the hosts CPU!).
Consumer versions of Windows will not make use of more than two sockets. The VM should run properly, but you will have two completely idle vCPUs.
2). With regard to the 'Preferred Mode' setting under the 'Virtualization engine' heading is there every any merit in using a setting other than 'Automatic'? Assuming that there is a preferred mode, then what is the preferred mode for my host CPU?
The automatic setting is intended to be the best performing. However, in some cases, it is not. For modern Windows guests on your CPU, the automatic selection will be Intel VT-x/EPT. While EPT (extended page tables) yields the best performance for most workloads, it does suffer from high TLB miss penalties. If your workload is a TLB buster (e.g. specjbb), then you might get better performance without EPT. Binary translation may be a win for some workloads under 32-bit Windows XP, due to frequent TPR accesses.
3). What is the effect of ticking 'Disable acceleration for binary translation'?
Normally, binary translation is only applied to kernel code, and user code is executed directly on the CPU. If you disable acceleration for binary translation, all code will be executed using binary translation. The result will typically be abysmal performance. Why would you want to do this? Due to the nature of binary translation, some things don't look quite right to the user level code running directly on the CPU. If your applications are particularly sensitive to these discrepancies from native execution, you may have to disable acceleration if you wish to use binary translation. On hardware that supports Intel VT-x, hardware-assisted virtualization is generally a better option than VT without acceleration.
Hi jmattson,
Thank you for the detailed response to my questions. I often use http://www.slysoft.com/en/anydvd.html to backup my extensive DVD collection. I use AnyDVD from my Windows XP (SP3) guest OS; would this program benefit from 'Binary Translation' mode in your opinion? AnyDVD is essentially dumping (large) blocks of data from a DVD to a Shared Folder (sometime in the form of an ISO, and sometimes in the form of a folder / file structure).
Kind Regards,
Davo
It seems unlikely. But you could always benchmark it and see.
Can you recommend any bench marking software that would be well suited to this task?
If you are primarily interested in the performance of AnyDVD, then the best benchmark is AnyDVD.
Ok, thanks.