Средите за виртуализация са горещи стоки за потребителите на Mac, откакто Apple започна да използва процесори Intel в своите компютри. Още преди Intel да пристигне, беше наличен софтуер за емулация, който позволяваше на потребителите на Mac да работят с Windows и Linux.
Но емулацията беше бавна, като се използва слой за абстракция, за да се преведе x86 програмен код в кода, използван от PowerPC архитектурата на по-ранните Mac. Този слой на абстракция не само трябваше да превежда за тип CPU, но и всички хардуерни компоненти. По същество абстракционният слой трябваше да създаде софтуерни еквиваленти на видео карти, твърди дискове, серийни портове и т.н. Резултатът беше емулационна среда, която можеше да работи с Windows или Linux, но беше силно ограничена както в производителността, така и в операционните системи, които можеха да се използват.
С идването на решението на Apple да използва процесори на Intel, цялата нужда от емулация беше пометена. На негово място дойде възможността да стартирате други операционни системи директно на Intel Mac. Ако искате да стартирате Windows директно на Mac като опция при зареждане, можете да използвате Boot Camp, приложение, което Apple предоставя като удобен начин за инсталиране на Windows в среда с няколко зареждания.
Но много потребители се нуждаят от начин да стартират Mac OS и втора операционна система едновременно. Parallels, а по-късно VMWare и Sun донесоха тази възможност на Mac с технология за виртуализация. Виртуализацията е подобна по концепция на емулацията, но тъй като базираните на Intel компютри Mac използват същия хардуер като стандартните компютри, няма нужда да създавате слой за абстракция на хардуер в софтуера. Вместо това софтуерът на Windows или Linux може да работи директно на хардуера, осигурявайки скорости, които могат да бъдат почти толкова бързи, колкото ако операционната система за гост работи на компютъра.
И това е въпросът, на който нашите бенчмарк тестове търсят отговор. Дали трите основни играча във виртуализацията на Mac - Parallels Desktop за Mac, VMWare Fusion и Sun VirtualBox - отговарят на обещанието за почти естествена производителност?
Казваме „почти естествено“, защото всички среди за виртуализация имат някои допълнителни разходи, които не могат да бъдат избегнати. Тъй като виртуалната среда работи едновременно с „вградената“операционна система (OS X, сега macOS), трябва да има споделяне на хардуерни ресурси. Освен това OS X трябва да предостави някои услуги на средата за виртуализация, като прозорци и основни услуги. Комбинацията от тези услуги и споделянето на ресурси ограничава доколко добре може да работи виртуализираната операционна система.
За да отговорим на въпроса, ще извършим сравнителни тестове, за да видим колко добре се справят трите основни среди за виртуализация, работещи с Windows.
Метод на тестване
Том Нелсън. Lifewire, 2016.
Ще използваме два различни, популярни тестови пакета за сравнителен анализ на различни платформи. Първият, CineBench 10, извършва тест в реален свят на процесора на компютъра и способността на неговата графична карта да изобразява изображения. Първият тест използва CPU за изобразяване на фотореалистично изображение, използвайки интензивни изчисления на CPU за изобразяване на отражения, окултация на околната среда, осветяване и засенчване на зона и др. Тестът се извършва с един CPU или ядро и след това се повтаря с всички налични CPU и ядра. Резултатът дава референтна оценка на производителността за компютъра, използващ един процесор, оценка за всички процесори и ядра и индикация за това колко добре се използват няколко ядра или процесори.
Вторият тест CineBench оценява производителността на графичната карта на компютъра с помощта на OpenGL за изобразяване на 3D сцена, докато камерата се движи в сцената. Този тест определя колко бързо може да работи графичната карта, като същевременно прецизно изобразява сцената.
Вторият тестов пакет е GeekBench 2.1.4, който тества цялостната производителност и производителността с плаваща запетая на процесора, тества паметта с помощта на прост тест за производителност при четене/запис и извършва тест за потоци, който измерва постоянната честотна лента на паметта. Резултатите от набора от тестове се комбинират, за да се получи един резултат от GeekBench. Ще разделим и четирите основни набора от тестове (производителност с цели числа, производителност с плаваща запетая, производителност на паметта и производителност на поток), за да можем да видим силните и слабите страни на всяка виртуална среда.
GeekBench използва референтна система, базирана на PowerMac G5 @1,6 GHz. Резултатите от GeekBench за референтните системи са нормализирани до 1000. Всеки резултат, по-висок от 1000, показва компютър, който работи по-добре от референтната система.
Тъй като резултатите от двата пакета за сравнение са донякъде абстрактни, ще започнем с дефиниране на референтна система. В този случай референтната система ще бъде хост Mac, използван за изпълнение на трите виртуални среди (Parallels Desktop за Mac, VMWare Fusion и Sun Virtual Box). Ще изпълним и двата пакета за сравнение на референтната система и ще използваме тази цифра, за да сравним колко добре се представят виртуалните среди.
Всички тестове ще бъдат извършени след ново стартиране както на хост системата, така и на виртуалната среда. Както хостът, така и виртуалната среда ще имат деактивирани всички анти-зловреден софтуер и антивирусни приложения. Всички виртуални среди ще се изпълняват в стандартен прозорец на OS X, тъй като това е най-често срещаният метод, използван и в трите среди. В случай на виртуални среди няма да се изпълняват никакви потребителски приложения освен тестовете. В хост системата, с изключение на виртуалната среда, няма да се изпълняват никакви потребителски приложения освен текстов редактор, за да си водят бележки преди и след тестването, но никога по време на действителния процес на тестване.
Резултати от бенчмарк за хост система Mac Pro
Том Нелсън. Lifewire, 2016.
Системата, която ще хоства трите виртуални среди (Parallels Desktop за Mac, VMWare Fusion и Sun VirtualBox) е издание от 2006 г. на Mac Pro:
Mac Pro (2006)
- Два двуядрени процесора 5160 Zeon (общо 4 ядра) @ 3,00 GHz
- 4 MB на ядро L2 кеш RAM (общо 16 MB)
- 6 GB RAM, състояща се от четири модула от 1 GB и четири модула от 512 MB. Всички модули са съответстващи двойки.
- A 1,33 GHz предна странична шина
- Графична карта NVIDIA GeForce 7300 GT
- Два 500 GB твърди диска от серия Samsung F1. OS X и софтуерът за виртуализация са резидентни на стартовото устройство; операционните системи за гости се съхраняват на второто устройство. Всяко устройство има свой собствен независим SATA 2 канал.
Резултатите от тестовете GeekBench и CineBench на хост Mac Pro трябва да осигурят практическата горна граница на производителност, която трябва да видим от която и да е виртуална среда. Като се има предвид това, искаме да отбележим, че е възможно виртуална среда да надхвърли производителността на хоста във всеки отделен тест. Виртуалната среда може да има достъп до основния хардуер и да заобиколи някои от слоевете на OS X на OS. Също така е възможно тестовите пакети за бенчмарк да бъдат подведени от системата за кеширане на производителността, вградена във виртуалните среди, и да произведат резултати, които са извън потенциалната производителност.
Сравнителни резултати
GeekBench 2.1.4
- Резултат на GeekBench: 6830
- Цяло число: 6799
- Плаваща запетая: 10786
- Памет: 2349
- Поток: 2057
CineBench R10
- Изобразяване, единичен процесор: 3248
- Изобразяване, 4 CPU: 10470
- Ефективно ускоряване от един към всички процесори: 3.22
- Засенчване (OpenGL): 3249
Подробни резултати от бенчмарк тестовете са достъпни в галерията на тестовете за бенчмарк за виртуализация.
Резултати от бенчмарк за Parallels Desktop за Mac 5
Том Нелсън. Lifewire, 2016.
Използвахме най-новата версия на Parallels (Parallels Desktop за Mac 5.0). Инсталирахме нови копия на Parallels, Windows XP SP3 и Windows 7. Избрахме тези две операционни системи на Windows за тестване, защото смятаме, че Windows XP представлява по-голямата част от текущите инсталации на Windows на OS X и че в бъдеще Windows 7 ще бъде най-често срещаната операционна система за гости, работеща на Mac.
Преди да започне тестването, проверихме и инсталирахме всички налични актуализации както за виртуалната среда, така и за двете операционни системи Windows. След като всичко беше актуално, конфигурирахме виртуалните машини на Windows да използват един процесор и 1 GB памет. Изключихме Parallels и деактивирахме Time Machine и всички стартиращи елементи на Mac Pro, които не са необходими за тестването. След това рестартирахме Mac Pro, стартирахме Parallels, стартирахме една от средите на Windows и извършихме двата набора сравнителни тестове. След като тестовете приключиха, ние копирахме резултатите на Mac за по-късна справка.
След това повторихме рестартирането и стартирането на Parallels за сравнителните тестове на втората операционна система Windows.
Накрая повторихме горната последователност с операционната система за гости, настроена да използва 2 и след това 4 процесора.
Сравнителни резултати
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
- Изобразяване (1, 2, 4 CPU): 2724, 5441, 9644
- Засенчване (OpenGL) (1, 2, 4 CPU): 1317, 1317, 1320
CineBench R10
- Windows 7
- Изобразяване (1, 2, 4 CPU): 2835, 5389, 9508
- Засенчване (OpenGL) (1, 2, 4 CPU): 1335, 1333, 1375
Parallels Desktop за Mac 5.0 завърши всички сравнителни тестове. GeekBench видя само малки разлики в производителността между Windows XP и Windows 7, което очаквахме. GeekBench се концентрира върху тестване на производителността на процесора и паметта, така че очакваме да бъде добър индикатор за основната производителност на виртуалната среда и колко добре прави хардуера на хост Mac Pro достъпен за операционните системи за гости.
Тестът за рендиране на CineBench също показа последователност в двете операционни системи на Windows. Още веднъж, това може да се очаква, тъй като тестът за рендиране използва широко процесорите и честотната лента на паметта, както се вижда от операционните системи за гости. Тестът за засенчване е добър индикатор за това колко добре всяка виртуална среда е внедрила своя видео драйвер. За разлика от останалия хардуер на Mac, графичната карта не е достъпна директно за виртуалните среди. Това е така, защото графичната карта трябва непрекъснато да се грижи за дисплея за хост средата и не може да бъде отклонена, за да показва само гост средата. Това е вярно, дори ако виртуалната среда предлага опция за показване на цял екран.
Подробни резултати от бенчмарк тестовете са достъпни в галерията на тестовете за бенчмарк за виртуализация.
Резултати от бенчмарк за VMWare Fusion 3.0
Том Нелсън. Lifewire, 2016.
Използвахме най-новата версия на VMWare Fusion (Fusion 3.0). Инсталирахме нови копия на Fusion, Windows XP SP3 и Windows 7. Избрахме тези две операционни системи на Windows за тестване, защото смятаме, че Windows XP представлява по-голямата част от текущите инсталации на Windows на OS X и че в бъдеще Windows 7 ще бъде най-често срещаната операционна система за гости, работеща на Mac.
Преди да започне тестването, ние проверихме и инсталирахме всички налични актуализации както за виртуалната среда, така и за двете операционни системи Windows. След като всичко беше актуално, конфигурирахме виртуалните машини на Windows да използват един процесор и 1 GB памет. Изключихме Fusion и деактивирахме Time Machine и всички стартиращи елементи на Mac Pro, които не са необходими за тестването. След това рестартирахме Mac Pro, стартирахме Fusion, стартирахме една от средите на Windows и изпълнихме двата набора от бенчмарк тестове. След като тестовете приключиха, ние копирахме резултатите на Mac за по-късна употреба.
След това повторихме рестартирането и стартирането на Fusion за сравнителните тестове на втората операционна система Windows.
Накрая повторихме горната последователност с операционната система за гости, настроена да използва 2 и след това 4 процесора.
Сравнителни резултати
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
- Изобразяване (1, 2, 4 CPU): 2825, 5449, 9941
- Засенчване (OpenGL) (1, 2, 4 CPU): 821, 821, 827
CineBench R10
- Windows 7
- Изобразяване (1, 2, 4 CPU): 2843, 5408, 9657
- Засенчване (OpenGL) (1, 2, 4 CPU): 130, 130, 124
Сблъскахме се с проблеми с Fusion и сравнителните тестове. В случай на Windows XP с един процесор, GeekBench отчете производителност на потока от памет със скорост, по-добра от 25 пъти скоростта на хост Mac Pro. Този необичаен резултат на паметта повиши резултата на GeekBench за версията с един процесор на Windows XP до 8148. След като повторихме теста много пъти и получихме подобни резултати, решихме да маркираме теста като невалиден и да го считаме за проблем с взаимодействието между бенчмарк теста, Fusion и Windows XP. Доколкото можем да кажем, за конфигурацията с единичен процесор, Fusion не докладваше правилната хардуерна конфигурация на приложението GeekBench. GeekBench и Windows XP обаче се представиха безупречно с два или повече избрани процесора.
Имахме проблем и с Fusion, Windows 7 и CineBench. Когато пуснахме CineBench под Windows 7, той отчете обща видеокарта като единствения наличен графичен хардуер. Въпреки че генеричната графична карта можеше да работи с OpenGL, тя го правеше с ужасна скорост. Това може да е резултат от хост Mac Pro със стара графична карта NVIDIA GeForce 7300. Системните изисквания на Fusion предполагат по-модерна графична карта. Намерихме за интересно обаче, че под Windows XP тестът за засенчване на CineBench се проведе без никакви проблеми.
Освен двете странности, споменати по-горе, производителността на Fusion беше равна на това, което очаквахме от добре проектирана виртуална среда.
Подробни резултати от бенчмарк тестовете са достъпни в галерията на тестовете за бенчмарк за виртуализация.
Резултати от бенчмарк за Sun VirtualBox
Том Нелсън. Lifewire, 2016.
Използвахме най-новата версия на Sun VirtualBox (VirtualBox 3.0). Инсталирахме нови копия на VirtualBox, Windows XP SP3 и Windows 7. Избрахме тези две операционни системи на Windows за тестване, защото смятаме, че Windows XP представлява по-голямата част от текущите инсталации на Windows на OS X и че в бъдеще Windows 7 ще бъде най-често срещаната операционна система за гости, работеща на Mac.
Преди да започне тестването, ние проверихме и инсталирахме всички налични актуализации както за виртуалната среда, така и за двете операционни системи Windows. След като всичко беше актуално, конфигурирахме виртуалните машини на Windows да използват един процесор и 1 GB памет. Изключихме VirtualBox и деактивирахме Time Machine и всички стартиращи елементи на Mac Pro, които не са необходими за тестването. След това рестартирахме Mac Pro, стартирахме VirtualBox, стартирахме една от средите на Windows и извършихме двата набора от бенчмарк тестове. След като тестовете приключиха, ние копирахме резултатите на Mac за по-късна употреба.
След това повторихме рестартирането и стартирането на Fusion за сравнителните тестове на втората операционна система Windows.
Накрая повторихме горната последователност с операционната система за гости, настроена да използва 2 и след това 4 процесора.
Сравнителни резултати
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
- Изобразяване (1, 2, 4 CPU): 7001,,
- Засенчване (OpenGL) (1, 2, 4 CPU): 1025,,
CineBench R10
- Windows 7
- Изобразяване (1, 2, 4 CPU): 2570, 6863, 13344
- Засенчване (OpenGL) (1, 2, 4 CPU): 711, 710, 1034
Sun VirtualBox и нашите тестови приложения се натъкнаха на проблем с Windows XP. По-конкретно, както GeekBench, така и CineBench не успяха да видят повече от един CPU, независимо от това как конфигурирахме операционната система за гости.
Когато тествахме Windows 7 с GeekBench, забелязахме, че използването на много процесори е недостатъчно, което води до най-ниските резултати за конфигурации с 2 и 4 процесора. Производителността на един процесор изглеждаше равна на другите виртуални среди.
CineBench също не успя да види повече от един процесор, когато работи с Windows XP. Също така, тестът за рендиране за еднопроцесорната версия на Windows XP даде един от най-бързите резултати, надминавайки дори самия Mac Pro. Опитахме да повторим теста няколко пъти; всички резултати бяха в същия диапазон. Смятаме, че е безопасно да приписваме резултатите от изобразяването на Windows XP с един процесор към проблем с VirtualBox и как той използва процесорите.
Също така видяхме странен скок в резултатите при рендиране за тестове с 2 и 4 процесора с Windows 7 и във всеки случай скоростта на рендиране се увеличи повече от два пъти при преминаване от 1 на 2 процесора и от 2 на 4 процесора. Този тип увеличение на производителността е малко вероятно и отново ще го припишем на внедряването на VirtualBox за поддръжка на множество процесори.
С всички проблеми с бенчмарк тестването на VirtualBox, единствените валидни резултати от теста може да са тези за един CPU под Windows 7.
Подробни резултати от бенчмарк тестовете са достъпни в галерията на тестовете за бенчмарк за виртуализация.
Резултатите
С всички направени сравнителни тестове е време да преразгледаме първоначалния си въпрос.
Дали трите основни играча във виртуализацията на Mac (Parallels Desktop за Mac, VMWare Fusion и Sun VirtualBox) отговарят на обещанието за почти естествена производителност?
Отговорът е смесен. Нито един от кандидатите за виртуализация в нашите тестове на GeekBench не успя да се измери с производителността на хост Mac Pro. Най-добрият резултат беше записан от Fusion, който успя да постигне близо 68,5% от представянето на хоста. Паралелите бяха близо до 66,7%. На последно място беше VirtualBox с 57,4%.
Когато разгледахме резултатите от CineBench, който използва по-реален тест за изобразяване на изображения, те бяха много близки до резултата на хоста. За пореден път Fusion беше на върха на тестовете за изобразяване, постигайки 94,9% от производителността на хоста. Следват паралели с 92,1%. VirtualBox не можа надеждно да завърши теста за изобразяване, което го извади от конкуренцията. В една итерация на теста за изобразяване VirtualBox съобщи, че се представя със 127,4% по-добре от хоста, докато в други не успя да започне или завърши.
Тестът за засенчване, който разглежда колко добре се представя графичната карта с помощта на OpenGL, се представи най-зле сред всички виртуални среди. Най-добре се представи Parallels, който достигна 42,3% от възможностите на хоста. VirtualBox беше втори с 31.5%; Fusion е на трето място с 25,4%.
Избирането на общ победител е нещо, което оставяме на крайния потребител. Всеки продукт има своите плюсове и минуси и в много случаи стойностите на бенчмарка са толкова близки, че повтарянето на тестовете може да промени класирането.
Това, което резултатите от сравнителния тест показват, е, че универсално възможността за използване на графичната карта е това, което пречи на виртуалната среда да бъде пълна замяна на специализиран компютър. Като се има предвид това, по-модерна графична карта от тази, която имаме тук, може да доведе до по-високи стойности на производителност в теста за засенчване, особено за Fusion, чийто разработчик предлага по-високопроизводителни графични карти за най-добри резултати.
Ще забележите, че някои тестови комбинации (виртуална среда, версия на Windows и сравнителен тест) показват проблеми, или нереалистични резултати, или неуспешно завършване на тест. Тези типове резултати не трябва да се използват като индикатори за проблеми с виртуална среда. Бенчмарк тестовете са необичайни приложения, които се опитват да стартират във виртуална среда. Те са предназначени да измерват производителността на физически устройства, до които виртуалната среда може да не им позволи достъп. Това не е повреда на виртуалната среда и при използване в реалния свят не сме имали проблеми с по-голямата част от приложенията на Windows, работещи под виртуална система.
Всички тествани от нас виртуални среди (Parallels Desktop за Mac 5.0, VMWare Fusion 3.0 и Sun VirtualBox 3.0) осигуряват отлична производителност и стабилност при ежедневна употреба и трябва да могат да служат като основна среда на Windows през повечето дни -ежедневни приложения.