Virtualisatie-omgevingen zijn populaire handelswaar voor de Mac-gebruiker sinds Apple begon met het gebruik van Intel-processors in zijn computers. Zelfs voordat Intel arriveerde, was er emulatiesoftware beschikbaar waarmee Mac-gebruikers Windows en Linux konden gebruiken.
Maar de emulatie was traag, waarbij een abstractielaag werd gebruikt om x86-programmeercode te vertalen naar de code die werd gebruikt door de PowerPC-architectuur van eerdere Macs. Deze abstractielaag moest niet alleen vertalen voor het CPU-type, maar ook voor alle hardwarecomponenten. In wezen moest de abstractielaag software-equivalenten van videokaarten, harde schijven, seriële poorten, enz. creëren. Het resultaat was een emulatieomgeving die Windows of Linux kon draaien, maar met ernstige beperkingen in zowel de prestaties als de besturingssystemen die konden worden gebruikt.
Met de komst van Apple's beslissing om Intel-processors te gebruiken, werd de volledige behoefte aan emulatie weggevaagd. In plaats daarvan kwam de mogelijkheid om andere besturingssystemen rechtstreeks op een Intel Mac te draaien. Als je Windows direct op een Mac wilt laten draaien als een optie bij het opstarten, kun je Boot Camp gebruiken, een applicatie die Apple biedt als een handige manier om Windows te installeren in een multi-boot-omgeving.
Maar veel gebruikers hebben een manier nodig om het Mac OS en een tweede OS tegelijkertijd te gebruiken. Parallels, en later VMWare en Sun, brachten deze mogelijkheid naar de Mac met virtualisatietechnologie. Virtualisatie is qua concept vergelijkbaar met emulatie, maar omdat Intel-gebaseerde Macs dezelfde hardware gebruiken als standaard-pc's, is het niet nodig om een hardware-abstractielaag in software te creëren. In plaats daarvan kan de Windows- of Linux-software direct op de hardware draaien, waardoor snelheden worden geproduceerd die bijna net zo snel kunnen zijn als wanneer het gast-besturingssysteem op de pc draait.
En dat is de vraag die onze benchmarktests proberen te beantwoorden. Maken de drie belangrijkste spelers in virtualisatie op de Mac - Parallels Desktop voor Mac, VMWare Fusion en Sun VirtualBox - de belofte van bijna natuurlijke prestaties waar?
We zeggen 'bijna natuurlijk' omdat alle virtualisatie-omgevingen enige overhead hebben die niet kan worden vermeden. Aangezien de virtuele omgeving tegelijkertijd draait met het 'ingebouwde' besturingssysteem (OS X, nu macOS), moeten hardwarebronnen worden gedeeld. Ook moet OS X een aantal services leveren aan de virtualisatieomgeving, zoals windowing en kernservices. De combinatie van deze services en het delen van bronnen heeft de neiging om te beperken hoe goed het gevirtualiseerde besturingssysteem kan draaien.
Om de vraag te beantwoorden, gaan we benchmarktests uitvoeren om te zien hoe goed de drie belangrijkste virtualisatie-omgevingen het doen met Windows.
Testmethode
Tom Nelson. Lifewire, 2016.
We gaan twee verschillende, populaire, platformonafhankelijke benchmarktestsuites gebruiken. De eerste, CineBench 10, voert een real-world test uit van de CPU van een computer en het vermogen van de grafische kaart om afbeeldingen weer te geven. De eerste test gebruikt de CPU om een fotorealistisch beeld weer te geven, waarbij CPU-intensieve berekeningen worden gebruikt om reflecties, omgevingsverduistering, gebiedsverlichting en schaduw, en meer weer te geven. De test wordt uitgevoerd met een enkele CPU of core en vervolgens herhaald met alle beschikbare CPU's en cores. Het resultaat levert een referentieprestatiecijfer voor de computer op met een enkele processor, een cijfer voor alle CPU's en kernen en een indicatie van hoe goed meerdere kernen of CPU's worden gebruikt.
De tweede CineBench-test evalueert de prestaties van de grafische kaart van de computer met behulp van OpenGL om een 3D-scène weer te geven terwijl een camera binnen de scène beweegt. Deze test bepa alt hoe snel de grafische kaart kan presteren terwijl de scène nog steeds nauwkeurig wordt weergegeven.
De tweede testsuite is GeekBench 2.1.4, die de gehele en drijvende-kommaprestaties van de processor test, het geheugen test met een eenvoudige lees-/schrijfprestatietest en een streamtest uitvoert die de aanhoudende geheugenbandbreedte meet. De resultaten van de reeks tests worden gecombineerd om een enkele GeekBench-score te produceren. We zullen ook de vier basistestsets uitsplitsen (Integer Performance, Floating-Point Performance, Memory Performance en Stream Performance), zodat we de sterke en zwakke punten van elke virtuele omgeving kunnen zien.
GeekBench gebruikt een referentiesysteem gebaseerd op een PowerMac G5 @1.6 GHz. GeekBench-scores voor de referentiesystemen zijn genormaliseerd naar 1000. Elke score hoger dan 1000 duidt op een computer die beter presteert dan het referentiesysteem.
Omdat de resultaten van beide benchmarksuites enigszins abstract zijn, beginnen we met het definiëren van een referentiesysteem. In dit geval is het referentiesysteem de host-Mac die wordt gebruikt om de drie virtuele omgevingen uit te voeren (Parallels Desktop voor Mac, VMWare Fusion en Sun Virtual Box). We zullen beide benchmarksuites uitvoeren op het referentiesysteem en dat cijfer gebruiken om te vergelijken hoe goed de virtuele omgevingen presteren.
Alle tests worden uitgevoerd na een nieuwe start van zowel het hostsysteem als de virtuele omgeving. Zowel de host als de virtuele omgevingen zullen alle anti-malware- en antivirusprogramma's uitgeschakeld hebben. Alle virtuele omgevingen worden uitgevoerd binnen een standaard OS X-venster, aangezien dit de meest gebruikelijke methode is die in alle drie de omgevingen wordt gebruikt. In het geval van de virtuele omgevingen zullen er behalve de benchmarks geen gebruikersapplicaties draaien. Op het hostsysteem, behalve de virtuele omgeving, zullen geen andere gebruikerstoepassingen worden uitgevoerd dan een teksteditor om aantekeningen te maken voor en na het testen, maar nooit tijdens het eigenlijke testproces.
Benchmarkresultaten voor hostsysteem Mac Pro
Tom Nelson. Lifewire, 2016.
Het systeem dat de drie virtuele omgevingen zal hosten (Parallels Desktop voor Mac, VMWare Fusion en Sun VirtualBox) is een 2006-editie van een Mac Pro:
Mac Pro (2006)
- Twee dual-core 5160 Zeon-processors (4 cores in totaal) @ 3,00 GHz
- 4 MB per core L2-cache RAM (16 MB totaal)
- 6 GB RAM bestaande uit vier modules van 1 GB en vier modules van 512 MB. Alle modules zijn gekoppelde paren.
- Een 1,33 GHz front-side bus
- Een NVIDIA GeForce 7300 GT grafische kaart
- Twee 500 GB Samsung F1-serie harde schijven. OS X en de virtualisatiesoftware bevinden zich op de opstartschijf; de gast-besturingssystemen worden op de tweede schijf opgeslagen. Elke schijf heeft zijn eigen onafhankelijke SATA 2-kanaal.
De resultaten van de GeekBench- en CineBench-tests op de host-Mac Pro zouden de praktische bovengrens van de prestaties moeten bieden die we in elke virtuele omgeving zouden moeten zien. Dat gezegd hebbende, willen we erop wijzen dat het mogelijk is dat een virtuele omgeving de prestaties van de host in een enkele test overtreft. De virtuele omgeving heeft mogelijk toegang tot de onderliggende hardware en kan sommige OS X-besturingssysteemlagen omzeilen. Het is ook mogelijk dat de benchmark-testsuites voor de gek worden gehouden door het prestatiecachesysteem dat in de virtuele omgevingen is ingebouwd, en resultaten produceren die ver boven de potentiële prestaties liggen.
Benchmarkscores
GeekBench 2.1.4
- GeekBench-score: 6830
- Geheel getal: 6799
- Drijvend punt: 10786
- Geheugen: 2349
- Stream: 2057
CineBench R10
- Rendering, enkele CPU: 3248
- Rendering, 4 CPU: 10470
- Effectieve snelheidsverhoging van enkele naar alle processors: 3.22
- Shading (OpenGL): 3249
Gedetailleerde resultaten van de benchmarktests zijn beschikbaar in de Virtualization Benchmark Test-galerij.
Benchmarkresultaten voor Parallels Desktop voor Mac 5
Tom Nelson. Lifewire, 2016.
We gebruikten de nieuwste versie van Parallels (Parallels Desktop voor Mac 5.0). We hebben nieuwe exemplaren van Parallels, Windows XP SP3 en Windows 7 geïnstalleerd. We hebben deze twee Windows-besturingssystemen gekozen om te testen omdat we denken dat Windows XP de overgrote meerderheid van de huidige Windows-installaties op OS X vertegenwoordigt en dat in de toekomst Windows 7 de meest voorkomende gast-besturingssysteem op de Mac.
Voordat het testen begon, hebben we alle beschikbare updates voor zowel de virtuele omgeving als de twee Windows-besturingssystemen gecontroleerd en geïnstalleerd. Toen alles up-to-date was, hebben we de virtuele Windows-machines geconfigureerd om één processor en 1 GB geheugen te gebruiken. We hebben Parallels afgesloten en Time Machine uitgeschakeld en alle opstartitems op de Mac Pro die niet nodig waren voor het testen. Vervolgens hebben we de Mac Pro opnieuw opgestart, Parallels gelanceerd, een van de Windows-omgevingen gestart en de twee sets benchmarktests uitgevoerd. Nadat de tests waren voltooid, hebben we de resultaten naar de Mac gekopieerd voor latere referentie.
Vervolgens herhaalden we de herstart en lancering van Parallels voor de benchmarktests van het tweede Windows-besturingssysteem.
Ten slotte herhaalden we de bovenstaande reeks met het gast-besturingssysteem ingesteld om 2 en vervolgens 4 CPU's te gebruiken.
Benchmarkscores
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 voor Mac 5.0 heeft alle benchmarktests voltooid. GeekBench zag slechts kleine prestatieverschillen tussen Windows XP en Windows 7, wat we verwachtten. GeekBench concentreert zich op het testen van processor- en geheugenprestaties, dus we verwachten dat het een goede indicator is van de onderliggende prestaties van de virtuele omgeving en hoe goed het de hardware van de host Mac Pro beschikbaar maakt voor de gast-besturingssystemen.
CineBench's renderingtest toonde eveneens consistentie tussen de twee Windows-besturingssystemen. Nogmaals, dit is te verwachten, aangezien de renderingtest uitgebreid gebruik maakt van de processors en geheugenbandbreedte zoals gezien door de gast-besturingssystemen. De schaduwtest is een goede indicatie van hoe goed elke virtuele omgeving zijn videostuurprogramma heeft geïmplementeerd. In tegenstelling tot de rest van de Mac-hardware, wordt de grafische kaart niet rechtstreeks beschikbaar gesteld aan de virtuele omgevingen. Dit komt omdat de grafische kaart continu voor de weergave van de hostomgeving moet zorgen en niet kan worden omgeleid om alleen de gastomgeving weer te geven. Dit geldt zelfs als de virtuele omgeving een optie voor weergave op volledig scherm biedt.
Gedetailleerde resultaten van de benchmarktests zijn beschikbaar in de Virtualization Benchmark Test-galerij.
Benchmarkresultaten voor VMWare Fusion 3.0
Tom Nelson. Lifewire, 2016.
We gebruikten de nieuwste versie van VMWare Fusion (Fusion 3.0). We hebben nieuwe exemplaren van Fusion, Windows XP SP3 en Windows 7 geïnstalleerd. We hebben deze twee Windows-besturingssystemen gekozen om te testen omdat we denken dat Windows XP de overgrote meerderheid van de huidige Windows-installaties op OS X vertegenwoordigt en dat in de toekomst Windows 7 de meest voorkomende gast-besturingssysteem op de Mac.
Voordat het testen begon, hebben we alle beschikbare updates gecontroleerd en geïnstalleerd voor zowel de virtuele omgeving als de twee Windows-besturingssystemen. Toen alles up-to-date was, hebben we de virtuele Windows-machines geconfigureerd om één processor en 1 GB geheugen te gebruiken. We hebben Fusion afgesloten en Time Machine uitgeschakeld en alle opstartitems op de Mac Pro die niet nodig waren voor het testen. Vervolgens hebben we de Mac Pro opnieuw opgestart, Fusion gelanceerd, een van de Windows-omgevingen gestart en de twee sets benchmarktests uitgevoerd. Nadat de tests waren voltooid, hebben we de resultaten naar de Mac gekopieerd voor later gebruik.
Vervolgens herhaalden we de herstart en lancering van Fusion voor de benchmarktests van het tweede Windows-besturingssysteem.
Ten slotte herhaalden we de bovenstaande reeks met het gast-besturingssysteem ingesteld om 2 en vervolgens 4 CPU's te gebruiken.
Benchmarkscores
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
We kwamen problemen tegen met Fusion en de benchmarktests. In het geval van Windows XP met een enkele processor rapporteerde GeekBench de prestaties van de geheugenstroom met een snelheid die beter was dan 25 keer de snelheid van de host Mac Pro. Dit ongebruikelijke geheugenresultaat verhoogde de GeekBench-score voor de enkele CPU-versie van Windows XP tot 8148. Nadat we de test vele malen hadden herhaald en vergelijkbare resultaten hadden gekregen, besloten we de test als ongeldig te markeren en beschouwen het als een interactieprobleem tussen de benchmarktest, Fusion en Windows XP. Voor zover we kunnen nagaan, rapporteerde Fusion voor de enkele CPU-configuratie niet de juiste hardwareconfiguratie aan de GeekBench-applicatie. GeekBench en Windows XP presteerden echter feilloos met twee of meer geselecteerde CPU's.
We hadden ook een probleem met Fusion, Windows 7 en CineBench. Toen we CineBench onder Windows 7 draaiden, meldde het een generieke videokaart als de enige beschikbare grafische hardware. Hoewel de generieke grafische kaart OpenGL kon draaien, deed hij dat met een verschrikkelijke snelheid. Dit kan het gevolg zijn geweest van het feit dat de host Mac Pro een oude NVIDIA GeForce 7300 grafische kaart heeft. De systeemvereisten van Fusion suggereren een modernere grafische kaart. We vonden het echter interessant dat de CineBench-schaduwtest onder Windows XP probleemloos verliep.
Afgezien van de twee hierboven genoemde eigenaardigheden, waren de prestaties van Fusion vergelijkbaar met wat we verwachtten van een goed ontworpen virtuele omgeving.
Gedetailleerde resultaten van de benchmarktests zijn beschikbaar in de Virtualization Benchmark Test-galerij.
Benchmarkresultaten voor Sun VirtualBox
Tom Nelson. Lifewire, 2016.
We gebruikten de nieuwste versie van Sun VirtualBox (VirtualBox 3.0). We hebben nieuwe exemplaren van VirtualBox, Windows XP SP3 en Windows 7 geïnstalleerd. We hebben deze twee Windows-besturingssystemen gekozen om te testen omdat we denken dat Windows XP de overgrote meerderheid van de huidige Windows-installaties op OS X vertegenwoordigt en dat in de toekomst Windows 7 de meest voorkomende gast-besturingssysteem op de Mac.
Voordat het testen begon, hebben we alle beschikbare updates gecontroleerd en geïnstalleerd voor zowel de virtuele omgeving als de twee Windows-besturingssystemen. Toen alles up-to-date was, hebben we de virtuele Windows-machines geconfigureerd om één processor en 1 GB geheugen te gebruiken. We hebben VirtualBox afgesloten en Time Machine uitgeschakeld en alle opstartitems op de Mac Pro die niet nodig waren voor het testen. Vervolgens hebben we de Mac Pro opnieuw opgestart, VirtualBox gelanceerd, een van de Windows-omgevingen gestart en de twee sets benchmarktests uitgevoerd. Nadat de tests waren voltooid, hebben we de resultaten naar de Mac gekopieerd voor later gebruik.
Vervolgens herhaalden we de herstart en lancering van Fusion voor de benchmarktests van het tweede Windows-besturingssysteem.
Ten slotte herhaalden we de bovenstaande reeks met het gast-besturingssysteem ingesteld om 2 en vervolgens 4 CPU's te gebruiken.
Benchmarkscores
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 en onze bench-testtoepassingen hadden een probleem met Windows XP. In het bijzonder konden zowel GeekBench als CineBench niet meer dan een enkele CPU zien, ongeacht hoe we het gast-besturingssysteem hadden geconfigureerd.
Toen we Windows 7 testten met GeekBench, merkten we dat het gebruik van meerdere processors onvoldoende was, wat resulteerde in de laagste scores voor 2 en 4 CPU-configuraties. De prestaties van één processor leken op één lijn te liggen met de andere virtuele omgevingen.
CineBench kon ook niet meer dan een enkele processor zien bij het draaien van Windows XP. Ook de renderingtest voor de single-CPU-versie van Windows XP leverde een van de snelste resultaten op, zelfs beter dan de Mac Pro zelf. We hebben geprobeerd de test een paar keer opnieuw uit te voeren; alle resultaten waren binnen hetzelfde bereik. We denken dat het veilig is om de resultaten van Windows XP single-CPU rendering toe te schrijven aan een probleem met VirtualBox en hoe het gebruik maakt van CPU's.
We zagen ook een vreemde hobbel in de weergaveresultaten voor 2 en 4 CPU-tests met Windows 7 en in beide gevallen werd de snelheid meer dan verdubbeld bij het overschakelen van 1 naar 2 CPU's en van 2 naar 4 CPU's. Dit type prestatieverbetering is onwaarschijnlijk, en nogmaals, we zullen het toeschrijven aan VirtualBox's implementatie van meerdere CPU-ondersteuning.
Met alle problemen met het testen van VirtualBox-benchmarks, zijn de enige geldige testresultaten die voor een enkele CPU onder Windows 7.
Gedetailleerde resultaten van de benchmarktests zijn beschikbaar in de Virtualization Benchmark Test-galerij.
De resultaten
Nu alle benchmarktests zijn uitgevoerd, is het tijd om onze oorspronkelijke vraag opnieuw te bekijken.
Maken de drie grote spelers in virtualisatie op de Mac (Parallels Desktop voor Mac, VMWare Fusion en Sun VirtualBox) de belofte van bijna natuurlijke prestaties waar?
Het antwoord is een allegaartje. Geen van de virtualisatiekandidaten in onze GeekBench-tests kon zich meten met de prestaties van de host Mac Pro. Het beste resultaat werd behaald door Fusion, dat bijna 68,5% van de prestaties van de host kon behalen. Parallels volgden met 66,7%. De achterkant was VirtualBox, met 57,4%.
Toen we keken naar de resultaten van CineBench, die een meer realistische test gebruikt voor het renderen van afbeeldingen, lagen ze heel dicht bij de score van de host. Fusion stond opnieuw aan de top van de renderingtests en behaalde 94,9% van de prestaties van de host. Parallellen volgden met 92,1%. VirtualBox kon de renderingtest niet op betrouwbare wijze voltooien, waardoor het uit de strijd kwam. In één iteratie van de renderingtest meldde VirtualBox dat het 127,4% beter presteerde dan de host, terwijl het in andere niet kon starten of eindigen.
De shading-test, die kijkt hoe goed de grafische kaart presteert met OpenGL, deed het het slechtst van alle virtuele omgevingen. De best presterende was Parallels, dat 42,3% van de mogelijkheden van de host bereikte. VirtualBox werd tweede op 31.5%; Fusion werd derde met 25,4%.
Het kiezen van een algehele winnaar is iets dat we aan de eindgebruiker overlaten. Elk product heeft zijn plussen en minnen, en in veel gevallen liggen de benchmarknummers zo dicht bij elkaar dat het herhalen van de tests het klassement zou kunnen veranderen.
Wat de benchmarktestscores laten zien, is dat universeel de mogelijkheid om gebruik te maken van de grafische kaart de virtuele omgeving ervan weerhoudt een volledige vervanging te zijn voor een speciale pc. Dat gezegd hebbende, zou een modernere grafische kaart dan we hier hebben hogere prestatiecijfers kunnen opleveren in de schaduwtest, vooral voor Fusion, wiens ontwikkelaar grafische kaarten met hogere prestaties voorstelt voor de beste resultaten.
Je zult merken dat sommige testcombinaties (virtuele omgeving, Windows-versie en benchmarktest) problemen vertoonden, ofwel onrealistische resultaten of het niet voltooien van een test. Dit soort resultaten mogen niet worden gebruikt als indicatoren voor problemen met een virtuele omgeving. Benchmarktests zijn ongebruikelijke toepassingen om te proberen te draaien in een virtuele omgeving. Ze zijn ontworpen om de prestaties van fysieke apparaten te meten, waartoe de virtuele omgeving hen mogelijk geen toegang geeft. Dit is geen storing van de virtuele omgeving, en bij gebruik in de echte wereld hebben we geen problemen ondervonden met de overgrote meerderheid van Windows-applicaties die onder een virtueel systeem draaien.
Alle virtuele omgevingen die we hebben getest (Parallels Desktop voor Mac 5.0, VMWare Fusion 3.0 en Sun VirtualBox 3.0) bieden uitstekende prestaties en stabiliteit bij dagelijks gebruik en zouden de meeste dag als uw primaire Windows-omgeving moeten kunnen dienen -tot-dag toepassingen.