Introduktion till Virtualization Benchmark Test
Virtualiseringsmiljöer har varit heta varor för Mac-användare ända sedan Apple började använda Intel-processorer i sina datorer. Redan innan Intel kom fanns emuleringsprogram tillgänglig som gjorde det möjligt för Mac-användare att köra Windows och Linux.
Men emuleringen var långsam, med hjälp av ett abstraktionslager för att översätta x86-programmeringskod till koden som användes av PowerPC-arkitekturen på tidigare Mac-datorer. Detta abstraktionsskikt behövde inte bara översättas för CPU-typ utan också alla hårdvarukomponenter. I huvudsak måste abstraktionsskiktet skapa mjukvaruekvivalenter till grafikkort, hårddiskar, seriella portar, etc. Resultatet blev en emuleringsmiljö som kunde köra Windows eller Linux men som var kraftigt begränsad i både prestanda och operativsystem som skulle kunna användas.
Med tillkomsten av Apples beslut att använda Intel-processorer, sveptes hela behovet av emulering bort. I dess ställe kom möjligheten att köra andra operativsystem direkt på en Intel Mac. Om du vill köra Windows direkt på en Mac som ett alternativ vid uppstart kan du använda
Men många användare behöver ett sätt att köra Mac OS och ett andra OS samtidigt. Parallels, och senare VMWare och Sun, förde denna funktion till Mac med virtualiseringsteknik. Virtualisering liknar i sin koncept emulering, men eftersom Intel-baserade Mac-datorer använder samma hårdvara som vanliga PC-datorer, finns det inget behov av att skapa ett hårdvaruabstraktionslager i programvara. Istället kan Windows- eller Linux-programvaran köras direkt på hårdvaran, vilket ger hastigheter som kan vara nästan lika snabba som om gästoperativsystemet kördes på datorn.
Och det är den fråga som våra benchmarktest försöker svara på. Lever de tre stora aktörerna inom virtualisering på Mac - Parallels Desktop för Mac, VMWare Fusion och Sun VirtualBox - upp till löftet om nästan naturlig prestanda?
Vi säger "nästan naturligt" eftersom alla virtualiseringsmiljöer har vissa overhead som inte kan undvikas. Eftersom den virtuella miljön körs samtidigt som det "inbyggda" operativsystemet (OS X, nu macOS), måste det finnas delning av hårdvaruresurser. Dessutom måste OS X tillhandahålla vissa tjänster till virtualiseringsmiljön, såsom fönster och kärntjänster. Kombinationen av dessa tjänster och resursdelning tenderar att begränsa hur väl det virtualiserade operativsystemet kan köras.
För att svara på frågan kommer vi att utföra benchmark-tester för att se hur bra de tre stora virtualiseringsmiljöerna klarar sig med Windows.
01
av 06
Testmetod
Vi kommer att använda två olika, populära, plattformsoberoende benchmark-testsviter. Den första, CineBench 10, utför ett verkligt test av en dators CPU och dess grafikkorts förmåga att återge bilder. Det första testet använder CPU: n för att återge en fotorealistisk bild, med CPU-intensiva beräkningar för att återge reflektioner, omgivande ockultation, områdesbelysning och skuggning med mera. Testet utförs med en enda CPU eller kärna och upprepas sedan med alla tillgängliga CPU: er och kärnor. Resultatet ger en referensprestandagrad för datorn med en enda processor, en grad för alla CPU: er och kärnor, och en indikation på hur väl flera kärnor eller CPU: er används.
Det andra CineBench-testet utvärderar prestandan hos datorns grafikkort med OpenGL för att återge en 3D-scen medan en kamera rör sig inom scenen. Det här testet avgör hur snabbt grafikkortet kan prestera samtidigt som scenen återges korrekt.
Den andra testsviten är GeekBench 2.1.4, som testar processorns heltals- och flyttalsprestanda, testar minne med ett enkelt läs-/skrivprestandatest och utför ett strömtest som mäter minnesbandbredden. Resultaten av uppsättningen tester kombineras för att producera ett enda GeekBench-poäng. Vi kommer också att dela ut de fyra grundläggande testseten (heltalsprestanda, flytande punktsprestanda, minne Performance och Stream Performance), så att vi kan se styrkorna och svagheterna hos varje virtuell miljö.
GeekBench använder ett referenssystem baserat på en PowerMac G5 @1,6 GHz. GeekBench-poäng för referenssystemen är normaliserade till 1000. Varje poäng högre än 1000 indikerar en dator som presterar bättre än referenssystemet.
Eftersom resultaten från båda benchmarksviterna är något abstrakta, börjar vi med att definiera ett referenssystem. I det här fallet kommer referenssystemet att vara den värddator som används för att köra de tre virtuella miljöerna (Parallels Desktop för Mac, VMWare Fusionoch Sun Virtual Box). Vi kommer att köra båda benchmarksviterna på referenssystemet och använda den siffran för att jämföra hur väl de virtuella miljöerna presterar.
All testning kommer att utföras efter en ny uppstart av både värdsystemet och den virtuella miljön. Både värden och den virtuella miljön kommer att ha alla anti-malware- och antivirusprogram inaktiverade. Alla virtuella miljöer kommer att köras inom ett standard OS X-fönster eftersom detta är den vanligaste metoden som används i alla tre miljöerna. När det gäller de virtuella miljöerna kommer inga andra användarapplikationer att köras än riktmärkena. På värdsystemet, förutom den virtuella miljön, körs inga andra användarapplikationer än en textredigerare för att göra anteckningar före och efter testning, men aldrig under själva testprocessen.
02
av 06
Benchmark-resultat för Host System Mac Pro
Systemet som kommer att vara värd för de tre virtuella miljöerna (Parallels Desktop för Mac, VMWare Fusion och Sun VirtualBox) är en 2006-utgåva av en Mac Pro:
Mac Pro (2006)
- Två Dual-Core 5160 Zeon-processorer (4 kärnor totalt) @ 3,00 GHz
- 4 MB per kärna L2-cache-RAM (16 MB totalt)
- 6 GB RAM bestående av fyra 1 GB moduler och fyra 512 MB moduler. Alla moduler är matchade par.
- En 1,33 GHz främre sidobuss
- Ett NVIDIA GeForce 7300 GT grafikkort
- Två 500 GB Samsung F1 Series hårddiskar. OS X och virtualiseringsprogramvaran finns på startenheten; gäst-OSen lagras på den andra enheten. Varje enhet har sin egen oberoende SATA 2-kanal.
Resultaten av GeekBench- och CineBench-testerna på värddatorn Mac Pro bör ge den praktiska övre gränsen för prestanda vi bör se från någon av de virtuella miljöerna. Med detta sagt vill vi påpeka att det är möjligt för en virtuell miljö att överträffa värdens prestanda i ett enskilt test. Den virtuella miljön kanske kan komma åt den underliggande hårdvaran och kringgå några av OS X: s OS-lager. Det är också möjligt för benchmark-testsviterna att luras av prestandacachesystemet inbyggd i de virtuella miljöerna, och producera resultat som är helt bortom potentialen prestanda.
Benchmark poäng
GeekBench 2.1.4
- GeekBench Poäng: 6830
- Heltal: 6799
- Flyttal: 10786
- Minne: 2349
- Stream: 2057
CineBench R10
- Rendering, enkel CPU: 3248
- Rendering, 4 CPU: 10470
- Effektiv hastighet upp från enstaka till alla processorer: 3.22
- Skuggning (OpenGL): 3249
Detaljerade resultat av benchmark-testerna finns tillgängliga i Virtualization Benchmark Test-galleriet.
03
av 06
Benchmark-resultat för Parallels Desktop för Mac 5
Vi använde den senaste versionen av Parallels (Parallels Desktop för Mac 5.0). Vi installerade färska kopior av Parallels, Windows XP SP3, och Windows 7. Vi valde dessa två Windows-operativsystem för att testa eftersom vi tror Windows XP representerar den stora majoriteten av nuvarande Windows-installationer på OS X och att Windows 7 i framtiden kommer att vara det vanligaste gäst-OS som körs på Mac.
Innan testet började letade vi efter och installerade alla tillgängliga uppdateringar för både den virtuella miljön och de två Windows-operativsystemen. När allt var uppdaterat konfigurerade vi Windows virtuella maskiner för att använda en enda processor och 1 GB minne. Vi stängde av Parallels och inaktiverade Time Machine och alla startobjekt på Mac Pro som inte behövs för testet. Vi startade sedan om Mac Pro, lanserade Parallels, startade en av Windows-miljöerna och utförde de två uppsättningarna benchmark-tester. När testerna var klara kopierade vi resultaten till Mac för senare referens.
Vi upprepade sedan omstarten och lanseringen av Parallels för benchmarktesterna av det andra Windows OS.
Slutligen upprepade vi ovanstående sekvens med gästoperativsystemet inställt på att använda 2 och sedan 4 processorer.
Benchmark poäng
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
- Skuggning (OpenGL) (1,2,4 CPU): 1317, 1317, 1320
CineBench R10
- Windows 7
- Rendering (1,2,4 CPU): 2835, 5389, 9508
- Skuggning (OpenGL) (1,2,4 CPU): 1335, 1333, 1375
Parallels Desktop för Mac 5.0 slutförde alla benchmark-tester. GeekBench såg bara mindre skillnader i prestanda mellan Windows XP och Windows 7, vilket är vad vi förväntade oss. GeekBench koncentrerar sig på en testprocessor och minnesprestanda, så vi förväntar oss att det är en bra indikator på den virtuella miljöns underliggande prestanda och hur väl den gör värddatorns Mac Pros hårdvara tillgänglig för gästen OS.
CineBenchs renderingstest visade likaså konsistens över de två Windows-operativsystem. Återigen är detta att förvänta sig eftersom renderingstestet i stor utsträckning använder processorerna och minnesbandbredden som ses av gästoperativsystem. Skuggningstestet är en bra indikator på hur väl varje virtuell miljö har implementerat sin videodrivrutin. Till skillnad från resten av Macs hårdvara, görs grafikkortet inte tillgängligt direkt för de virtuella miljöerna. Detta beror på att grafikkortet kontinuerligt måste ta hand om displayen för värdmiljön och inte kan avledas till att endast visa gästmiljön. Detta gäller även om den virtuella miljön erbjuder ett alternativ för helskärmsvisning.
Detaljerade resultat av benchmark-testerna finns tillgängliga i Virtualization Benchmark Test-galleriet.
04
av 06
Benchmark-resultat för VMWare Fusion 3.0
Vi använde den senaste versionen av VMWare Fusion (Fusion 3.0). Vi installerade färska kopior av Fusion, Windows XP SP3 och Windows 7. Vi valde dessa två Windows-operativsystem för testning eftersom vi tror att Windows XP representerar den stora majoriteten av nuvarande Windows-installationer på OS X och att i framtiden kommer Windows 7 att vara det vanligaste gäst-OS som körs på Mac.
Innan testet började letade vi efter och installerade alla tillgängliga uppdateringar för både den virtuella miljön och de två Windows-operativsystemen. När allt var uppdaterat konfigurerade vi Windows virtuella maskiner för att använda en enda processor och 1 GB minne. Vi stängde av Fusion och inaktiverade Time Machine och alla startobjekt på Mac Pro som inte behövdes för testet. Vi startade sedan om Mac Pro, lanserade Fusion, startade en av Windows-miljöerna och utförde de två uppsättningarna benchmark-tester. När testerna var klara kopierade vi resultaten till Mac för senare användning.
Vi upprepade sedan omstarten och lanseringen av Fusion för benchmarktesterna av det andra Windows OS.
Slutligen upprepade vi ovanstående sekvens med gästoperativsystemet inställt på att använda 2 och sedan 4 processorer.
Benchmark poäng
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
- Skuggning (OpenGL) (1,2,4 CPU): 821, 821, 827
CineBench R10
- Windows 7
- Rendering (1,2,4 CPU): 2843, 5408, 9657
- Skuggning (OpenGL) (1,2,4 CPU): 130, 130, 124
Vi stötte på problem med Fusion och benchmarktesterna. I fallet med Windows XP med en enda processor rapporterade GeekBench minnesströmprestanda i en hastighet bättre än 25 gånger hastigheten för värd Mac Pro. Detta ovanliga minnesresultat ökade GeekBench-poängen för den enda CPU-versionen av Windows XP till 8148. Efter att ha upprepat testet många gånger och fått liknande resultat bestämde vi oss för att markera testet som ogiltigt och betrakta det som ett interaktionsproblem mellan benchmarktestet, Fusion och Windows XP. Så gott vi kan säga, för den enda CPU-konfigurationen, rapporterade inte Fusion den korrekta hårdvarukonfigurationen till GeekBench-applikationen. Men GeekBench och Windows XP fungerade felfritt med två eller flera processorer valda.
Vi hade också problem med Fusion, Windows 7 och CineBench. När vi körde CineBench under Windows 7 rapporterade det att ett generiskt grafikkort var den enda tillgängliga grafikhårdvaran. Medan det generiska grafikkortet kunde köra OpenGL, gjorde det det i en urusel takt. Detta kan ha varit resultatet av att värddatorn Mac Pro hade ett gammalt NVIDIA GeForce 7300-grafikkort. Fusions systemkrav föreslår ett modernare grafikkort. Vi tyckte dock att det var intressant att CineBench-skuggningstestet under Windows XP gick utan problem.
Förutom de två egenheter som nämns ovan, var Fusions prestanda i nivå med vad vi förväntade oss av en väldesignad virtuell miljö.
Detaljerade resultat av benchmark-testerna finns tillgängliga i Virtualization Benchmark Test-galleriet.
05
av 06
Benchmark-resultat för Sun VirtualBox
Vi använde den senaste versionen av Sun VirtualBox (VirtualBox 3.0). Vi installerade nya kopior av VirtualBox, Windows XP SP3 och Windows 7. Vi valde dessa två Windows-operativsystem för testning eftersom vi tror att Windows XP representerar den stora majoriteten av nuvarande Windows-installationer på OS X och att i framtiden kommer Windows 7 att vara det vanligaste gäst-OS som körs på Mac.
Innan testet började letade vi efter och installerade alla tillgängliga uppdateringar för både den virtuella miljön och de två Windows-operativsystemen. När allt var uppdaterat konfigurerade vi Windows virtuella maskiner för att använda en enda processor och 1 GB minne. Vi stängde av VirtualBox och inaktiverade Time Machine och alla startobjekt på Mac Pro som inte behövs för testet. Vi startade sedan om Mac Pro, lanserade VirtualBox, startade en av Windows-miljöerna och utförde de två uppsättningarna av benchmark-tester. När testerna var klara kopierade vi resultaten till Mac för senare användning.
Vi upprepade sedan omstarten och lanseringen av Fusion för benchmarktesterna av det andra Windows OS.
Slutligen upprepade vi ovanstående sekvens med gästoperativsystemet inställt på att använda 2 och sedan 4 processorer.
Benchmark poäng
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, *, *
- Skuggning (OpenGL) (1,2,4 CPU): 1025, *, *
CineBench R10
- Windows 7
- Rendering (1,2,4 CPU): 2570, 6863, 13344
- Skuggning (OpenGL) (1,2,4 CPU): 711, 710, 1034
Sun VirtualBox och våra bänktestapplikationer stötte på en problem med Windows XP. Specifikt kunde både GeekBench och CineBench inte se mer än en enda CPU, oavsett hur vi konfigurerade gästoperativsystemet.
När vi testade Windows 7 med GeekBench märkte vi att användningen av flera processorer var otillräcklig, vilket resulterade i de lägsta poängen för 2 och 4 CPU-konfigurationer. Enprocessorprestanda verkade vara i nivå med de andra virtuella miljöerna.
CineBench kunde inte heller se mer än en enda processor när man körde Windows XP. Dessutom gav renderingstestet för versionen med en processor av Windows XP ett av de snabbaste resultaten och överträffade till och med själva Mac Pro. Vi försökte köra om testet några gånger; alla resultat låg inom samma intervall. Vi tror att det är säkert att krita upp resultaten av Windows XP-en-CPU-renderingen till ett problem med VirtualBox och hur den använder processorer.
Vi såg också en konstig stöt i renderingsresultaten för 2 och 4 CPU-tester med Windows 7 och i varje fall, renderingen mer än fördubblades i hastighet när vi gick från 1 till 2 CPU: er och från 2 till 4 CPU: er. Denna typ av prestandaökning är osannolik, och återigen kommer vi att räkna upp det till VirtualBox implementering av flera CPU Stöd.
Med alla problem med VirtualBox benchmarktestning, kan de enda giltiga testresultaten vara de för en enda CPU under Windows 7.
Detaljerade resultat av benchmark-testerna finns tillgängliga i Virtualization Benchmark Test-galleriet.
06
av 06
Resultaten
Med alla benchmark-tester gjorda är det dags att återgå till vår ursprungliga fråga.
Lever de tre stora aktörerna inom virtualisering på Mac (Parallels Desktop för Mac, VMWare Fusion och Sun VirtualBox) upp till löftet om nästan naturlig prestanda?
Svaret är blandat. Ingen av virtualiseringskandidaterna i våra GeekBench-tester kunde mäta sig med prestanda hos värddatorn Mac Pro. Det bästa resultatet spelades in av Fusion, som kunde uppnå nästan 68,5 % av värdens prestation. Parallellerna låg tätt efter på 66,7%. Att ta upp den bakre var VirtualBox, på 57,4%.
När vi tittade på resultaten av CineBench, som använder ett mer verkligt test för att rendera bilder, var de mycket nära värdens poäng. Återigen var Fusion i toppen av renderingstesterna och uppnådde 94,9 % av värdens prestanda. Paralleller följde på 92,1%. VirtualBox kunde inte på ett tillförlitligt sätt slutföra renderingstestet, vilket slog det ur strid. I en iteration av renderingstestet rapporterade VirtualBox att den presterade 127,4 % bättre än värden, medan den i andra inte kunde starta eller avsluta.
Skuggningstestet, som tittar på hur bra grafikkortet presterar med OpenGL, gick sämst av alla virtuella miljöer. Bäst presterande var Parallels, som nådde 42,3 % av värdens kapacitet. VirtualBox var tvåa med 31,5 %; Fusion kom på tredje plats med 25,4 %.
Att utse en total vinnare är något vi överlåter till slutanvändaren. Varje produkt har sina plus och minus, och i många fall är benchmarksiffrorna så nära att upprepning av testerna kan förändra ställningen.
Vad benchmark-testresultaten visar är att universellt är förmågan att använda grafikkortet det som håller den virtuella miljön tillbaka från att vara en fullständig ersättning för en dedikerad PC. Med det sagt, ett modernare grafikkort än vi har här skulle kunna ge högre prestandasiffror i skuggningstest, speciellt för Fusion, vars utvecklare föreslår grafikkort med högre prestanda för bästa resultat.
Du kommer att märka att vissa testkombinationer (virtuell miljö, Windows-version och benchmark-test) visade problem, antingen orealistiska resultat eller misslyckande med att slutföra ett test. Dessa typer av resultat bör inte användas som indikatorer på problem med en virtuell miljö. Benchmark-tester är ovanliga applikationer att försöka köra i en virtuell miljö. De är utformade för att mäta prestanda hos fysiska enheter, som den virtuella miljön kanske inte tillåter dem att komma åt. Detta är inte ett fel i den virtuella miljön, och i verklig användning har vi inte upplevt problem med de allra flesta Windows-program som körs under ett virtuellt system.
Alla virtuella miljöer vi testade (Parallels Desktop för Mac 5.0, VMWare Fusion 3.0 och Sun VirtualBox 3.0) ger utmärkta prestanda och stabilitet vid daglig användning och bör kunna fungera som din primära Windows-miljö för de flesta dagliga applikationer.