Представлен порт Xen для архитектуры ARMv7 и патчи для решения проблем с производительностью
30 ноября 2011 года
Cтефано Стабелини (Stefano Stabellini), работающий в компании Citrix над развитием открытого гипервизора Xen, представил в списке рассылки разработчиков ядра Linux порт Xen для процессоров Cortex-A15. Порт основан на использовании аппаратных расширений для обеспечения виртуализации, поддерживаемых архитектурой ARMv7. Несмотря на то, что портирование началось всего три месяца назад, в настоящее время представленный порт Xen способен загрузить ядро Linux до появления приглашения Shell в виртуализированном окружении (поверх Dom0) на эталонной плате ARM Versatile Express.
Особенностью порта Xen для ARMv7 является отсутствие разделения в поддержке запуска гостевых систем в режиме паравиртуализации (PV) и аппаратной виртуализации (HVM). Вместо этого используется один комбинированный режим запуска гостевых систем, напоминающий запуск PV поверх HVM без необходимости эмуляции оборудования при помощи Qemu. Гостевые системы при использовании представленного порта Xen всегда запускаются в режиме полной виртуализации, но для доступа к сетевым и блочным устройствам должны использовать специальные паравиртуальные драйверы (т.е. для гостевых окружений не требуется модификация ядра системы, но необходимо наличие нескольких драйверов).
По мнению разработчиков код поддержки ARM уже дорос до помещения в основную экспериментальную ветку xen-unstable. В ближайшее время планируется обеспечить поддержку 64-разрядной архитектуры ARMv8, адаптировать инструментарий Xen для работы с ARM-системами и подготовить компоненты для одновременного выполнения нескольких гостевых систем. Дополнительно отмечается, что представленная разработка компании Citrix дополняет работу компании Samsung по продвижению в xen-unstable наработок проекта XenARM (Архивная копия от 28 мая 2013 на Wayback Machine), в рамках которого развивается порт Xen для старых процессоров ARM, не поддерживающих расширенные инструкции для виртуализации. Порт XenARM от Samsung поддерживает только выполнение гостевых систем в режиме паравиртуализации и требует модификации ядра системы и установки специальных драйверов.
Кроме того, можно отметить публикацию в блоге разработчиков Xen заметки (Архивная копия от 16 июля 2014 на Wayback Machine) с анализом проведённых ресурсом Phoronix тестов производительности Xen, VirtualBox и KVM, выявивших несколько проблем в скорости выполнения гостевых систем под управлением Xen (тесты показали явное преимущество KVM, с чем не согласились разработчики Xen). Как оказалось проблемы связаны с использованием в тестах стандартного ядра Linux 3.0 из состава Ubuntu 11.10, которое не включает в себя ряд важных патчей для Dom0, необходимых для информирования гипервизора о текущих режимах энергопотребления (cpufreq). Без данных патчей Xen не может инициировать выставление оптимальной частоты работы CPU, необходимой для достижения максимальной производительности. Патчи пока не включены в состав ядра Linux и поставляются отдельно.
Повторив тестирование, используя упомянутые патчи, производительность Xen и KVM оказалась примерно на одном уровне: в 9 тестах различия были в пределах 1%, в 4 тестах лидировал Xen и в 4 победу одержал KVM. Дополнительно отмечается, что даже без использования патчей, потеря производительности наблюдается только на достаточно специфичном оборудовании (в тестах Phoronix использовался ноутбук с расширенными опциями экономии энергии) и мало проявляется для серверных систем.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.