Introduzione al test di benchmark di virtualizzazione
Gli ambienti di virtualizzazione sono stati un prodotto caldo per gli utenti Mac da quando Apple ha iniziato a utilizzare i 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, utilizzando un livello di astrazione per tradurre il codice di programmazione x86 nel codice utilizzato dall'architettura PowerPC dei Mac precedenti. Questo livello di astrazione non solo doveva essere tradotto per il tipo di CPU, ma anche per tutti i componenti hardware. In sostanza, il livello di astrazione doveva creare equivalenti software di schede video, dischi fissi, porte seriali, eccetera. Il risultato è stato un ambiente di emulazione in grado di eseguire Windows o Linux ma era fortemente limitato sia nelle prestazioni che nel sistemi operativi che potrebbe essere utilizzato.
Con l'avvento della decisione di Apple di utilizzare i processori Intel, l'intera necessità di emulazione è stata spazzata via. Al suo posto è arrivata la possibilità di eseguire altri sistemi operativi direttamente su un Mac Intel. Se desideri eseguire Windows direttamente su un Mac come opzione all'avvio, puoi utilizzare
Ma molti utenti hanno bisogno di un modo per eseguire il sistema operativo Mac e un secondo sistema operativo contemporaneamente. Parallels, e in seguito VMWare e Sun, hanno portato questa capacità sul Mac con la tecnologia di virtualizzazione. La virtualizzazione è concettualmente simile all'emulazione, ma poiché i Mac basati su Intel utilizzano lo stesso hardware dei PC standard, non è necessario 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 sistema operativo guest fosse in esecuzione sul PC.
E questa è la domanda a cui i nostri test di benchmark cercano di rispondere. I tre principali attori della virtualizzazione su Mac - Parallels Desktop per Mac, VMWare Fusion e Sun VirtualBox - sono all'altezza della promessa di prestazioni quasi naturali?
Diciamo "quasi naturale" perché tutti gli ambienti di virtualizzazione hanno un sovraccarico che non può essere evitato. Poiché l'ambiente virtuale è in esecuzione contemporaneamente al sistema operativo "integrato" (OS X, ora macOS), è necessario condividere le risorse hardware. Inoltre, OS X deve fornire alcuni servizi all'ambiente di virtualizzazione, come le finestre ei servizi principali. La combinazione di questi servizi e la condivisione delle risorse tende a limitare la capacità di esecuzione del sistema operativo virtualizzato.
Per rispondere alla domanda, eseguiremo test di benchmark per vedere come funzionano i tre principali ambienti di virtualizzazione con Windows.
01
di 06
Metodo di prova

Tom Nelson. Lifewire, 2016.
Utilizzeremo due diverse suite di test benchmark multipiattaforma e popolari. Il primo, CineBench 10, esegue un test nel mondo reale della CPU di un computer e della capacità della sua scheda grafica di eseguire il rendering delle immagini. Il primo test utilizza la CPU per eseguire il rendering di un'immagine fotorealistica, utilizzando calcoli a uso intensivo della CPU per eseguire il rendering di riflessi, occultamento dell'ambiente, 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 livello di prestazioni di riferimento per il computer che utilizza un singolo processore, un voto per tutte le CPU e i core e un'indicazione di quanto bene più core o le CPU sono utilizzate.
Il secondo test CineBench valuta le prestazioni della scheda grafica del computer utilizzando 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 il rendering ancora accurato della scena.
La seconda suite di test è GeekBench 2.1.4, che verifica le prestazioni dei numeri interi e in virgola mobile del processore, verifica la memoria utilizzando un semplice test delle prestazioni di lettura/scrittura ed esegue un test dei flussi che misura la larghezza di banda della memoria sostenuta. I risultati del set di test vengono combinati per produrre un singolo punteggio GeekBench. Analizzeremo anche i quattro set di test di base (Prestazioni intere, Prestazioni in virgola mobile, Memoria Performance e Stream Performance), così possiamo vedere i punti di forza e di debolezza di ogni virtual ambiente.
GeekBench utilizza un sistema di riferimento basato su un PowerMac G5 @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 alquanto 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 Fusione Sun Virtual Box). Eseguiremo entrambe le suite di benchmark sul sistema di riferimento e utilizzeremo quella cifra per confrontare le prestazioni 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 antimalware 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, non verranno eseguite applicazioni utente diverse dai benchmark. Sul sistema host, ad eccezione dell'ambiente virtuale, nessuna applicazione utente verrà eseguita se non un editor di testo per prendere appunti prima e dopo il test, ma mai durante il processo di test effettivo.
02
di 06
Risultati benchmark per il sistema host Mac Pro

Tom Nelson. Lifewire, 2016.
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 in totale) a 3,00 GHz
- 4 MB per core di cache L2 di RAM (16 MB in totale)
- 6 GB di RAM composta da quattro moduli da 1 GB e quattro moduli da 512 MB. Tutti i moduli sono coppie abbinate.
- Un bus frontale da 1,33 GHz
- Una scheda grafica NVIDIA GeForce 7300 GT
- Due dischi rigidi Samsung serie F1 da 500 GB. OS X e il software di virtualizzazione sono residenti sull'unità di avvio; i SO guest sono archiviati sulla 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 massimo 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 del sistema operativo di OS X. È anche possibile che le suite di test di benchmark vengano ingannate dal sistema di cache delle prestazioni integrati negli ambienti virtuali e producono risultati che sono selvaggiamente oltre il potenziale prestazione.
Punteggi di riferimento
GeekBench 2.1.4
- Punteggio GeekBench: 6830
- Intero: 6799
- Virgola mobile: 10786
- Memoria: 2349
- Flusso: 2057
CineBench R10
- Rendering, CPU singola: 3248
- Rendering, 4 CPU: 10470
- Velocità effettiva da singolo a tutti i processori: 3.22
- Ombreggiatura (OpenGL): 3249
I risultati dettagliati dei test di benchmark sono disponibili nella galleria Virtualization Benchmark Test.
03
di 06
Risultati benchmark per Parallels Desktop per Mac 5

Tom Nelson. Lifewire, 2016.
Abbiamo utilizzato 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 sistemi operativi Windows per i test perché pensiamo Windows XP rappresenta la stragrande maggioranza delle attuali installazioni di Windows su OS X e che in futuro Windows 7 sarà il SO guest più comune in esecuzione su Mac.
Prima dell'inizio dei 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 è stato aggiornato, abbiamo configurato le macchine virtuali Windows per utilizzare un singolo processore e 1 GB di memoria. Abbiamo spento Parallels e disabilitato Time Machine e tutti gli elementi di avvio su Mac Pro non necessari per il test. Abbiamo quindi riavviato il Mac Pro, avviato Parallels, avviato uno degli ambienti Windows ed eseguito i due set di test di benchmark. Una volta completati i test, abbiamo copiato i risultati sul Mac per riferimento futuro.
Abbiamo quindi ripetuto il riavvio e il lancio di Parallels per i test di benchmark del secondo sistema operativo Windows.
Infine, abbiamo ripetuto la sequenza sopra con il sistema operativo guest impostato per utilizzare 2 e poi 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
- Ombreggiatura (OpenGL) (1,2,4 CPU): 1317, 1317, 1320
CineBench R10
- Windows 7
- Rendering (1,2,4 CPU): 2835, 5389, 9508
- Ombreggiatura (OpenGL) (1,2,4 CPU): 1335, 1333, 1375
Parallels Desktop per Mac 5.0 ha completato 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 su un processore di prova e sulle prestazioni della memoria, quindi ci aspettiamo che sia un buon indicatore del le prestazioni sottostanti dell'ambiente virtuale e quanto bene rende l'hardware del Mac Pro host disponibile per l'ospite sistemi operativi.
Anche il test di rendering di CineBench ha mostrato coerenza tra i due sistemi operativi Windows. Ancora una volta, questo è prevedibile poiché il test di rendering fa un uso estensivo dei processori e della larghezza di banda della memoria come visto dai sistemi operativi guest. Il test dell'ombreggiatura è un buon indicatore di quanto bene ogni ambiente virtuale abbia implementato il proprio driver video. A differenza del resto dell'hardware del Mac, la scheda grafica non è resa disponibile direttamente negli ambienti virtuali. Questo perché la scheda grafica deve occuparsi continuamente del display per l'ambiente host e non può essere deviata per visualizzare solo l'ambiente guest. 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 Virtualization Benchmark Test.
04
di 06
Risultati benchmark per VMWare Fusion 3.0

Tom Nelson. Lifewire, 2016.
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 sistemi operativi Windows per i test perché pensiamo che Windows XP rappresenti la stragrande maggioranza degli attuali installazioni di Windows su OS X e che in futuro Windows 7 sarà il SO guest più comune in esecuzione su Mac.
Prima dell'inizio dei 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 è stato aggiornato, abbiamo configurato le macchine virtuali Windows per utilizzare un singolo processore e 1 GB di memoria. Abbiamo spento Fusion e disabilitato Time Machine e tutti gli elementi di avvio su Mac Pro non necessari per il test. Abbiamo quindi riavviato il Mac Pro, lanciato Fusion, avviato uno degli ambienti Windows ed eseguito i due set di test di benchmark. Una volta completati i test, abbiamo copiato i risultati sul Mac per un uso successivo.
Abbiamo quindi ripetuto il riavvio e il lancio di Fusion per i test benchmark del secondo sistema operativo Windows.
Infine, abbiamo ripetuto la sequenza sopra con il sistema operativo guest impostato per utilizzare 2 e poi 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
- Ombreggiatura (OpenGL) (1,2,4 CPU): 821, 821, 827
CineBench R10
- Windows 7
- Rendering (1,2,4 CPU): 2843, 5408, 9657
- Ombreggiatura (OpenGL) (1,2,4 CPU): 130, 130, 124
Abbiamo riscontrato problemi con Fusion e i test di benchmark. Nel caso di Windows XP con un singolo processore, GeekBench ha riportato prestazioni del flusso di memoria a una velocità migliore di 25 volte la velocità dell'host Mac Pro. Questo insolito risultato di memoria ha portato il punteggio di GeekBench per la versione a 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 benchmark, Fusion e Windows XP. Per quanto possiamo dire, per la configurazione della singola CPU, Fusion non stava segnalando la configurazione hardware corretta all'applicazione GeekBench. Tuttavia, GeekBench e Windows XP hanno funzionato perfettamente con due o più CPU selezionate.
Abbiamo anche avuto un problema con Fusion, Windows 7 e CineBench. Quando abbiamo eseguito CineBench con Windows 7, è stata segnalata una scheda video generica come unico hardware grafico disponibile. Mentre la scheda grafica generica era in grado di eseguire OpenGL, lo faceva a una velocità abissale. Questo potrebbe essere stato il risultato del Mac Pro host 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 CineBench sia stato eseguito senza problemi.
A parte le due stranezze sopra menzionate, le prestazioni di Fusion erano alla pari con quanto ci aspettavamo da un ambiente virtuale ben progettato.
I risultati dettagliati dei test di benchmark sono disponibili nella galleria Virtualization Benchmark Test.
05
di 06
Risultati benchmark per Sun VirtualBox

Tom Nelson. Lifewire, 2016.
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 sistemi operativi Windows per i test perché pensiamo che Windows XP rappresenti la stragrande maggioranza degli attuali installazioni di Windows su OS X e che in futuro Windows 7 sarà il SO guest più comune in esecuzione su Mac.
Prima dell'inizio dei 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 è stato aggiornato, abbiamo configurato le macchine virtuali Windows per utilizzare un singolo processore e 1 GB di memoria. Abbiamo spento VirtualBox e disabilitato Time Machine e tutti gli elementi di avvio su Mac Pro non necessari per il test. Abbiamo quindi riavviato il Mac Pro, avviato VirtualBox, avviato uno degli ambienti Windows ed eseguito i due set di test di benchmark. Una volta completati i test, abbiamo copiato i risultati sul Mac per un uso successivo.
Abbiamo quindi ripetuto il riavvio e il lancio di Fusion per i test benchmark del secondo sistema operativo Windows.
Infine, abbiamo ripetuto la sequenza sopra con il sistema operativo guest impostato per utilizzare 2 e poi 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, *, *
- Ombreggiatura (OpenGL) (1,2,4 CPU): 1025, *, *
CineBench R10
- Windows 7
- Rendering (1,2,4 CPU): 2570, 6863, 13344
- Ombreggiatura (OpenGL) (1,2,4 CPU): 711, 710, 1034
Sun VirtualBox e le nostre applicazioni di prova al banco si sono imbattute in a problema con Windows XP. Nello specifico, sia GeekBench che CineBench non sono stati in grado di vedere più di una singola CPU, indipendentemente da come abbiamo configurato il sistema operativo guest.
Quando abbiamo testato Windows 7 con GeekBench, abbiamo notato che l'utilizzo del multiprocessore era inadeguato, risultando nei punteggi più bassi per le configurazioni con 2 e 4 CPU. Le prestazioni del singolo processore sembravano essere alla pari con gli altri ambienti virtuali.
CineBench non è stato inoltre 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ù veloci, superando anche lo stesso Mac Pro. Abbiamo provato a ripetere il test alcune volte; tutti i risultati rientravano nello stesso intervallo. Riteniamo che sia sicuro attribuire i risultati del rendering a CPU singola di Windows XP a un problema con VirtualBox e al modo in cui utilizza le CPU.
Abbiamo anche visto uno strano aumento dei risultati di rendering per i test CPU 2 e 4 con Windows 7 e, in ogni caso, la velocità di rendering è più che raddoppiata 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 di VirtualBox di più CPU sostegno.
Con tutti i problemi con i test benchmark di VirtualBox, gli unici risultati dei test validi potrebbero essere quelli per una singola CPU in Windows 7.
I risultati dettagliati dei test di benchmark sono disponibili nella galleria Virtualization Benchmark Test.
06
di 06
I risultati
Con tutti i test di benchmark eseguiti, è tempo di rivisitare la nostra domanda originale.
I tre principali attori della virtualizzazione su Mac (Parallels Desktop per Mac, VMWare Fusion e Sun VirtualBox) sono all'altezza della promessa di prestazioni quasi naturali?
La risposta è un miscuglio. Nessuno dei candidati alla virtualizzazione nei nostri test 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 al 66,7%. In coda c'è VirtualBox, al 57,4%.
Quando abbiamo esaminato i risultati di CineBench, che utilizza un test più reale 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 ha seguito al 92,1%. VirtualBox non è riuscito a completare in modo affidabile il test di rendering, mettendolo fuori gioco. In un'iterazione del test di rendering, VirtualBox ha riferito di aver ottenuto prestazioni migliori del 127,4% rispetto all'host, mentre in altre non è stato possibile avviare o terminare.
Il test di ombreggiatura, che esamina le prestazioni della scheda grafica utilizzando OpenGL, è risultato il peggiore tra tutti gli ambienti virtuali. Il miglior risultato è stato Parallels, che ha raggiunto il 42,3% delle capacità dell'host. VirtualBox è secondo al 31,5%; Fusion è arrivata terza con il 25,4%.
La scelta di 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.
Ciò che i punteggi dei test di riferimento mostrano è che universalmente, la capacità di utilizzare la scheda grafica è ciò che trattiene l'ambiente virtuale dall'essere un sostituto completo per un PC dedicato. Detto questo, una scheda grafica più moderna di quella che abbiamo qui potrebbe produrre prestazioni più elevate nel shading test, in particolare per Fusion, il cui sviluppatore suggerisce schede grafiche con prestazioni più elevate per il meglio risultati.
Noterai che alcune combinazioni di test (ambiente virtuale, versione Windows e test di benchmark) hanno mostrato problemi, risultati non realistici o mancato completamento di un test. Questi tipi di risultati non dovrebbero essere usati come indicatori di problemi con un ambiente virtuale. I test di riferimento sono applicazioni insolite da provare a eseguire in un ambiente virtuale. Sono progettati per misurare le prestazioni dei dispositivi fisici, a cui l'ambiente virtuale potrebbe non consentire l'accesso. Questo non è un errore dell'ambiente virtuale e, nell'uso nel 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) forniscono eccellenti prestazioni e stabilità nell'uso quotidiano e dovrebbe essere in grado di fungere da ambiente Windows principale per la maggior parte della vita quotidiana applicazioni.