Test di benchmark di virtualizzazione: Introduzione
Gli ambienti di virtualizzazione sono stati prodotti di lusso per l'utente Mac sin da quando Apple ha iniziato a utilizzare processori Intel nei suoi computer. Anche prima dell'arrivo di Intel, era disponibile un software di emulazione che consentiva agli utenti Mac di eseguire Windows e Linux.
Ma l'emulazione era lenta, usando un livello di astrazione per tradurre il codice di programmazione x86 nel codice usato dall'architettura PowerPC dei precedenti Mac. Questo livello di astrazione non doveva solo tradurre per tipo di CPU, ma anche tutti i componenti hardware. In sostanza, lo strato di astrazione doveva creare equivalenti software di schede video, hard disk, porte seriali, ecc. Il risultato era un ambiente di emulazione che poteva eseguire Windows o Linux, ma era severamente limitato sia nelle prestazioni che nei sistemi operativi che potevano essere Usato.
Con l'avvento della decisione di Apple di utilizzare i processori Intel, l'intera esigenza di emulazione è stata spazzata via. Al suo posto è arrivata la possibilità di eseguire altri sistemi operativi direttamente su un Mac Intel. Infatti, se si desidera eseguire Windows direttamente su un Mac come opzione all'avvio, è possibile utilizzare Boot Camp, un'applicazione che Apple fornisce come un modo pratico per installare Windows in un ambiente ad avvio multiplo.
Ma molti utenti hanno bisogno di un modo per eseguire il Mac OS e un secondo sistema operativo simultaneamente. Parallels, e più tardi VMWare e Sun, hanno portato questa funzionalità al Mac con la tecnologia di virtualizzazione. La virtualizzazione è simile per concetto all'emulazione, ma poiché i Mac basati su Intel utilizzano lo stesso hardware dei PC standard, non c'è bisogno di creare un livello di astrazione hardware nel software. Invece, il software Windows o Linux può essere eseguito direttamente sull'hardware, producendo velocità che possono essere quasi veloci come se il SO guest fosse eseguito in modo nativo su un PC.
E questa è la domanda alla quale i nostri test di riferimento cercano di rispondere. I tre principali attori della virtualizzazione su Mac - Parallels Desktop per Mac, VMWare Fusion e Sun VirtualBox - mantengono la promessa di prestazioni quasi native?
Diciamo che siamo indigeni perché tutti gli ambienti di virtualizzazione hanno un sovraccarico che non può essere evitato. Poiché l'ambiente virtuale è in esecuzione contemporaneamente al sistema operativo nativo (OS X), è necessario condividere le risorse hardware. Inoltre, OS X deve fornire alcuni servizi all'ambiente di virtualizzazione, come windowing e servizi di base. La combinazione di questi servizi e la condivisione delle risorse tende a limitare l'efficienza del sistema operativo virtualizzato.
Per rispondere alla domanda, eseguiremo test di benchmark per vedere come funzionano i tre principali ambienti di virtualizzazione con Windows.
02 del 07Test di benchmark di virtualizzazione: metodo di test
Verranno utilizzati due diversi, popolari, test benchmark multipiattaforma. Il primo, CineBench 10, esegue un test del mondo reale della CPU di un computer, e la sua scheda grafica è in grado di eseguire il rendering delle immagini. Il primo test utilizza la CPU per il rendering di un'immagine fotorealistica, utilizzando calcoli intensivi della CPU per il rendering di riflessioni, occultazione ambientale, illuminazione e ombreggiatura dell'area e altro ancora. Il test viene eseguito con una singola CPU o core e quindi ripetuto utilizzando tutte le CPU e i core disponibili. Il risultato produce un grado di prestazione di riferimento per il computer utilizzando un singolo processore, un grado per tutte le CPU e core e un'indicazione di quanto siano utilizzati più core o CPU.
Il secondo test CineBench valuta le prestazioni della scheda grafica del computer usando OpenGL per eseguire il rendering di una scena 3D mentre una telecamera si muove all'interno della scena. Questo test determina la velocità con cui la scheda grafica può eseguire mentre esegue il rendering accurato della scena.
La seconda suite di test è GeekBench 2.1.4, che verifica le prestazioni integer e in virgola mobile del processore, verifica la memoria mediante un semplice test delle prestazioni di lettura / scrittura ed esegue un test dei flussi che misura la larghezza di banda della memoria. I risultati dell'insieme di test sono combinati per produrre un singolo punteggio GeekBench. Scopriremo anche i quattro set di test di base (Integer Performance, Floating Point Performance, Memory Performance e Stream Performance), in modo che possiamo vedere i punti di forza e di debolezza di ogni ambiente virtuale.
GeekBench utilizza un sistema di riferimento basato su un PowerMac G5 a 1,6 GHz. I punteggi di GeekBench per i sistemi di riferimento sono normalizzati a 1000. Qualsiasi punteggio superiore a 1000 indica un computer che ha prestazioni migliori rispetto al sistema di riferimento.
Poiché i risultati di entrambe le suite di benchmark sono in qualche modo astratti, inizieremo definendo un sistema di riferimento. In questo caso, il sistema di riferimento sarà il Mac host utilizzato per eseguire i tre ambienti virtuali (Parallels Desktop per Mac, VMWare Fusion e Sun Virtual Box). Gestiremo entrambe le suite di benchmark sul sistema di riferimento e useremo quella cifra per confrontare l'efficienza degli ambienti virtuali.
Tutti i test verranno eseguiti dopo un nuovo avvio sia del sistema host che dell'ambiente virtuale. Sia l'host che gli ambienti virtuali avranno tutte le applicazioni anti-malware e antivirus disabilitate. Tutti gli ambienti virtuali verranno eseguiti all'interno di una finestra OS X standard, poiché questo è il metodo più comune utilizzato in tutti e tre gli ambienti. Nel caso degli ambienti virtuali, nessuna applicazione utente verrà eseguita oltre ai benchmark.Sul sistema host, ad eccezione dell'ambiente virtuale, non verrà eseguita alcuna applicazione utente diversa da un editor di testo per prendere appunti prima e dopo il test, ma mai durante l'effettivo processo di test.
03 di 07Test di benchmark di virtualizzazione: risultati benchmark per sistema host Mac Pro
Il sistema che ospiterà i tre ambienti virtuali (Parallels Desktop per Mac, VMWare Fusion e Sun VirtualBox) è un'edizione 2006 di un Mac Pro:
Mac Pro (2006)
Due processori dual-core 5160 Zeon (4 core totali) @ 3,00 GHz
4 MB per core L2 cache RAM (16 MB totali)
6 GB di RAM composti da quattro moduli da 1 GB e quattro moduli da 512 MB. Tutti i moduli sono accoppiati.
Un front side bus a 1,33 GHz
Una scheda grafica NVIDIA GeForce 7300 GT
Due dischi rigidi Samsung F1 Series da 500 GB. OS X e il software di virtualizzazione sono residenti nell'unità di avvio; i sistemi operativi guest sono memorizzati nella seconda unità. Ogni unità ha il proprio canale SATA 2 indipendente.
I risultati dei test GeekBench e CineBench sull'host Mac Pro dovrebbero fornire il limite superiore pratico di prestazioni che dovremmo vedere da qualsiasi ambiente virtuale. Detto questo, vogliamo sottolineare che è possibile che un ambiente virtuale superi le prestazioni dell'host in ogni singolo test. L'ambiente virtuale potrebbe essere in grado di accedere all'hardware sottostante e bypassare alcuni dei livelli OS di OS X. È anche possibile che le suite di test di benchmark siano ingannate dal sistema di caching delle prestazioni integrato negli ambienti virtuali e producano risultati che vanno oltre le prestazioni effettivamente possibili.
Punteggi di riferimento
GeekBench 2.1.4
Punteggio di GeekBench: 6830
Numero intero: 6799
Punto di virgola mobile: 10786
Memoria: 2349
Stream: 2057
CineBench R10
Rendering, CPU singola: 3248
Rendering, 4 CPU: 10470
Efficace accelerazione da singolo a tutti i processori: 3.22
Shading (OpenGL): 3249
I risultati dettagliati dei test di benchmark sono disponibili nella galleria Test di benchmark di virtualizzazione.
04 di 07Test di benchmark di virtualizzazione: risultati benchmark per Parallels Desktop per Mac 5
Abbiamo usato l'ultima versione di Parallels (Parallels Desktop per Mac 5.0). Abbiamo installato nuove copie di Parallels, Windows XP SP3 e Windows 7. Abbiamo scelto questi due SO Windows per i test perché pensiamo che Windows XP rappresenti la maggior parte delle attuali installazioni di Windows su OS X e che in futuro Windows 7 sarà il sistema operativo guest più comune in esecuzione su Mac.
Prima che iniziassero i test, abbiamo verificato e installato tutti gli aggiornamenti disponibili sia per l'ambiente virtuale che per i due sistemi operativi Windows. Una volta che tutto era aggiornato, abbiamo configurato le macchine virtuali Windows per utilizzare un singolo processore e 1 GB di memoria. Abbiamo chiuso Parallels e disattivato Time Machine e tutti gli elementi di avvio su Mac Pro non necessari per il test. Abbiamo quindi riavviato Mac Pro, lanciato Parallels, avviato uno degli ambienti Windows ed eseguito i due set di test di benchmark. Una volta che i test sono stati completati, abbiamo copiato i risultati sul Mac per riferimento futuro.
Abbiamo poi ripetuto il riavvio e il lancio di Parallels per i test di benchmark del secondo sistema operativo Windows.
Infine, abbiamo ripetuto la sequenza precedente con il sistema operativo guest impostato per utilizzare 2 e quindi 4 CPU.
Punteggi di riferimento
GeekBench 2.1.4
Windows XP SP3 (1,2,4 CPU): 2185, 3072, 4377
Windows 7 (1,2,4 CPU): 2223, 2980, 4560
CineBench R10
Windows XP SP3
Rendering (1,2,4 CPU): 2724, 5441, 9644
Shading (OpenGL) (1,2,4 CPU): 1317, 1317, 1320
CineBench R10
Windows 7
Rendering (1,2,4 CPU): 2835, 5389, 9508
Shading (OpenGL) (1,2,4 CPU): 1335, 1333, 1375
Parallels Desktop per Mac 5.0 ha completato con successo tutti i test di benchmark. GeekBench ha visto solo piccole differenze nelle prestazioni tra Windows XP e Windows 7, che è quello che ci aspettavamo. GeekBench si concentra sulla verifica delle prestazioni del processore e della memoria, quindi ci aspettiamo che sia un buon indicatore delle prestazioni sottostanti dell'ambiente virtuale e della sua capacità di rendere disponibile l'hardware dell'host Mac Pro ai sistemi operativi guest.
Anche il test di rendering di CineBench ha mostrato coerenza tra i due SO Windows. Ancora una volta, ciò è prevedibile dal momento che il test di rendering fa ampio uso dei processori e della larghezza di banda di memoria vista dai sistemi operativi guest. Il test di ombreggiatura è un buon indicatore di quanto bene ogni ambiente virtuale ha implementato il suo driver video. A differenza del resto dell'hardware del Mac, la scheda grafica non viene resa disponibile direttamente negli ambienti virtuali. Questo perché la scheda grafica deve continuamente occuparsi del display per l'ambiente host e non può essere deviata per visualizzare solo l'ambiente ospite. Questo è vero anche se l'ambiente virtuale offre un'opzione di visualizzazione a schermo intero.
I risultati dettagliati dei test di benchmark sono disponibili nella galleria Test di benchmark di virtualizzazione.
05 di 07Test di benchmark di virtualizzazione: risultati benchmark per VMWare Fusion 3.0
Abbiamo utilizzato l'ultima versione di VMWare Fusion (Fusion 3.0). Abbiamo installato nuove copie di Fusion, Windows XP SP3 e Windows 7. Abbiamo scelto questi due SO Windows per il test perché pensiamo che Windows XP rappresenti la maggior parte delle attuali installazioni Windows su OS X e che in futuro Windows 7 sarà il sistema operativo guest più comune in esecuzione su Mac.
Prima dell'avvio dei test, abbiamo verificato e installato eventuali aggiornamenti disponibili sia per l'ambiente virtuale che per i due sistemi operativi Windows. Una volta che tutto era aggiornato, abbiamo configurato le macchine virtuali Windows per utilizzare un singolo processore e 1 GB di memoria.Abbiamo chiuso Fusion e disattivato Time Machine e tutti gli elementi di avvio su Mac Pro non necessari per il test. Abbiamo quindi riavviato Mac Pro, lanciato Fusion, avviato uno degli ambienti Windows ed eseguito i due set di test di benchmark. Una volta che i test sono stati completati, abbiamo copiato i risultati sul Mac per un uso successivo.
Abbiamo quindi ripetuto il riavvio e il lancio di Fusion per i test di benchmark del secondo sistema operativo Windows.
Infine, abbiamo ripetuto la sequenza precedente con il sistema operativo guest impostato per utilizzare 2 e quindi 4 CPU.
Punteggi di riferimento
GeekBench 2.1.4
Windows XP SP3 (1,2,4 CPU): *, 3252, 4406
Windows 7 (1,2,4 CPU): 2388, 3174, 4679
CineBench R10
Windows XP SP3
Rendering (1,2,4 CPU): 2825, 5449, 9941
Shading (OpenGL) (1,2,4 CPU): 821, 821, 827
CineBench R10
Windows 7
Rendering (1,2,4 CPU): 2843, 5408, 9657
Shading (OpenGL) (1,2,4 CPU): 130, 130, 124
Ci siamo imbattuti in problemi con Fusion e test di benchmark. Nel caso di Windows XP con un singolo processore, GeekBench ha riportato le prestazioni del flusso di memoria ad una velocità migliore di 25 volte la velocità dell'host Mac Pro. Questo insolito risultato di memoria ha superato il punteggio di GeekBench per la versione CPU singola di Windows XP a 8148. Dopo aver ripetuto il test molte volte e ottenuto risultati simili, abbiamo deciso di contrassegnare il test come non valido e considerarlo un problema di interazione tra il test di benchmark, Fusion e Windows XP. Per quanto ne sappiamo, per la configurazione con CPU singola, Fusion non ha segnalato la corretta configurazione dell'hardware all'applicazione GeekBench. Tuttavia, GeekBench e Windows XP hanno funzionato alla perfezione con due o più CPU selezionate.
Abbiamo anche avuto un problema con Fusion, Windows 7 e CineBench. Quando abbiamo eseguito CineBench su Windows 7, ha segnalato una scheda video generica come l'unico hardware grafico disponibile. Mentre la scheda grafica generica è stata in grado di eseguire OpenGL, lo ha fatto a un tasso molto scarso. Questo potrebbe essere stato il risultato dell'host Mac Pro con una vecchia scheda grafica NVIDIA GeForce 7300. I requisiti di sistema di Fusion suggeriscono una scheda grafica più moderna. Abbiamo trovato interessante, tuttavia, che sotto Windows XP, il test di ombreggiatura di CineBench funzionava senza problemi.
Oltre alle due stranezze sopra menzionate, le prestazioni di Fusion erano pari a quelle che ci aspettavamo da un ambiente virtuale ben progettato.
I risultati dettagliati dei test di benchmark sono disponibili nella galleria Test di benchmark di virtualizzazione.
06 di 07Test di benchmark di virtualizzazione: risultati benchmark per Sun VirtualBox
Abbiamo utilizzato l'ultima versione di Sun VirtualBox (VirtualBox 3.0). Abbiamo installato nuove copie di VirtualBox, Windows XP SP3 e Windows 7. Abbiamo scelto questi due SO Windows per il test perché pensiamo che Windows XP rappresenti la maggior parte delle attuali installazioni di Windows su OS X e che in futuro Windows 7 sarà il sistema operativo guest più comune in esecuzione su Mac.
Prima dell'avvio dei test, abbiamo verificato e installato eventuali aggiornamenti disponibili sia per l'ambiente virtuale che per i due sistemi operativi Windows. Una volta che tutto era aggiornato, abbiamo configurato le macchine virtuali Windows per utilizzare un singolo processore e 1 GB di memoria. Abbiamo spento VirtualBox e disattivato Time Machine e tutti gli elementi di avvio su Mac Pro non necessari per il test. Abbiamo quindi riavviato Mac Pro, lanciato VirtualBox, avviato uno degli ambienti Windows e eseguito i due set di test di benchmark. Una volta che i test sono stati completati, abbiamo copiato i risultati sul Mac per un uso successivo.
Abbiamo quindi ripetuto il riavvio e il lancio di Fusion per i test di benchmark del secondo sistema operativo Windows.
Infine, abbiamo ripetuto la sequenza precedente con il sistema operativo guest impostato per utilizzare 2 e quindi 4 CPU.
Punteggi di riferimento
GeekBench 2.1.4
Windows XP SP3 (1,2,4 CPU): 2345, *, *
Windows 7 (1,2,4 CPU): 2255, 2936, 3926
CineBench R10
Windows XP SP3
Rendering (1,2,4 CPU): 7001, *, *
Shading (OpenGL) (1,2,4 CPU): 1025, *, *
CineBench R10
Windows 7
Rendering (1,2,4 CPU): 2570, 6863, 13344
Shading (OpenGL) (1,2,4 CPU): 711, 710, 1034
Sun VirtualBox e le nostre applicazioni benchtest hanno avuto un problema con Windows XP. In particolare, sia GeekBench che CineBench non sono stati in grado di vedere più di una singola CPU, indipendentemente da come abbiamo configurato il SO guest.
Quando abbiamo testato Windows 7 con GeekBench, abbiamo notato che l'utilizzo del multiprocessore era scadente, risultando nei punteggi più bassi per le configurazioni a 2 e 4 CPU. Le prestazioni del singolo processore sembravano essere alla pari con gli altri ambienti virtuali.
CineBench non è stato in grado di vedere più di un singolo processore durante l'esecuzione di Windows XP. Inoltre, il test di rendering per la versione a CPU singola di Windows XP ha prodotto uno dei risultati più rapidi, superando persino lo stesso Mac Pro. Abbiamo provato a ripetere il test alcune volte; tutti i risultati erano all'interno dello stesso intervallo. Pensiamo che sia sicuro gettare i risultati del rendering della CPU singola di Windows XP in un problema con VirtualBox e in che modo faccia uso delle CPU.
Abbiamo anche visto un bump strano nel rendering dei risultati per 2 e 4 test della CPU con Windows 7. In ogni caso, il rendering è più che raddoppiato in velocità quando si passa da 1 a 2 CPU e da 2 a 4 CPU. Questo tipo di aumento delle prestazioni è improbabile, e ancora una volta lo attribuiremo all'implementazione del supporto CPU multiplo da parte di VirtualBox.
Con tutti i problemi con i test benchmark di VirtualBox, gli unici risultati dei test validi potrebbero essere quelli per una singola CPU con Windows 7.
I risultati dettagliati dei test di benchmark sono disponibili nella galleria Test di benchmark di virtualizzazione.
07 di 07Test di benchmark di virtualizzazione: i risultati
Con tutti i test di benchmark effettuati, è il momento di rivisitare la nostra domanda originale.
I tre principali attori della virtualizzazione su Mac (Parallels Desktop per Mac, VMWare Fusion e Sun VirtualBox) mantengono la promessa di prestazioni quasi native?
La risposta è una borsa mista. Nessuno dei candidati alla virtualizzazione nei nostri test di GeekBench è stato in grado di misurare le prestazioni dell'host Mac Pro. Il miglior risultato è stato registrato da Fusion, che è stata in grado di raggiungere quasi il 68,5% delle prestazioni dell'host. Parallels era vicino dietro al 66,7%. Al centro c'era VirtualBox, al 57,4%.
Quando abbiamo esaminato i risultati di CineBench, che utilizza un test più realistico per il rendering delle immagini, erano molto vicini al punteggio dell'host. Ancora una volta, Fusion è stato in cima ai test di rendering, raggiungendo il 94,9% delle prestazioni dell'host. Parallels seguito al 92,1%. VirtualBox non ha potuto completare in modo affidabile il test di rendering, buttandolo fuori dalla contesa. In una ripetizione del test di rendering, VirtualBox ha riferito di avere un rendimento del 127,4% migliore rispetto all'host, mentre in altri non è stato in grado di avviarsi o terminare.
Il test di ombreggiatura, che mostra l'efficacia della scheda grafica con OpenGL, è stato il peggiore tra tutti gli ambienti virtuali. La migliore performance è stata Parallels, che ha raggiunto il 42,3% delle capacità dell'host. VirtualBox era al secondo posto al 31,5%; La fusione è arrivata al terzo posto al 25,4%.
Scegliere un vincitore assoluto è qualcosa che lasceremo all'utente finale. Ogni prodotto ha i suoi vantaggi e svantaggi e, in molti casi, i numeri di riferimento sono così vicini che ripetere i test potrebbe cambiare la classifica.
Quello che i punteggi dei test comparativi mostrano è che universalmente, la possibilità di utilizzare la scheda grafica nativa è ciò che impedisce all'ambiente virtuale di essere un sostituto completo per un PC dedicato. Detto questo, una scheda grafica più moderna di quella che abbiamo qui potrebbe produrre risultati più elevati nel test di ombreggiatura, in particolare per Fusion, il cui sviluppatore suggerisce schede grafiche con prestazioni più elevate per i migliori risultati.
Si noterà che alcune combinazioni di test (ambiente virtuale, versione di Windows e test di benchmark) hanno mostrato problemi, risultati non realistici o l'impossibilità di completare un test. Questi tipi di risultati non dovrebbero essere usati come indicatori di problemi con un ambiente virtuale. I test di benchmark sono applicazioni insolite per provare a girare in un ambiente virtuale. Sono progettati per misurare le prestazioni dei dispositivi fisici, che l'ambiente virtuale potrebbe non consentire loro di accedere. Questo non è un fallimento dell'ambiente virtuale, e nell'uso del mondo reale, non abbiamo riscontrato problemi con la stragrande maggioranza delle applicazioni Windows in esecuzione su un sistema virtuale.
Tutti gli ambienti virtuali che abbiamo testato (Parallels Desktop per Mac 5.0, VMWare Fusion 3.0 e Sun VirtualBox 3.0) offrono buone prestazioni e stabilità nell'uso quotidiano e dovrebbero essere in grado di fungere da ambiente Windows primario per la maggior parte delle attività quotidiane applicazioni.