dtpancio
09-10-2007, 13:44
Premessa
Ho deciso di fare questo test per verificare quanto incida sulle prestazioni la tecnologia Intel di virtualizzazione hardware Vanderpool, e in misura minore, confrontare le prestazioni di un OS 64-bit rispetto ad uno 32-bit.
Prima di cominciare mi sono informato un po', e ho trovato queste affermazioni:
- VMWare supporta la VT;
- VMWare attiva automaticamente la VT, se disponibile, su VM con OS a 64-bit;
- VMWare non attiva automaticamente la VT su VM con OS a 32-bit;
- è possibile forzare l'utilizzo della VT su OS a 32-bit, ma le prestazioni subiscono un rallentamento di due/tre volte;
- in overclock è meglio disabilitare la VT, in quanto può causare instabilità.
Partendo da queste affermazioni ho voluto stabilire se fossero vere o no.
Configurazione di test
Hardware:
- vedi signature in coda a questo post
- Q6600@3600MHz
- Ram 1000MHz 5-5-5-15
Software:
- Windows XP SP2 32-bit (sistema operativo fisico)
- Windows Vista Home Premium 32-bit (virtual machine)
- Windows Vista Ultimate 64-bit (virtual machine)
- VMWare Server 1.04
- superPI / mod 1.5 XS
- MaxPI 1.1
- Cinebench 9.5
- Cinebench 10
Alle virtual machines sono stati assegnati 924mb di ram, e due cores (di più non era possibile).
I tests sono stati effettuati il più possibile nelle stesse condizioni, rendendo di fatto molto credibile un confronto tra i vari sistemi operativi.
Tests
VANDERPOOL TECHNOLOGY ON
GUEST WINDOWS XP SP2 x86
superPI 1Mb
Test 1: 14.140s
Test 2: 14.141s
Test 3: 14.125s
MaxPI 32k (4 cores)
Test 1: 27.188s 27.11s 27.047s 20.047s
Test 2: 27.235s 27.141s 27.094s 27.125s
Test 3: 27.203s 27.109s 27.078s 27.078s
Cinebench 9.5 x86
Test 1: 604 CB-CPU
Test 2: 604 CB-CPU
Test 3: 607 CB-CPU
Cinebench 10 x86
Test 1: 3697 CB-CPU
Test 2: 3693 CB-CPU
VIRTUAL MACHINE WINDOWS VISTA HOME PREMIUM x86 (VT off by default)
SuperPI 1Mb
Test 1: 15.219s
Test 2: 15.500s
Test 3: 16s
MaxPI 32k (4 cores)
Test 1: 111.937s 110.828s 111.797s 110.968s
Test 2: 112.063s 111.375s 111.25s 112s
Cinebench 9.5 x86
Test 1: 588 CB-CPU
Test 2: 599 CB-CPU
Test 3: 589 CB-CPU
Cinebench 10 x86
Test 1: 3550 CB-CPU
Test 2: 3605 CB-CPU
VIRTUAL MACHINE WINDOWS VISTA HOME PREMIUM x86 (VT on forced)
SuperPI 1Mb
Test 1: 16.109s
Test 2: 15.531s
Test 3: 15.422s
MaxPI 32k (1 core)
Test 1: 27.218s
Test 2: 27.813s
Cinebench 9.5 x86
Test 1: 787 CB-CPU
Test 2: 752 CB-CPU
Test 3: 802 CB-CPU
Cinebench 10 x86
Test 1: 4735 CB-CPU
Test 2: 4723 CB-CPU
VIRTUAL MACHINE WINDOWS VISTA ULTIMATE x64
SuperPI 1Mb
Test 1: 15.110s
Test 2: 15.890s
Test 3: 15.375s
MaxPI 32k (1 core)
Test 1: 27.735s
Test 2: 27.547s
Cinebench 9.5 X64
Test 1: 584 CB-CPU
Test 2: 588 CB-CPU
Test 3: 596 CB-CPU
Cinebench 9.5 X86
Test 1: 587 CB-CPU
Test 2: 584 CB-CPU
Test 3: 592 CB-CPU
Cinebench 10 X64
Test 1: 4020 CB-CPU
Test 2: 4046 CB-CPU
7-Zip 4.55 Beta x86
Test 1: 2985 MIPS 5350 MIPS
Test 2: 3024 MIPS 5487 MIPS
Test 3: 2963 MIPS 5423 MIPS
7-Zip 4.55 Beta x64
Test 1: 2940 MIPS 5068 MIPS
Test 2: 3131 MIPS 5593 MIPS
Test 3: 3290 MIPS 6002 MIPS
VANDERPOOL TECHNOLOGY OFF
GUEST WINDOWS XP SP2 x86
superPI 1Mb
Test 1: 14.172s
Test 2: 14.172s
Test 3: 14.156s
MaxPI 32k (4 cores)
Test 1: 27.218s 27.093s 27.062s 20.093s
Test 2: 27.234s 27.078s 27.062s 27.125s
Test 3: 27.219s 27.094s 27.125s 27.109s
Cinebench 9.5 x86
Test 1: 605 CB-CPU
Test 2: 604 CB-CPU
Test 3: 606 CB-CPU
Cinebench 10 x86
Test 1: 3699 CB-CPU
Test 2: 3707 CB-CPU
VIRTUAL MACHINE WINDOWS VISTA HOME PREMIUM x86
SuperPI 1Mb
Test 1: 15.500s
Test 2: 15.765s
Test 3: 15.375s
MaxPI 32k (4 cores)
Test 1: 111.266s 112.172s 111.672s 110.953s
Test 2: 110.734s 110.437s 110.172s 109.546s
Cinebench 9.5 x86
Test 1: 639 CB-CPU
Test 2: 648 CB-CPU
Test 3: 620 CB-CPU
Cinebench 10 x86
Test 1: 3975 CB-CPU
Test 2: 4027 CB-CPU
VIRTUAL MACHINE WINDOWS VISTA ULTIMATE x64
SuperPI 1Mb
Test 1: n.d.
Test 2: n.d.
Test 3: n.d.
MaxPI 32k (1 core)
Test 1: n.d.
Test 2: n.d.
Cinebench 9.5 X64
Test 1: n.d.
Test 2: n.d.
Test 3: n.d.
Cinebench 9.5 X86
Test 1: n.d.
Test 2: n.d.
Test 3: n.d.
Cinebench 10 X64
Test 1: n.d.
Test 2: n.d.
7-Zip 4.55 Beta x86
Test 1: n.d.
Test 2: n.d.
Test 3: n.d.
7-Zip 4.55 Beta x64
Test 1: n.d.
Test 2: n.d.
Test 3: n.d.
Considerazioni
Purtroppo non ho il tempo di creare tabelle riassuntive e che mostrino le differenze percentuali, ma cerchiamo di dare un'interpretazione a questi dati:
- al superPI, benchmark molto dipendente dalla velocità della ram, si ha un calo di circa 1 secondo, passando dal sistema ospite alla virtual machine, indipendentemente dall'utilizzo o meno della VT e delle due architetture x86-x64.
- al MaxPI, le prestazioni rimangono allineate sotto tutti i discriminanti: VM/guest, VT on/VT off, x86/x64. I valori 4-5 volte superiori riscontrati con Vista Home Premium x86, sono imputabili al fatto che il programma riconosceva 4 cores, quando quello utilizzatore era in realtà solo uno. Dovendo sdoppiarsi virtualmente in 4, è normale che le prestazioni siano state circa 4 volte peggiori.
- Cinebench 9.5 offre dei risultati un po' particolari. Si evince innanzitutto che il calo di prestazioni dovuti all'uso di una VM è praticamente nullo, così come l'incremento derivato dall'utilizzo di un OS x64. Stupefacenti invece le prestazioni ottenute con Vista x86 su VM, con la VT forzata, di gran lunga superiori! I tests sono stati ripetuti più volte quindi sì possono ritenere affidabili.
- Cinebech 10 segue più o meno l'andamento di risultati del suo predecessore. Prestazioni allineate tra VM e guest, ma un considerevole aumento utilizzando Vista x86 con la VT forced. In questo caso però, Cinebench pare trarre vantaggio anche dall'utilizzo dei 64-bit, risultando in prestazioni maggiori di Vista x64 su VM rispetto al sistema ospite XP.
- utilizzando eseguibili x64 rispetto a eseguibili x86, l'incremento prestazionale è molto esiguo, praticamente nullo.
- Vanderpool Technology e architettura x64 sono fortemente correlate, e non è possibile utilizzare un sistema x64 senza utilizzare la VT.
- anche con un overclock molto spinto ma non estremo, come possono essere i 3600mhz, il sistema è stabile anche con la VT attiva.
- non è vero che il forcing della VT con virtual machines x86 si traduce in un calo di 2-3 volte delle prestazioni.
Conclusioni
La tecnologia Vanderpool può essere attivata senza in nessun caso risultare in un calo di prestazioni o stabilità, e in alcuni casi assolutamente necessaria, come con architetture x64. Forzandola su VM 32-bit, si ha perfino un incremento considerevole delle prestazioni, risultato tanto sbalorditivo quanto inspiegabile, e su cui mi piacerebbe approfondire.
Dai miei tests (sicuramente molto limitati e incompleti, ma veritieri) ho evinto inoltre che il passaggio a 64-bit non incrementerà sensibilmente le prestazioni, ma si renderà necessario più che altro per questioni legate alla necessità di indirizzare una maggiore quantità di memoria.
Ho deciso di fare questo test per verificare quanto incida sulle prestazioni la tecnologia Intel di virtualizzazione hardware Vanderpool, e in misura minore, confrontare le prestazioni di un OS 64-bit rispetto ad uno 32-bit.
Prima di cominciare mi sono informato un po', e ho trovato queste affermazioni:
- VMWare supporta la VT;
- VMWare attiva automaticamente la VT, se disponibile, su VM con OS a 64-bit;
- VMWare non attiva automaticamente la VT su VM con OS a 32-bit;
- è possibile forzare l'utilizzo della VT su OS a 32-bit, ma le prestazioni subiscono un rallentamento di due/tre volte;
- in overclock è meglio disabilitare la VT, in quanto può causare instabilità.
Partendo da queste affermazioni ho voluto stabilire se fossero vere o no.
Configurazione di test
Hardware:
- vedi signature in coda a questo post
- Q6600@3600MHz
- Ram 1000MHz 5-5-5-15
Software:
- Windows XP SP2 32-bit (sistema operativo fisico)
- Windows Vista Home Premium 32-bit (virtual machine)
- Windows Vista Ultimate 64-bit (virtual machine)
- VMWare Server 1.04
- superPI / mod 1.5 XS
- MaxPI 1.1
- Cinebench 9.5
- Cinebench 10
Alle virtual machines sono stati assegnati 924mb di ram, e due cores (di più non era possibile).
I tests sono stati effettuati il più possibile nelle stesse condizioni, rendendo di fatto molto credibile un confronto tra i vari sistemi operativi.
Tests
VANDERPOOL TECHNOLOGY ON
GUEST WINDOWS XP SP2 x86
superPI 1Mb
Test 1: 14.140s
Test 2: 14.141s
Test 3: 14.125s
MaxPI 32k (4 cores)
Test 1: 27.188s 27.11s 27.047s 20.047s
Test 2: 27.235s 27.141s 27.094s 27.125s
Test 3: 27.203s 27.109s 27.078s 27.078s
Cinebench 9.5 x86
Test 1: 604 CB-CPU
Test 2: 604 CB-CPU
Test 3: 607 CB-CPU
Cinebench 10 x86
Test 1: 3697 CB-CPU
Test 2: 3693 CB-CPU
VIRTUAL MACHINE WINDOWS VISTA HOME PREMIUM x86 (VT off by default)
SuperPI 1Mb
Test 1: 15.219s
Test 2: 15.500s
Test 3: 16s
MaxPI 32k (4 cores)
Test 1: 111.937s 110.828s 111.797s 110.968s
Test 2: 112.063s 111.375s 111.25s 112s
Cinebench 9.5 x86
Test 1: 588 CB-CPU
Test 2: 599 CB-CPU
Test 3: 589 CB-CPU
Cinebench 10 x86
Test 1: 3550 CB-CPU
Test 2: 3605 CB-CPU
VIRTUAL MACHINE WINDOWS VISTA HOME PREMIUM x86 (VT on forced)
SuperPI 1Mb
Test 1: 16.109s
Test 2: 15.531s
Test 3: 15.422s
MaxPI 32k (1 core)
Test 1: 27.218s
Test 2: 27.813s
Cinebench 9.5 x86
Test 1: 787 CB-CPU
Test 2: 752 CB-CPU
Test 3: 802 CB-CPU
Cinebench 10 x86
Test 1: 4735 CB-CPU
Test 2: 4723 CB-CPU
VIRTUAL MACHINE WINDOWS VISTA ULTIMATE x64
SuperPI 1Mb
Test 1: 15.110s
Test 2: 15.890s
Test 3: 15.375s
MaxPI 32k (1 core)
Test 1: 27.735s
Test 2: 27.547s
Cinebench 9.5 X64
Test 1: 584 CB-CPU
Test 2: 588 CB-CPU
Test 3: 596 CB-CPU
Cinebench 9.5 X86
Test 1: 587 CB-CPU
Test 2: 584 CB-CPU
Test 3: 592 CB-CPU
Cinebench 10 X64
Test 1: 4020 CB-CPU
Test 2: 4046 CB-CPU
7-Zip 4.55 Beta x86
Test 1: 2985 MIPS 5350 MIPS
Test 2: 3024 MIPS 5487 MIPS
Test 3: 2963 MIPS 5423 MIPS
7-Zip 4.55 Beta x64
Test 1: 2940 MIPS 5068 MIPS
Test 2: 3131 MIPS 5593 MIPS
Test 3: 3290 MIPS 6002 MIPS
VANDERPOOL TECHNOLOGY OFF
GUEST WINDOWS XP SP2 x86
superPI 1Mb
Test 1: 14.172s
Test 2: 14.172s
Test 3: 14.156s
MaxPI 32k (4 cores)
Test 1: 27.218s 27.093s 27.062s 20.093s
Test 2: 27.234s 27.078s 27.062s 27.125s
Test 3: 27.219s 27.094s 27.125s 27.109s
Cinebench 9.5 x86
Test 1: 605 CB-CPU
Test 2: 604 CB-CPU
Test 3: 606 CB-CPU
Cinebench 10 x86
Test 1: 3699 CB-CPU
Test 2: 3707 CB-CPU
VIRTUAL MACHINE WINDOWS VISTA HOME PREMIUM x86
SuperPI 1Mb
Test 1: 15.500s
Test 2: 15.765s
Test 3: 15.375s
MaxPI 32k (4 cores)
Test 1: 111.266s 112.172s 111.672s 110.953s
Test 2: 110.734s 110.437s 110.172s 109.546s
Cinebench 9.5 x86
Test 1: 639 CB-CPU
Test 2: 648 CB-CPU
Test 3: 620 CB-CPU
Cinebench 10 x86
Test 1: 3975 CB-CPU
Test 2: 4027 CB-CPU
VIRTUAL MACHINE WINDOWS VISTA ULTIMATE x64
SuperPI 1Mb
Test 1: n.d.
Test 2: n.d.
Test 3: n.d.
MaxPI 32k (1 core)
Test 1: n.d.
Test 2: n.d.
Cinebench 9.5 X64
Test 1: n.d.
Test 2: n.d.
Test 3: n.d.
Cinebench 9.5 X86
Test 1: n.d.
Test 2: n.d.
Test 3: n.d.
Cinebench 10 X64
Test 1: n.d.
Test 2: n.d.
7-Zip 4.55 Beta x86
Test 1: n.d.
Test 2: n.d.
Test 3: n.d.
7-Zip 4.55 Beta x64
Test 1: n.d.
Test 2: n.d.
Test 3: n.d.
Considerazioni
Purtroppo non ho il tempo di creare tabelle riassuntive e che mostrino le differenze percentuali, ma cerchiamo di dare un'interpretazione a questi dati:
- al superPI, benchmark molto dipendente dalla velocità della ram, si ha un calo di circa 1 secondo, passando dal sistema ospite alla virtual machine, indipendentemente dall'utilizzo o meno della VT e delle due architetture x86-x64.
- al MaxPI, le prestazioni rimangono allineate sotto tutti i discriminanti: VM/guest, VT on/VT off, x86/x64. I valori 4-5 volte superiori riscontrati con Vista Home Premium x86, sono imputabili al fatto che il programma riconosceva 4 cores, quando quello utilizzatore era in realtà solo uno. Dovendo sdoppiarsi virtualmente in 4, è normale che le prestazioni siano state circa 4 volte peggiori.
- Cinebench 9.5 offre dei risultati un po' particolari. Si evince innanzitutto che il calo di prestazioni dovuti all'uso di una VM è praticamente nullo, così come l'incremento derivato dall'utilizzo di un OS x64. Stupefacenti invece le prestazioni ottenute con Vista x86 su VM, con la VT forzata, di gran lunga superiori! I tests sono stati ripetuti più volte quindi sì possono ritenere affidabili.
- Cinebech 10 segue più o meno l'andamento di risultati del suo predecessore. Prestazioni allineate tra VM e guest, ma un considerevole aumento utilizzando Vista x86 con la VT forced. In questo caso però, Cinebench pare trarre vantaggio anche dall'utilizzo dei 64-bit, risultando in prestazioni maggiori di Vista x64 su VM rispetto al sistema ospite XP.
- utilizzando eseguibili x64 rispetto a eseguibili x86, l'incremento prestazionale è molto esiguo, praticamente nullo.
- Vanderpool Technology e architettura x64 sono fortemente correlate, e non è possibile utilizzare un sistema x64 senza utilizzare la VT.
- anche con un overclock molto spinto ma non estremo, come possono essere i 3600mhz, il sistema è stabile anche con la VT attiva.
- non è vero che il forcing della VT con virtual machines x86 si traduce in un calo di 2-3 volte delle prestazioni.
Conclusioni
La tecnologia Vanderpool può essere attivata senza in nessun caso risultare in un calo di prestazioni o stabilità, e in alcuni casi assolutamente necessaria, come con architetture x64. Forzandola su VM 32-bit, si ha perfino un incremento considerevole delle prestazioni, risultato tanto sbalorditivo quanto inspiegabile, e su cui mi piacerebbe approfondire.
Dai miei tests (sicuramente molto limitati e incompleti, ma veritieri) ho evinto inoltre che il passaggio a 64-bit non incrementerà sensibilmente le prestazioni, ma si renderà necessario più che altro per questioni legate alla necessità di indirizzare una maggiore quantità di memoria.