Чем определяется быстродействие гостевой виртуальной машины

Как ускорить работу виртуальной машины

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Тем не менее, грамотная оптимизация BM позволит вам увеличить производительность последней без оказания существенного влияние на хостовой компьютер.

Фиксированный размер диска

Используйте фиксированный размер виртуального диска.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Большинство систем виртуализации по умолчанию создают динамические диски, увеличивающиеся по мере «разрастания» установленной на них операционной системы. С одной стороны, использования такого типа контейнеров позволяет экономить место на физическом диске, однако установленная на динамический диск система работает медленнее, причем ее производительность падает с увеличением последнего.

Используйте дополнения гостевой ОС

Даже если вы не собираетесь пользоваться общими папками, буфером обмена и другими опциями расширения функциональности, не пренебрегайте установкой дополнений гостевой ОС, их инсталляция в систему обеспечивает более эффективное использование ресурсов хостовой машины.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Особенности использования антивирусов

Не устанавливайте в гостевую операционную систему антивирусных программ, в этом нет никакой необходимости, заботиться нужно о безопасности не виртуальной, а хостовой системы. Отключите в виртуальной ОС встроенную защиту, если не собираетесь использовать ее в рамках тестирования. Рекомендуем также добавить весь каталог с ВМ в исключения вашего антивируса.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Сканирование контейнера с ВМ не только замедляет ее работу, но и не приносит никакой пользы с точки обнаружения вредоносного ПО внутри виртуального контейнера.

Проверьте настройки виртуальной машины вручную

Что касается установленных по умолчанию параметров виртуальной машины, здесь нужно действовать по принципу «доверяй, но проверяй».

Зайдите в настройки вашей ВМ и и проверьте эти параметры:

Оперативная память

Увеличьте, если возможно, объем выделенной ОЗУ до 2 Гб.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Процессор

Выделите максимально допустимое количество ядер процессора и убедитесь, что в пункте PAE/NX стоит галочка. Если в вашей системе виртуализации доступны функции Nested VT-х/AMD-v, включите их, они улучшают виртуализацию.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Дисплей

Выделите виртуальной машине максимальный объем видеопамяти и включите, если выключено, ускорение 2D и 3D.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Установка виртуальной машины на SSD

Файл подкачки и автозагрузка

Не стоит пренебрегать и внутренней оптимизацией. Для увеличения производительности виртуальной машины используйте внутри нее файл подкачки, особенно на популярных Linux-системах. Размер файла свопа в данном случае определяется общими правилами.

К внутренней оптимизации также следует отнести отключение неиспользуемых элементов автозагрузки, визуальных эффектов, фоновых приложений, службы автоматического обновления системы и индексирования.

Источник

Ужасная производительность диска VirtualBox (РЕШЕНО)

Производительность виртуальной машины зависит от выделенных ей ресурсов (количество ядер центрального процессора, количество оперативной памяти) и от количества запущенных программ в виртуальной машине и их требовательности к ресурсам. Это логично и работает примерно так, как интуитивно ожидается.

Но при интенсивном использовании диска в виртуальной машине её производительность падает непропорционально драматически. Например, установка пакета, содержащего большое количество файлов, в гостевой машине Linux может растянуться на часы! Это при том, что аналогичный пакет на реальном компьютере устанавливается за минуты. Обновление Windows могут замедлить работу виртуальной машины до полной её неработоспособности.

Всё это замедляет работу и портит впечатление от работы с виртуальными машинами.

Данную проблему можно исправить, включив «Кэширования ввода/вывода» для виртуального диска.

Чтобы включить «Кэширования ввода/вывода»:

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Вы также можете проверить любые другие контроллеры и/или диски, чтобы увидеть, есть ли там эта опция.

Сохраните настройки и запустите виртуальную машину, и вы увидите большое улучшение производительности при интенсивном использовании диска.

Есть объяснение, почему эта нужная опция по умолчанию выключена — у неё есть некоторые недостатки. Если коротко, авторы VirtualBox исходят из концепции «безопасность важнее производительности». Рассмотрим подробнее, какие последствия может нести включение этой опции:

1. Отложенная запись через кэш ОС хоста менее безопасна. Когда гостевая ОС записывает данные, она считает данные записанными, даже если они фактически ещё не прибыли на физический диск. Если по какой-то причине запись не произойдёт (сбой питания, сбой хоста), вероятность потери данных увеличивается.

2. Файлы образов дисков обычно очень большие. Поэтому их кеширование может быстро израсходовать весь кэш ОС хоста. В зависимости от эффективности кэширования ОС хоста, это может сильно замедлить работу хоста, особенно, если несколько виртуальных машин работают одновременно. Например, в Linux хостах кэширование хоста может привести к тому, что Linux отложит все записи до момента, когда кэш хоста почти заполнен, и затем все эти изменения записываются в один раз, это может привести к остановке выполнение виртуальной машины на несколько минут. А это в свою очередь может привести к ошибке I/O (ввода-вывода) в гостевой системе, поскольку время запросов ввода-вывода истекло.

3. Напрасно расходуется физическая память, поскольку в гостевых операционных системах обычно имеются собственные кеши ввода-вывода, то включение ещё одного может привести к двойному кэшированию (как в гостевой, так и в хост машинах) без особого положительного эффекта.

Даже если отключить кэширование ввода-вывода хоста по указанным выше причинам, VirtualBox использует свой собственный небольшой кеш для буферизации записи, но не чтения кэширование, поскольку это обычно уже выполняется гостевой ОС. Кроме того, VirtualBox полностью поддерживает асинхронный ввод-вывод для своих виртуальных контроллеров SATA, SCSI и SAS через несколько потоков ввода-вывода.

На самом деле практика показывает, что данные не теряются, а включение данной настройки отлично сказывается на производительность.

Кроме описанного способа есть ещё один вариант для продвинутых пользователей. Суть в том, что в качестве диска виртуальной машины используется реальный USB диск. С такого диска можно загрузиться как в VirtualBox, так и на физическом компьютере. При этом производительность приближается к работе реального компьютера — никаких задержек, операции обновления и установки больших пакетов происходят с той же скоростью, как на реальном компьютере. О том, как это сделать, смотрите в статье «Как в VirtualBox загрузиться с USB».

Источник

Издержки виртуализации, часть 1: виртуальная машина Oracle VM VirtualBox на базе хост-ОС Windows

Сегодня виртуализация широко используется практически в любой части ИТ-индустрии — от личных мобильных устройств до мощных вычислительных центров, позволяя решать самые разные задачи. Виртуализация может выступать в разных формах — начиная от виртуализации и эмуляции платформ, заканчивая виртуализацией ресурсов. Но сегодня речь пойдет о нативной аппаратной виртуализации — современные процессоры поддерживают ее с помощью наборов инструкций, таких как Intel VT-x или AMD-V.

Нативная виртуализация — это технология, предоставляющая вычислительные ресурсы, абстрагированные от аппаратного уровня. Если брать, например, сегмент серверов, такое абстрагирование позволяет работать нескольким виртуальным системам на одной аппаратной платформе, а также дает возможность легко переносить виртуальные системы с одного аппаратного сервера на другой — например, при его выходе из строя или модернизации.

До появления аппаратной поддержки виртуализации, все плюсы технологии перекрывали большие потери производительности и низкая скорость работы виртуальной машины в целом. Популярность виртуальных машин стала расти по мере того, как производители аппаратных платформ стали предпринимать активные шаги по снижению издержек на виртуализацию (появление аппаратной поддержки, введение новых инструкций, сокращение таймингов при выполнении инструкций), а производительность процессоров стала достаточной, чтобы «тянуть» виртуальные машины с приемлемой скоростью.

Как уже говорилось выше, один из ключевых факторов для нормальной работы нативной аппаратной виртуализации — поддержка процессором специфических наборов инструкций. Intel представила свой набор инструкций VT-x в 2005 году, еще в рамках архитектуры Netburst, применявшейся в процессорах Pentium 4. AMD разработала свой набор инструкций, AMD-V, и первые процессоры с его поддержкой вышли на рынок в 2006 году. Некоторое время спустя обе компании предложили новые наборы инструкций: Intel EPT (Extended Page Tables) и AMD RVI (Rapid Virtualization Indexing) соответственно. Суть обоих наборов в том, что гостевая ОС получает контроль над виртуализованными страницами памяти напрямую, минуя гипервизор — это снижает нагрузку на него и несколько поднимает скорость виртуальной системы. Для проброса напрямую устройств в гостевую ОС компания Intel разработала набор инструкций Intel VT-d. В арсенале Intel имеются и другие наборы инструкций для виртуализации: Intel VT FlexMigration, Intel VT FlexPriority, VPID, VT Real Mode, VMFUNC.

В новых поколениях процессоров производители не только предлагают новые возможности наборов инструкций виртуализации, но и сокращают тайминги выполнения конкретных инструкций, что позволяет повысить производительность виртуальной системы в целом. Для примера, в процессорах Pentium 4 задержка на выполнение инструкций VMCALL и VMRESUME приближалась к 1500 наносекундам, а в Core 2 Duo (Penryn) она составляла уже менее 500 наносекунд.

Таким образом, целесообразность использования виртуализации на сегодняшний день уже не вызывает вопросов. Технология предоставляет слишком много плюсов с точки зрения организации бизнеса, что заставляет закрывать глаза даже на неизбежные потери производительности системы.

Тем не менее, всегда полезно понимать, о каком именно уровне потерь производительности между реальной и виртуальной системой идет речь. Тем более, что они часто сильно зависят от типа задач и требований ПО к аппаратным ресурсам. Где-то это важно с точки зрения учета ресурсов, где-то — поможет определить, какой уровень производительности реальной системы необходим, чтобы добиться нужного уровня производительности от виртуальной системы. Наконец, есть пограничные типы задач, которые могут решаться с помощью как виртуальных, так и реальных систем — и там вопрос потерь может оказаться решающим фактором.

Методика тестирования

Для тестирования использовался набор тестовых приложений из обычной методики исследования производительности платформ IXBT.com от 2011 года, с некоторыми оговорками. Во-первых, из набора были убраны все игры, т. к. виртуальный графический адаптер с драйвером Oracle обладает слишком слабой производительностью: в большинстве случаев игры даже не запускались. Во-вторых, убраны приложения, которые стабильно не могли завершить тестовый сценарий на одной из конфигураций — это Maya, Paintshop Pro, CorelDraw. По этой причине нельзя сравнивать итоговые рейтинги и суммарный балл производительности нашего тестового стенда с базой протестированных процессоров. Однако сравнение результатов отдельных тестов вполне корректно.

Также нужно учитывать, что в методике используются версии приложений от 2011 года. Они могут не поддерживать новые технологии, оптимизации и наборы инструкций, внедренные после этого времени. При этом наличие такой поддержки в более новых версиях приложений может существенно влиять на производительность этих приложений — и в реальной, и в виртуальной системе.

Тестовый стенд

ПО для виртуализации

В этом материале тестирование проводится с использованием Oracle VM VirtualBox.

Oracle VM VirtualBox — это бесплатная виртуальная машина (ВМ), распространяющаяся по лицензии GNU GPL 2. Она поддерживает обширный список операционных систем: Windows, OS X, Solaris и большое количество Linux-дистрибутивов (Ubuntu, Debian, openSUSE, SUSE Linux Enterprise Server, Fedora, Mandriva, Oracle Linux, Red Hat Enterprise Linux, CentOS). Изначально ВМ разрабатывалась Innotek, которая впоследствии была куплена Sun Microsystems, а в 2010 году — Oracle. ВМ поддерживает проброс USB-устройств в гостевую ОС, обеспечивает доступ в интернет и подключение удаленного рабочего стола. Гостевые ОС могут быть как 32-битными, так и 64-битными. Система поддерживает аппаратное ускорение 2D и 3D, а также PAE/NX, VT-x, AMD-V, Nested Paging. Эмулирует широкий спектр распространенных устройств: чипсет PIIX3 или ICH9, контроллеры IDE PIIX3,PIIX4, ICH6, аудиокарт Sound Blaster 16, AC97 или Intel HD, а также сетевых карт PCnet PCI II (Am 79 C 970 A), PCnet — Fast III (Am 79 C 973), Intel PRO /1000 MT Desktop (82540 EM), Intel PRO /1000 T Server (82543 GC), Intel PRO /1000 MT Server (82545 EM). Поддерживает образы жестких дисков VDI, VMDK, VHD, позволяет создавать общие папки для гостевой и хост-ОС, а также сохранять состояния ВМ.

Подводя итог, можно охарактеризовать VM VirtualBox как ВМ для домашнего использования и для использования в маленьких фирмах, а простота настройки (по сути установил и всё работает) не требует высокой квалификации у системного администратора (или вообще не требует выделенного системного администратора по причине простоты использования). Продукт же Oracle VM Server предназначен для более крупного бизнеса — он предоставляет и бо́льшую функциональность, и поддержку более мощных серверов, но требует и более высокой квалификации от системного администратора.

Настройки ПО

Для этого тестирования на тестовый стенд с ОС Windows 7 x64 была установлена ВМ Oracle VM VirtualBox, на которую был развернут образ Windows 7 x64 с тестовым пакетом приложений. В следующих материалах мы попробуем, как работают другие хост-ОС и ПО для виртуализации.

Сама виртуальная машина сконфигурирована следующим образом: включена поддержка Nested Paging, VT-x, PAE/NX, 3D- и 2D-ускорение. Для нужд ВМ выделено 24 Гб ОЗУ и 256 Мб под видеопамять.

Сравнение с Intel Core 7-4770k

Для сравнительной оценки общей производительности тестовой платформы на базе Intel Xeon E3-1245 v3 в таблицах также присутствуют результаты процессора Intel Core i7-4770K из тестирования на iXBT.com. Это позволяет примерно соотнести уровень производительности одного из топовых потребительских процессоров для ПК и серверного процессора Xeon, плюс дает много других интересных возможностей сравнения исходя из разницы в конфигурациях. Правда, тут нужно учитывать, что параметры двух систем немного отличаются, и это оказывает влияние на результаты. Сведем в таблицу характеристики стендов.

Intel Xeon E3-1245 v3Intel Core i7-4770K
Количество ядер/потоков, шт.4/84/8
Базовая/Boost частота, МГц3,4/3,83,5/3,9
Объем кэша L3, МБ88
Используемая оперативная память в тестовом стенде4 × Kingston KVR16LE11/84 × Corsair Dominator Platinum CMD16GX3M4A2666C10
Количество каналов, шт.22
Частота функционирования, МГц16001333
Тайминги11-11-11-289-9-9-24
ECCданет
Объем модуля, ГБ84
Суммарный объем, ГБ3216
Графическая картаIntel P4600Palit GeForce GTX 570 1280 МБ

Core i7-4770k имеет рабочие частоты на 100 МГц выше, что может дать ему некоторое преимущество. С оперативной памятью ситуация сложная: с одной стороны, у Core i7-4770k вдвое меньше объем и ниже частота работы, 1333 МГц против 1600; с другой, у платформы Xeon память имеет более высокие тайминги, а также используется коррекция ошибок ECC.

Наконец, в системе Core i7-4770k установлена внешняя видеокарта Palit GeForce GTX 570 1280 МБ. В тестовой методике образца 2011 года лишь несколько приложений могут задействовать ресурсы графической карты, и в этих приложениях следует ожидать существенного превосходства системы с Core i7-4770k. К тому же, внешняя карта не конкурирует с процессором за доступ к ОЗУ, как это делает интегрированная Intel P4600, что тоже должно давать Core i7-4770k определенное преимущество. С другой стороны, в драйверах Р4600 должны присутствовать определенные оптимизации, позволяющие поднять производительность профессиональных приложений. Однако для них наверняка требуется и оптимизация самого ПО, так что в нашем тестировании (напомню, у нас используются версии приложений 2011 года) эти оптимизации, скорее всего, не заработают. А в жизни придется проверять каждый случай отдельно, ибо оптимизация ПО — это очень тонкий процесс.

Конфигурации, участвующие в тестировании

Для удобства сведем всё в таблицу.

Конфиг 1Конфиг 2Конфиг 3Конфиг 4Конфиг 5
НазваниеReal wo/HTReal w/HTVM 4 core wo/HTVM 4 core w/HTVM 8 core
Обозначение на графикахhw 4/4, vm 4 corehw 4/8, vm 4 corehw 4/8, vm 8 core
Количество ядер/ потоков на реальной системе4/44/84/44/84/8
количество ядер VM448

Расчет издержек виртуализации

Важно обратить внимание, что издержки виртуализации измеряются не относительно общего уровня, а в сравнении схожих аппаратных и виртуальных конфигураций.

Величина издержек виртуализации для 8-ядерной ВМ будет считаться относительно Intel Xeon E3-1245 v3 с включенной технологией HT (Real w/HT), а 4-ядерной ВМ — относительно Intel Xeon E3-1245 v3 без HT (Real wo/HT). Издержки экспериментальной конфигурации 4-ядерной ВМ на 8-поточном процессоре будут считаться относительно Intel Xeon E3-1245 v3 без HT.

Также в рамках тестирования будет введен рейтинг производительности, где за 100 баллов принята производительность Intel Xeon E3-1245 v3 без HT.

Приемлемый уровень потерь

Самый интересный вопрос — какой уровень потерь производительности стоит считать допустимым? В теории, уровень в 10-15 процентов представляется нам вполне приемлемым, учитывая те плюсы, которые дает предприятию виртуализация. Особенно учитывая, что повышается средний уровень загрузки оборудования и сокращается время простоя.

На первом этапе мы решили посмотреть, насколько упадет производительность при переходе на виртуальную систему в синтетическом тесте. Для этого мы взяли относительно простой бенчмарк Cinebench R15, который, однако, неплохо определяет уровень производительности центрального процессора в расчетах, связанных с трехмерным моделированием.

Real w/HTVM 8 coreReal wo/HTVM 4 core
Single Core151132 (−13%)151137 (−9%)
Many Core736668 (−9%)557525 (−6%)

4-поточная конфигурация имеет меньшую производительность, но и потери в процентах у нее также меньше — как в однопоточной нагрузке, так и в многопоточной. Что касается производительности ВМ, то, несмотря на большие потери, 8-ядерная конфигурация оказывается все равно быстрее 4-ядерной. Также можно предположить, что т. к. графический адаптер эмулируется драйвером Oracle, то наличие какой-либо нагрузки на графическую подсистему должно значительно увеличивать издержки для виртуальных систем, т. к. создает дополнительную нагрузку на процессор.

Ну а в целом пока будем ориентироваться на эти цифры — около 10% потери производительности для 8-поточной конфигурации и порядка 6% для 4-поточной.

Исследование производительности

Интерактивная работа в трехмерных пакетах

При интерактивной работе в некоторых приложениях CAD активно используется графическая карта, что будет серьезно влиять и на результаты, и на разницу в производительности между реальной и виртуальной системой.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

В режиме интерактивной работы в CAD CreoElements потери при виртуализации составляют внушительные 64%, причем для всех конфигураций. Скорее всего, из-за того, что в реальной системе задействуются ресурсы видеокарты, а в виртуальной нагрузка ложится на центральный процессор через драйвера Oracle.

В следующей таблице сведены как рейтинги, так и абсолютные результаты производительности для конкретного теста. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 coreIntel Core i7-4770K+GTX570
Результаты562155915365841635698
Рейтинг производительности1003637963481

Интересно отметить, что i7-4770K показывает меньшую производительность, чем Xeon, даже несмотря на использование достаточно мощной дискретной видеокарты. (С. И. — обещанные Intel оптимизации драйверов в серии профессиональных ускорителей P4600/P4700?)

Технология HT негативно сказывается на производительности как реальной системы, так и ВМ — 4% и 5% потерь соответственно.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

В SolidWorks картина, в целом, не меняется — издержки переходят все разумные границы, показывая более 80% потери производительности. Правда, в ассиметричной конфигурации (CPU: 4 ядра, 8 потоков; ВМ: 4 ядра) издержки заметно меньше, чем в двух других конфигурациях. Возможно, это объясняется работой фоновых процессов в хост-ОС: т. е. активация НТ удваивает количество возможных потоков до 8, где 4 выделяются ВМ, а 4 остаются в распоряжении хост-ОС.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты104,11611372,35105,31672,1141,14
Рейтинг производительности10017289915253

Десктопный 4770K значительно быстрее Xeon (скорее всего, благодаря тому, что Solidworks умеет задействовать в этом сценарии ресурсы графической карты — С. К.). В целом, огромные издержки обусловлены тем, что SolidWorks требователен к графической подсистеме, а, как уже было выше сказано, виртуальная графическая карта лишь сильнее нагружает процессор.

Активация НТ приводит к снижению производительности — для физического сервера это 1%, а для ВМ — 9%. Что, в целом, подтверждает гипотезу о фоновых процессах — поскольку 8-ядерная ВМ «захватывает» все 8 потоков ЦП, хост-ОС и ВМ начинают конкурировать за ресурсы.

Издержки виртуализации в данной группе приложений весьма значительны (более 60%), причем в обоих исследованных пакетах. При этом CAD CreoElements имеет меньшие издержки, чем SolidWorks, но последний еще и умеет задействовать ресурсы графической карты, т. е. на реальной системе может получать дополнительные бонусы. Технология HT не приносит пользы на физическом сервере, а на ВМ и вовсе снижает производительность в обоих пакетах. В целом, очень высокие потери производительности не позволяют рекомендовать виртуальные системы для работы с пакетами трехмерного моделирования. Впрочем, стоит еще посмотреть на финальный рендеринг.

Финальный рендеринг трехмерных сцен

Скорость финального рендеринга трехмерных сцен зависит от производительности центрального процессора, так что здесь картина должна получиться более объективной.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Первое, на что стоит обратить внимание: при финальном рендеринге 3Ds Max показывает значительно меньшие издержки виртуализации, чем при интерактивной работе в CAD — 14% для 4-ядерной ВМ и 26% — 8-ядерной. Тем не менее, уровень издержек значительно выше установленных планок 6 и 10 процентов.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты6:387:437:515:157:045:07
Рейтинг производительности100868512694130

В целом, несмотря на достаточно высокие издержки, 8-ядерная ВМ имеет сопоставимый уровень производительности с 4-ядерными 4-поточными процессорами Intel, что весьма неплохо.

Активация HT на реальном железе позволяет сократить время рендеринга на 26% — весьма достойный результат! Что касается НТ на ВМ, то здесь всё скромнее — всего 9% прироста. Тем не менее, прирост есть, и заметный.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Lightwave и вовсе показывает отличный результат: издержки виртуализации находятся на уровне 3% для 4-ядерной ВМ и 6% для 8-ядерной ВМ. Как видите, даже в одной группе приложения, предназначенные, в принципе, для одной и той же задачи, ведут себя по-разному: например, 3Ds Max показывает значительно большие издержки, чем Lightwave.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты5:285:385:405:125:334:45
Рейтинг производительности100979610598115

Десктопный 4770К показывает большую производительность, чем Xeon E3-1245v3. Стоит заметить, что 8-ядерная ВМ практически не уступает 4-ядерному 4-поточному физическому серверу. (Такое впечатление, что Lightwave плохо оптимизирован, поэтому меньше реагирует на любые изменения конфигурации. Что уменьшение производительности при виртуализации, что появление дополнительных ресурсов при активации НТ… на все он реагирует слабее, чем 3DsMax — С. К.).

Зато активация HT дает всего 5%-ую прибавку к скорости для реального железа и, что странно, 9%-ую для ВМ.

При финальном рендеринге трехмерных сцен, задействующем только ресурсы центрального процессора, издержки виртуализации вполне приемлемые, особенно у Lightwave, где потери производительности и вовсе можно охарактеризовать, как незначительные. Активация НТ и в 3Ds Max, и в Lightwave позволила повысить производительность и на физической, и на виртуальной системе.

Упаковка и распаковка

Ключевую роль в производительности архиваторов играет связка процессора и памяти. Также стоит отметить, что разные архиваторы по-разному оптимизированы, т. е. могут по-разному задействовать ресурсы процессора.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Издержки при сжатии данных составляют 12% для любой системы. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты1:141:241:240:591:070:59
Рейтинг производительности1008888125110125

Xeon E3-1245v3 и i7-4770K показывают идентичные результаты — при чуть отличающейся частоте и разной памяти. Благодаря высокому приросту от активации НТ, виртуальная система с 8 ядрами обгоняет реальную с четырьмя.

Впрочем, прирост скорости сжатия от активации HT установился на 25% как для реального железа, так и для ВМ.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

В силу небольшого по объему тестового архива, результаты ВМ и реального сервера находятся на одном и том же уровне в рамках погрешности, так что реально оценить издержки не представляется возможнымПосмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты0:070:090:090:070:090:07
Рейтинг производительности100787810078100

Интересно, можно ли рассматривать 22% как некие “чистые” потери ВМ?

Это касается и оценки эффекта от активации НТ — всё-таки объем тестового задания образца 2011 года слишком мал для современного 4-ядерного процессора.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

У RAR издержки заметно выше, так еще и растут для 8-ядерной ВМ. В целом, 25% — все-таки многовато. Но RAR имеет довольно плохую оптимизацию в том числе под многопоточность.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты1:011:141:151:021:231:01
Рейтинг производительности10082819873100

Активация HT приводит к замедлению, но имея в виду посредственную реализацию многопоточности в WinRAR 4.0 это не удивительно.

Из-за значительных потерь от активации НТ 8-ядерная ВМ оказывается даже медленнее 4-ядерной.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Поскольку тестовый архив Методики для современного процессора мал, время выполнения задания слишком мало, чтобы говорить о какой-либо точности. Тем не менее, можно точно сказать, что издержки относительно высоки. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты0:320:380:380:320:400:32
Рейтинг производительности100848410080100

Как видно, разница в процентах внушительная, а в реальности — всего лишь несколько секунд.

Также можно точно сказать, что WinRAR плохо переваривает HT.

Производительность и издержки в этой группе очень сильно зависят от архиватора, от его оптимизации и способности эффективно использовать доступные ресурсы процессора. Поэтому и сложно давать рекомендации по поводу использования в ВМ — это в большей степени зависит от приложения, а не от типа задач. Тем не менее, 7zip демонстрирует, что уровень издержек при упаковке может быть относительно небольшим, и использовать этот архиватор в виртуальных машинах вполне можно.

Кодирование аудио

Эта группа объединяет в себе несколько аудиокодеков, работающих через оболочку dBpoweramp. Скорость кодирования аудио зависит от производительности процессора и от количества ядер. Этот тест также очень хорошо масштабируется на большее количество ядер, так как многопоточность в приложении реализована путем параллельного запуска кодирования нескольких файлов. Поскольку кодирование с помощью разных кодеков создает практически одинаковую нагрузку на систему и, соответственно, показывает близкие результаты, то мы решили свести все результаты в одну общую таблицу.

Итак, общие издержки виртуализации.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Кодирование аудио — вот идеал с точки зрения издержек виртуализации. Для 4-ядерной ВМ средние издержки составили всего 4%, а для 8-ядерной — 6%. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
AppleРезультаты295283281386362386
AppleРейтинг производительности1009695131123131
FLACРезультаты404387383543508551
FLACРейтинг производительности1009695134126136
Monkey AudioРезультаты299288282369348373
Monkey AudioРейтинг производительности1009694123116125
MP3Результаты185178175243230249
MP3Рейтинг производительности1009695131124135
Nero AACРезультаты170163161229212234
Nero AACРейтинг производительности1009695135125138
OGG VorbisРезультаты128124123167159171
Nero AACРейтинг производительности1009796130124134

Как видите, хотя реальные результаты для разных кодеков отличаются, но если брать проценты, то они удивительно похожи. Core i7-4770k часто оказывается чуть быстрее (видимо, роль играет более высокая частота). Также интересно отметить, что результаты теста 4-ядерной ВМ на системе с активированным НТ всегда чуть ниже, чем без него. Вероятно, это следствие как раз работы НТ. Но в целом, разница в производительности в 3-5% между реальной и виртуальной системой — это очень хороший показатель.

Отдельно посмотрим, что добавляет активация НТ.

Кодирование аудиоReal w/HThw 4/8 vm 8
Apple31%28%
FLAC34%31%
Monkey Audio23%21%
MP331%29%
Nero AAC35%30%
OGG Vorbis30%28%

Активация технологии HT позволяет увеличить скорость на 31% на реальном сервере и на 28% на виртуальном. Также один из лучших результатов. Наконец, сводная таблица результатов.

Компиляция

Скорость компиляции также зависит не только от частоты и производительности ядра, но и от их количества.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Компилятор GCC показывает самые низкие издержки виртуализации среди прочих участников на четырехядерной системе, 13%. Правда, для 8-ядерной ВМ они серьезно растут и становятся уже слишком высоки — 26%.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты8:289:499:536:499:116:43
Рейтинг производительности100868612492126

Производительность серверного Xeon сопоставима с десктопным i7. 8-ядерная ВМ не дотягивает до физической системы с отключенным НТ.

Ощутимый прирост производительности происходит при активации НТ на физическом сервере — 24%, а вот на ВМ увеличение количества ядер позволяет поднять производительность лишь на 7%. Хотя и это тоже неплохо.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Компилятор Intel демонстрирует несколько большее падение производительности при виртуализации, чем GCC — 19% и 33% для 4-ядерной и 8-ядерной ВМ соответственно.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты12:5916:0116:068:3212:438:20
Рейтинг производительности1008181152102156

Производительность Xeon сопоставима с i7, а производительность 8-ядерной ВМ — с Xeon wo/HT. И заодно видно, какой внушительный прирост дает активация НТ. Все-таки продукт Intel, так что в том, что его постарались унифицировать под НТ, нет ничего странного. В цифрах это выглядит вот так:

Активация НТ позволяет получить намного больший прирост как на физическом сервере, так и на ВМ — 52% и 26% соответственно.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Компилятор от Microsoft показал самые большие издержки — 37% для 4-ядерной ВМ и 62% для 8-ядерной, что не позволяет рекомендовать его для использования в виртуальных серверах.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты5:449:098:214:2611:334:24
Рейтинг производительности100636912950130

Можно оценить и разницу во времени, которое потребовалось для выполнения задания. Так тоже вполне наглядно.

Что касается НТ, то ее активация на реальной системе позволяет поднять скорость аж на 29%, тогда как в виртуальной системе наблюдается примерно такое же снижение производительности. Стоит также заметить, что асимметричная конфигурация ВМ с 4 ядрами на 8-поточном процессоре показывает меньшие издержки, чем симметричная, однако на 8-ядерной ВМ виден внушительный рост издержек.

В общем, этот компилятор на ВМ работает со слишком большими потерями производительности.

GCC демонстрирует приемлемый уровень издержек, ICC — побольше, но с ними еще можно мириться. Компилятор от Microsoft на виртуальных системах работает очень медленно. Зато все участники этой группы демонстрируют хороший прирост производительности при активациии НТ — кроме MSVC в виртуальной системе.

Математические и инженерные расчеты

За исключением MATLAB, данная группа тестов не имеет как таковых многопоточных оптимизаций.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Математические и инженерные расчеты в Maple показывают вполне приемлемый уровень издержек — 11%.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты0,67620,60410,60020,66560,59060,6854
Рейтинг производительности10089899887101

8-ядерная ВМ чуть медленнее, чем четырехядерные. Но в целом результаты виртуальных систем неплохие.

Прироста производительности от активации НТ ни на реальном железе, ни на ВМ нет, есть небольшое падение производительности, причем одинаковое.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

В Matlab издержки виртуализации растут, и если на 4-ядерной конфигурации это те же 11%, то для 8-ядерной ВМ они составляют уже 19%.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты0,02280,02560,02620,02350,0290,0234
Рейтинг производительности1008987977997

В отличие от предыдущего сценария, 8-ядерная ВМ заметно отстает от 4-хядерных вариантов. Кстати, и 4770к тут медленнее, чем Xeon. Ну и видно, что с активацией НТ все не очень хорошо.

Активация НТ приводит к снижению скорости, но если на реальной системе снижение практически незаметно, то на ВМ — более чем.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

CreoElements показывает себя хуже всех — самые большие издержки.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты270344344275364270
Рейтинг производительности10078789874100

Причем все варианты ВМ показывают схожую производительность, хотя 8-ядерный вариант чуть позади.

От НТ нет никакой пользы, только вред — 2% для физического сервера и 5% для виртуального.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

SolidWorks показывает заметное падение производительности в виртуальных системах, причем для 8-ядерной ВМ они еще и заметно больше.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты27,0933,1732,2827,1234,8919,19
Рейтинг производительности100828410078141

Солидная производительность Core i7-4770k объясняется присутствием внешней графической карты.

На физический сервере SolidWorks никак не реагирует на активацию НТ, а на ВМ реакция есть, но негативная — 5%-ое снижение производительности.

Уровень издержек в данной группе зависит от используемого приложения: минимальные у Maple, максимальные у CreoElements. В целом, математические расчеты можно с оговорками рекомендовать к виртуализации.

Растровая графика

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

В силу слабой оптимизации или по другим причинам, но потери производительности в виртуальных системах у ACDSee огромны. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты13:3223:1724:0411:0723:1010:53
Рейтинг производительности100585612258124

С такой разницей во времени выполнения тестовых сценариев рекомендовать это приложение для использования на виртуальной машине не поднимется рука.

Если на реальном железе активация НТ позволяет поднять планку производительности на 22%, то с виртуализацией этот фокус не проходит — только 1%.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

GIMP демонстрирует чуть меньшие, но все равно недопустимуо большие издержки — 36% для 4-ядерной ВМ и 42% для 8-ядерной.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты10:5717:1217:4910:4618:2810:38
Рейтинг производительности100646110259103

Взгляд не реальные цифры времени выполнения тоже навевает грусть.

Ну и результаты включения Hyperthreading:

На физическом сервере наблюдается небольшое ускорение на уровне 2%, а на ВМ напротив — снижение скорости на 7%.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

На 4-ядерной ВМ уровень издержек Imagemagick вполне приемлем, а вот в конфигурации с 8-ядерной ВМ — высокий. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты1:472:012:031:512:351:49
Рейтинг производительности1008887966998

Результаты виртуальных систем неплохие, только не стоит использовать 8-ядерную конфигурацию. Что интересно, 4770К и система с НТ немного отстают от референсной системы, т. е. активация НТ ухудшает ситуацию.

При ее включении ухудшаются показатели и реальной системы, но вот виртуальная вообще проваливается.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

У Photoshop ситуация примерно такая же, как в предыдущем случае: относительно небольшие, на уровне 15%, издержки на 4-ядерной ВМ и очень большие, 30% — на 8-ядерной. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты1:472:052:091:462:291:45
Рейтинг производительности100868310172102

Работать в виртуальной системе более-менее можно, если она 4-хядерная.

Активация НТ практически не приносит дивидендов на реальной системе, а производительность ВМ ухудшает аж на 16%.

Стоит оговориться, что в большинстве приложений речь идет о пакетной обработке файлов. Т. к. время обработки одного файла относительно невелико, существенная часть времени тратится на операции чтения/записи, которые в случае виртуальной системы создают дополнительную нагрузку на процессор и приводят к дополнительным потерям времени (Виртуальный жесткий диск представляет собой образ, хранящийся на физическом жестком диске — а это еще один посредник непосредственно между приложением и железом).

Что же до выводов, то практически все приложения для работы с растровой графикой плохо реагируют на активацию НТ в виртуальных машинах, а ее активация на реальной системе проходит незамеченной. Производительность на 4-хядерной ВМ зависит от приложения: у двух из четырех приложений издержки активации относительно невысоки, и использовать эти приложения в ВМ можно. А вот задавать 8 ядер в настройках не стоит — вместо роста производительности получите существенное ее ухудшение. В целом же, программы для обработки изображений придется пробовать, чтобы индивидуально оценить производительность и ее падение в ВМ. Уровень издержек при переходе на виртуальную платформу для протестированных приложений нам кажется высоковатым.

Векторная графика

Данная группа является однопоточной, поэтому производительность будет зависеть только от производительности единичного ядра.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Примерно та же ситуация, что и в предыдущей группе — более-менее приемлемые издержки для 4-ядерных ВМ и большие потери производительности для 8-ядерной ВМ, Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты5:376:426:345:367:395:27
Рейтинг производительности100848610073103

Производительность E3-1245v3 сопоставима с 4770K — хотя последний несколько быстрее за счет 100 дополнительных мегагерц. Что же до общей картины… Падение в процентах выглядит не особо страшным, но в реальности может вылиться в заметные дополнительные потери времени.

И та же ситуация с НТ — никакого прироста от активации на реальной системе, заметное падение производительности на виртуальной. Впрочем, причину мы уже описали выше.

Кодирование видео

Нужно учитывать, что первые три участника — это полноценные графические пакеты, т. е. речь идет об интерактивной работе и последющем создании ролика. Тогда как остальные участники — это просто кодировщики.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

С кодированием видео в Expression дело обстоит не очень хорошо — даже на 4-ядерных системах потери производительности под 20%, а у 8-ядерной — практически на треть. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты2:012:282:302:103:182:08
Рейтинг производительности1008281936195

Как видите, мощные процессоры с включенным НТ отстают от версии без него.

Активация НТ что на реальной, что на виртуальной системе только ухудшает производительность. Но на виртуальной падение очень большое.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

С Premiere ситуация заметно лучше — можно говорить о приемлемом уровне издержек для 4-ядерной ВМ. Для 8-ядерной ВМ они по-прежнему слишком велики. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты1:381:511:531:251:591:23
Рейтинг производительности100888711582118

Ну и посмотрим, что дает НТ.

Premiere получает аж 15% прироста производительности на реальной системе. Это хороший результат, который говорит об оптимизации под многоядерность. Правда, на ВМ активация НТ приводит к потерям в 7%.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Vegas Pro показывает высокие издержки — 19% для 4-ядерных и недопустимые 32% для 8-ядерных ВМ.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты3:374:294:353:365:193:05
Рейтинг производительности100817910068117

Что интересно, в этом пакете Core i7-4770k показывает заметно более высокую производительность, чем на нашей тестовой системе.

Активация НТ не приносит никаких дивидендов на реальной системе, а на виртуальной показывает 16%-ое снижение производительности.

В общем, Vegas Pro, похоже, существенно менее оптимизирован под работу с современными процессорами и тратит их ресурсы неэффективно. Поэтому Premiere выглядит гораздо симпатичнее с точки зрения перспектив работы в виртуальной среде.

Ну а теперь давайте посмотрим, как ведут себя чистые кодировщики видео.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Итак, х264 демонстрирует в целом терпимые издержки, причем, в кои-то веки 8-ядерная ВМ эффективнее 4-хядерных. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты4:465:385:264:435:154:39
Рейтинг производительности100858810191103

Производительность 8-ядерной ВМ всего лишь на 9% ниже, чем Xeon wo/HT.

Реальная система практически не реагирует на активацию НТ, а вот в виртуальной она позволяет поднять производительность на 7%.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

4-ядерные ВМ и здесь демонстрируют низкий уровень издержек, около 10%. А вот 8-ядерная сильно провалилась. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты5:035:355:305:168:245:07
Рейтинг производительности1009092966099

Цифры, что называется, говорят сами за себя.

Увы, активация НТ приносит лишь вред. И если на физическом сервере потери незначительны — 4%, то на ВМ они достигают 34%. То есть, и Xvid и ВМ неэффективно оперируют логическими ядрами.

Итак, у видеоредакторов уровень потерь производительности зависит прежде всего от самого редактора, поэтому пригодность для работы в ВМ стоит оценивать индивидуально. В наших тестах (и для используемых нами версий продуктов) существенно лучше выступил Premiere.

Что же до кодировщиков, то хотя разница между ними есть, но в 4-хядерных ВМ они все показывают довольно неплохие результаты. Что же до использования 8-ядерных виртуальных машин, то тут можно получить как рост, так и серьезное падение производительности. Другой вопрос, что при принятии решения о запуске перекодирования видео на виртуальной машине надо всегда помнить, что современные процессоры и графика обладают широким спектром оптимизаций под этот класс задач (так же, как и ПО), а в ВМ Oracle Virtual Box работа будет осуществляться в программном режиме, т. е. и медленнее, и с большей загрузкой процессора.

Офисное ПО

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Chrome в тесте вел себя не совсем адекватно, поэтому относиться к результатам стоит с большой долей скепсиса. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты82161317013113137671213315406
Рейтинг производительности100160160168148189

И результаты от активации НТ.

К данному подтесту в группе не стоит относится серьезно в силу этих обстоятельств.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

MS Excel показывает издержки на уровне 15% и 21% для 4-ядерной и 8-ядерной ВМ. В принципе, уровень издержек можно назвать высоким. Хотя на практике пользователь вряд ли будет замечать замедление работы, разве что в каких-то очень сложных расчетах. У 8-ядерной системы издержки традиционно выше. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты11:3313:3713:5111:3914:4211:18
Рейтинг производительности10085839979102

Тестовое задание для Excel занимает много времени, что позволяет наглядно продемонстрировать разницу во времени на его выполнение. Как видите, виртуальная система будет выполнять его на 2 минуты дольше.

И отдельно издержки от НТ:

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Издержки в Finereader средние для 4-хядерных систем и повыше для 8-ядерной. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты10:1711:3811:408:2010:068:07
Рейтинг производительности1008888123102127

За счет высокой эффективности НТ, 8-ядерной ВМ удается опередить физический сервер на базе Xeon wo/HT. Что интересно, 4770К показывает заметно более высокий результат.

Finereader положительно откликается на НТ и показывает 23% и 15% прироста производительности для реального железа и ВМ соответственно.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Уровень издержек совсем невысокий для 4-ядерных систем, чуть повыше для 8-ядерной. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты742269476836740664957584
Рейтинг производительности100949210088102

И воздействие включения НТ

На ВМ наблюдается некоторое снижение производительности при активации НТ.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

IE показывает несколько большие издержки, чем Firefox. Особенно в 8-ядерной ВМ.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты121811191074121610101240
Рейтинг производительности100928810083102

Активация НТ вредит ВМ, снижая производительность на 10%.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Opera демонстрирует чуть более высокие издержки, чем Firefox, и примерно на уровне Internet Explorer. Точно так же, для 8-ядерной ВМ их можно назвать высокими.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты745567786465737860127492
Рейтинг производительности10091879981100

Отдельно — издержки НТ:

Толку от НТ никакого нет, напротив только вред — 11%-ое снижение производительности на ВМ.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

И здесь для 4-хядерных ВМ уровень издержек приемлемый — всего 10%. Для 8-ядерной машины он повыше, 14%, но в целом тоже ничего страшного. Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты0:440:490:490:440:510:43
Рейтинг производительности100909010086102

В силу небольшого времени выполнения тестового пакета, а следовательно, высокой погрешности, судить об эффективности НТ сложно.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Word несколько разочаровал — другие приложения из пакета MS Office работали на виртуальных машинах побыстрее. А здесь — 26% для 8-ядерной ВМ!

Активация НТ приводит к 14%-му снижению производительности на ВМ.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты1:071:191:191:081:321:06
Рейтинг производительности10085859973102

Самое главное, что стоит иметь ввиду — в большинстве случаев производительности современных систем будет хватать для всех офисных задач, скорее всего даже с запасом. А раз уровень производительности достаточный, то пользователя не будет интересовать, какие там издержки.

Данный тестовый пакет интересен тем, что Java по сути является виртуальной машиной, а, следовательно, запуск Java на Oracle VM VirtualBox означает запуск виртуальной машины на виртуальной машине, что подразумевает двойное абстрагирование от аппаратного обеспечения. Именно поэтому стоит ожидать адекватных издержек — все основные потери производительности произошли на уровне переноса программного кода на Java.

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Издержки 8-ядерной ВМ установились на 8%, а 4-ядерной — 5%.Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты205,02194,46192,13236,56217,03240,27
Рейтинг производительности1009594115106117

За счет высокой эффективности НТ и невысоких издержек 8-ядерная ВМ показывает на 6% большую производительность, чем Xeon wo/HT. Прирост от НТ на реальном железе составил 16%, а на ВМ — 12%.

Смотря на результаты Java, можно предположить, что виртуализация различных фреймворков и программ, написанных на языках программирования с трансляцией в свой байт-код, не будет иметь высоких издержек, так как все основные издержки «заложены» в них самих. То есть, повсеместное использование языков программирования с псевдокодом не такое уж и плохое явление, особенно для виртуальных машин.

Воспроизведение видео

Этот раздел следует рассматривать просто как иллюстрацию — т. к. на реальных системах используется DXVA, т. е. аппаратное ускорение — соответственно, нагрузка на процессор минимальна. В отличие от ситуации с ВМ, где все расчеты производятся программно. В итоговый балл он также не включен.

Напомню, здесь значение таблиц — это уровень загрузки процессора. Почему он бывает больше 100% — можно почитать в методике.

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты611010861136

Это хорошая иллюстрация эффективности средств аппаратного ускорения, и при воспроизведении видео все очевидно. Но стоит помнить, что на современных системах примерно тех же результатов можно достичь и с помощью других оптимизаций — того же Qsync для работы с видео, СUDA для графических расчетов и т. д.

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты687072687254

А вот в софтверном режиме разница между физическим сервером и виртуальным невелика — 4%. Де-факто, издержки производительности незначительны.

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты126161116613

Что интересно, в VLC загрузка процессора для ВМ существенно ниже, чем в MPC HC.

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты526162516651

В софт-режиме разницы между реальным железом и ВМ снова практически нет. Активация DXVA в виртуальной системе приводит лишь к дополнительной работе для процессора.

Многозадачное окружение

Чем определяется быстродействие гостевой виртуальной машины. Смотреть фото Чем определяется быстродействие гостевой виртуальной машины. Смотреть картинку Чем определяется быстродействие гостевой виртуальной машины. Картинка про Чем определяется быстродействие гостевой виртуальной машины. Фото Чем определяется быстродействие гостевой виртуальной машины

Издержки в многозадачном окружении составили 32% и 25% для 8-ядерной и 4-ядерной ВМ соответственно. 4-ядерная ВМ очень сильно провалилась, там издержки аж 67%. Почему такое происходит — сложно сказать (напомню, речь идет о стабильном результате при нескольких запусках). Посмотреть таблицу с результатами

Real wo/HTVM 4 core wo/HTVM 4 core w/HTReal w/HTVM 8 core4770K
Результаты6:599:1721:246:089:0013:43
Рейтинг производительности10075331147851

И что происходит при активации НТ

Технология НТ в многозадачном окружении приносит свои плоды для реальной системы — 14% прироста, а вот ВМ всё значительно хуже — 3%.

Тестирование многозадачности — довольно тонкий процесс, на который влияет множество факторов. Поэтому делать однозначные выводы со сторпроцентной уверенностью сложно. Например, чем можно объяснить громадное падение производительности четырехядерной ВМ при активации НТ? Какими-то специфическими особенностями взаимодействия хост-ОС и ВМ? Или используемые в тесте приложения сильно теряют в производительности (а примеры выше мы видели) и в совокупности дают такой результат? Кстати, если последнее утверждение верно, то это хорошо показывает, что совокупные издержки от использования ВМ могут оказаться очень высокими.

Наконец, обратите внимание на производительность Core i7-4770k, который в этом тесте очень сильно отстал от нашего тестового стенда, хотя в отдельных задачах никаких провалов не допускал. В чем тут дело? Вероятно, причина падения производительности — своп из-за недостатка оперативной памяти, который проявляется только при запуске нескольких «тяжелых» приложений одновременно. Впрочем, не будем исключать и другие причины.

Средний балл

Это, конечно, средняя температура по больнице, но все же…

Среднеарифметические издержки виртуализации по всем тестам составили 17% и 24% для 4-ядерной и 8-ядерной ВМ соответственно.

Прирост от НТ составил 12% для физического сервера и 0% для ВМ.

И на этой мажорной ноте давайте переходить к выводам.

Выводы

На мой взгляд (С. К.) анализировать производительность и потери производительности для отдельных групп или приложений не стоит: в мире ПО все слишком изменчиво. Но можно отметить определенные тенденции.

Вывод первый: Hyperthreading не всегда помогает даже на реальной системе — иногда его активация приводит к некоторому снижению производительности. С виртуальными системами ситуация еще сложнее: 8-ядерная ВМ зачастую проигрывает по производительности 4-ядерной. Т. е. использовать связку «4 ядра + НТ на реальном процессоре» и 8-ядерная ВМ можно лишь для тех задач, где вы точно знаете, что результат такого решения будет в плюс, а не в минус. Впрочем, тут нужно помнить, что задача НТ была именно в том, чтобы улучшить производительность в многозадачном окружении и (как и у ВМ), стабилизировать нагрузку на процессор. Поэтому система в целом от активации НТ должна выигрывать всегда — особенно серверная.

Вывод второй: издержки при переходе на виртуальную машину зависят скорее не от типа задач, а от конкретного приложения. Более того, и эффективность использования того или иного приложения в виртуальной машине (ВМ), видимо, определяется тем, насколько его алгоритмы «ложатся» на особенности ВМ. Например, мы не можем точно определить, является ли большое падение производительности при работе с изображениями в ВМ следствием того, что этот класс задач вообще плохо «виртуализируется», или следствием того, что существующие приложения просто используют устаревшие алгоритмы, которые не оптимизируются, потому что на современных быстрых процессорах все и так хорошо работает.

Причем у меня есть серьезные подозрения, что этот тезис можно отнести ко всем приложениям, где издержки высоки — просто эти приложения плохо оптимизированы. Т. е. они и ресурсы реальных систем используют неэффективно, просто высокий уровень производительности современных процессоров позволяет не забивать себе этим голову. Этот тезис можно отнести к профессиональным приложениям для работы с трехмерной графикой, научным расчетам и некоторым другим отдельным приложениям.

В каких-то группах виртуализация дает относительно небольшие издержки — в первую очередь в глаза бросаются аудио- и видеокодирование. Как правило, речь идет о простой и стабильной нагрузке, связанной именно с вычислениями. Это подводит нас к следующему выводу.

Вывод третий: Сейчас основные проблемы у виртуальных машины начинаются тогда, когда реальная система может задействовать аппаратные оптимизации. В распоряжении реальной системы много разных технологий оптимизации: DXVA, OpenCL, QSync и других — которые позволяют снять нагрузку с центрального процессора и ускорить выполнение задачи. В виртуальной системе Virtual Box таких возможностей нет. Впрочем, набор инструкций VT-d позволяет пробрасывать PCI-устройства в виртуальную среду. Например, я (С. К.) видел профессиональное решение НР с видеоадаптерами Nvidia Grid 2, вычислительные ресурсы которых могут виртуализироваться. В общем, ситуация зависит от самой виртуальной машины, устройств, драйверов, систем и пр. Поэтому к этому вопросу мы еще обязательно вернемся.

Наконец, пару слов стоит сказать вот о какой вещи (хотя основные выводы мы прибережем до конца всех тестирований). Стоит ли высчитывать процент падения производительности, и на его основе решать, какие задачи подлежат виртуализации, а какие нет? Например, 20-процентное падение скорости работы — это много или мало?

С. К. На мой взгляд, так ставить вопрос не стоит и вот почему.Принятие решения о том, использовать или нет виртуальные системы, лежит в области организации бизнеса, а не в области технических аспектов. А плюсы с точки зрения бизнеса могут перевесить даже 50%-ное падение производительности. Но даже если посмотреть на отдельные и вроде бы ресурсоемкие задачи, то все не так очевидно. Например, перекодировка видеоролика или расчет трехмерной модели идет 30 минут, а на виртуальной — за 50. Казалось бы, вывод очевиден — использование реальной системы оптимальнее! Однако если сцена считается на рабочей станции пользователя, то это время он не может работать. А если ее можно сбросить на сервер и заниматься следующей (причем ее подготовка займет гарантированно больше 50 минут), то в целом эффективность работы вырастет. А если еще на сервере обсчитывается несколько сцен — пусть даже подряд и медленно — то все равно с точки зрения бизнеса (и при должном распраллеливании задач) выигрыш очевиден.

С. И. С другой стороны, очень часто сервер подбирается под определенный уровень производительности в целом или в определенных приложениях, и при этом в условиях очень ограниченного бюджета. Т. е. взять вариант помощнее и подороже «про запас» не получится. В этих условиях переход на виртуальную системы (и выбор ПО с высокими издержками) может привести к тому, что в результате сервер просто не будет справляться с высокими нагрузками и с возложенными на него задачами.

На этом мы завершаем это исследование производительности виртуальной системы с ОС Windows и Oracle VM VirtualBox. В следующем материале мы рассмотрим, насколько изменится производительность Windows 7 в ВМ, если в качестве хост-ОС выступает Linux.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *