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


В прошлой статье мы рассмотрели работу виртуальной машины (ВМ) Oracle VM VirtualBox в схеме, где в качестве и хост-ОС, и гостевой системы использовалась Windows 7 x64. Сегодня мы посмотрим, как изменится производительность виртуальной системы Windows 7 x64, если в качестве хост-ОС будет выступать не Windows, а Linux. Для тестирования мы взяли Ubuntu 14.04 LTS. В качестве гостевой системы выступил наш стандартный тестовый образ Windows 7 x64 образца 2011 года.

Стоит сразу объяснить, почему был выбран именно этот вариант Linux. Несмотря на то, что Oracle VM VirtualBox поддерживает большое количество разных дистрибутивов Linux, выбор пал на Ubuntu 14.04 LTS в первую очередь по причине схожего позиционирования с Windows 7 — для десктопа.

Второе, что следует оговорить: в качестве хост-ОС в первом тестировании использовался тот же образ Windows 7 x64 образца 2011 г. с установленными приложениями. Поэтому в теории более современная и к тому же чистая сборка Linux может в некоторых ситуациях получить преимущество.

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

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

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

Посмотреть таблицу с результатами

Как и в предыдущем материале, уровень издержек при использовании ВМ недопустимо высок. Если смотреть по группе, то Windows в целом имеет более низкий уровень издержек, но внутри группы ситуация «разнонаправленная», так что окончательный вывод сделать сложно.

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

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

Посмотреть таблицу с результатами

Издержки в этом тесте находятся на приемлемом уровне что в этом, что в предыдущем тестировании. Если брать средний балл по группе, то Windows показывает издержки на уровне 16%, а Ubuntu — 18%. Однако если взглянуть на результаты отдельных приложений, то 3Ds Max под Linux проигрывает, а Lightwave — наоборот, показывает в Ubuntu более высокий результат, чем в ВМ с Windows. На Ubuntu издержки в Lightwave составляют всего 4%, но плохой результат в 3Ds Max снижает средний балл, отдавая победу Windows.

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

В целом, производительность современных процессоров такова, что бутылочным горлышком при распаковке скорее станет жесткий диск, чем современный мощный процессор. ВМ использует в качестве диска виртуальный образ на диске тестовой машины, что лишь усиливает зависимость скорости архивации от скорости дисковой подсистемы. На хосте Windows используется NTFS, на Ubuntu — EXT.

Посмотреть таблицу с результатами

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

Вероятно, проигрыш Linux можно связать с тем, что связка «NTFS гостевой системы — vdi-образ ВМ — NTFS хост-ОС» более эффективна, чем «NTFS гостевой системы — vdi-образ ВМ — EXT хост-ОС». Но окончательные выводы пока делать рано.

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

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

Посмотреть таблицу с результатами

Издержки минимальны на обеих системах, хотя можно отметить чуть большие издержки виртуализации для системы с Linux. Этот тест достаточно чувствительный, так что разнице в 1% можно доверять.

Компиляция

Компиляция — сама по себе сложная и достаточно ресурсоемкая задача. Но, как показало предыдущее исследование, компиляторы довольно капризны (и, видимо, по-разному оптимизированы), поэтому при переносе в виртуальную среду ведут себя очень по-разному. Хуже всего при этом становится MSVC, который существенно снижает и общий балл по группе.

Посмотреть таблицу с результатами

В целом по группе издержки и так были большие, 40%, а в Linux ситуация еще ухудшилась — до 50%. Если смотреть отдельные приложения, то везде ситуация при работе из-под Linux существенно хуже, чем при использовании в качестве хост-ОС Windows.

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

В данной группе все приложения по сути выполняются в одном потоке, за исключением Matlab, поэтому ожидать прироста от HT нет смысла.

Посмотреть таблицу с результатами

Средний балл по группе у обеих систем получился одинаковым — издержки на уровне 19%. Внутри ситуация разделилась: кто-то лучше работает под Linux, кто-то под Windows. Самая большая разница в Solidworks, при работе в ВМ в Ubuntu издержки производительности растут на 6%.

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

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

Посмотреть таблицу с результатами

По среднему баллу Windows снова одерживает победу, показывая издержки на уровне 38%, в то время как Ubuntu — 44%. Но радости это не прибавляет: в обоих случаях издержки слишком высоки.

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

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

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

Посмотреть таблицу с результатами

Потери производительности заметные, причем в Linux тестовое задание было завершено быстрее.

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

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

Посмотреть таблицу с результатами Expression

И снова по среднему баллу Windows показывает меньшие издержки, чем Ubuntu — 28% против 31%.

Из всей группы выбиваются два приложения — Expression и XviD. В Expression победа достается Windows, которая показала издержки на уровне 34%, а вот поведение Ubuntu явно неадекватное — издержки на уровне 63%. Что касается XviD, то ситуация противоположная — Ubuntu вплотную приближается к физическому серверу по уровню производительности, показывая издержки на уровне всего 6%, а конкурент демонстрирует аж 37%.

Офисное ПО

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

Посмотреть таблицу с результатами

Пакет офисного ПО удивляет: весь офисный набор приложений, начиная от браузеров и заканчивая программным обеспечением MS, показывает меньшие издержки на Ubuntu. Единственным исключением стал Finereader, который как раз-таки генерирует серьезную нагрузку на процессор. Из чего можно сделать вывод, что Linux, скорее всего, оказывается быстрее в сценариях, где отклик важнее чистой производительности, а нагрузка на систему невелика.

Java

Посмотреть таблицу с результатами

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

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

MPCHC (DXVA)

MPCHC (DXVA) Real w/HT Windows Ubuntu
Результаты 6 113 111

MPCHC (software)

MPCHC (software) Real w/HT Windows Ubuntu
Результаты 68 72 97

VLC (DXVA)

VLC (DXVA) Real w/HT Windows Ubuntu
Результаты 11 66 65

VLC (software)

VLC (software) Real w/HT Windows Ubuntu
Результаты 51 66 66

За исключением MPCHC (software), где Ubuntu загрузил ЦП практически на все 100%, при воспроизведении видео обе системы показали схожие результаты.

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

Данный тест представляет собой одновременную работу GIMP, Maya, MSVC, XviD и 7-Zip. Глядя на список приложений, становится ясно, что для ВМ узким местом будет дисковая подсистема — жесткий диск. Возможно, при использовании RAID-массива на базе серверных SSD ситуация окажется иной.

Посмотреть таблицу с результатами

Параллельная работа вообще дается ВМ нелегко, но с Windows взаимодействие лучше: Ubuntu чувствует себя хуже, чем Windows, показывая на 5% большие издержки.

Стоит отметить, что обе системы не вписались не только в установленные рамки, но и в разумные пределы: все-таки издержки свыше 30% — это слишком много.

Средний балл

Итак, средний балл.

Windows Ubuntu
Издержки виртуализации 24% 26%

В общем и целом, «средняя температура по больнице» такова: в роли хост-ОС десктопная Windows быстрее десктопного Linux, но общая разница невелика — всего 2%.

Выводы

Таким образом, при использовании VirtualBox и приложений из нашей тестовой методики 2011 года Ubuntu в качестве хост-ОС практически во всех приложениях имеет немного большие издержки, чем Windows. Иногда отставание может быть заметным, но в общем не превышает нескольких процентов и не является критическим фактором.

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

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

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

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




Дополнительно

ВИКТОРИНА TT

Материнские платы какого форм-фактора можно устанавливать в корпус Thermaltake Versa C22 RGB Snow Edition?

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.