Компания Siemens выпустила гипервизор Jailhouse 0.11
8 июля 2019 года
Компания Siemens опубликовала релиз свободного гипервизора Jailhouse 0.11. Гипервизор поддерживает работу на системах x86_64 с расширениями VMX+EPT или SVM+NPT (AMD-V), а также на процессорах ARMv7 и ARMv8/ARM64 с расширениями для виртуализации. Отдельно развивается генератор образов для гипервизора Jailhouse, формируемых на основе пакетов Debian для поддерживаемых устройств. Код проекта распространяется под лицензией GPLv2.
Гипервизор реализован в виде модуля для ядра Linux и обеспечивает виртуализацию на уровне ядра. Компоненты для гостевых систем уже включены в состав основного ядра Linux. Для управления изоляцией используются предоставляемые современными CPU аппаратные механизмы виртуализации. Отличительными особенностями Jailhouse являются легковесная реализация и ориентация на привязку виртуальных машин к фиксированному CPU, области ОЗУ и аппаратным устройствам. Такой подход позволяет на одном физическом многопроцессорном сервере обеспечить работу нескольких независимых виртуальных окружений, каждое из которых закреплено за своим процессорным ядром.
При жесткой привязке к CPU накладные расходы от работы гипервизора сводятся к минимуму и существенно упрощается его реализация, так как нет необходимости выполнения сложного планировщика распределения ресурсов - выделение отдельного ядра CPU позволяет гарантировать отсутствие выполнения на данном CPU других задач. Плюсом подобного подхода является возможность обеспечить гарантированный доступ к ресурсам и предсказуемую производительность, что делает Jailhouse подходящим решением для создания задач, выполняемых в режиме реального времени. Минусом является ограниченная масштабируемость, упирающаяся в число ядер CPU.
В терминологии Jailhouse виртуальные окружения именуются "камерами" (cell, в контексте jailhouse). Внутри камеры система выглядит как однопроцессорный сервер, показывающий производительность близкую к производительности выделенного ядра CPU. В камере может быть запущено окружение произвольной операционной системы, а также урезанные окружения для запуска одного приложения или специально подготовленные отдельные приложения, предназначенные для решения задач реального времени. Конфигурация задаётся в .cell-файлах, определяющих выделяемые окружению CPU, регионы памяти и порты ввода/вывода.
В новом выпуске
- Добавлена поддержка платформ Marvell MACCHIATObin, Xilinx Ultra96,
Microsys miriac SBC-LS1046A и Texas Instruments AM654 IDK;
- Добавлена статистка в разрезе каждого ядра CPU;
- Обеспечен сброс PCI-устройств при завершении работы камеры;
- Структура Device Tree адаптирована для последних выпусков ядра Linux;
- Для платформ ARM и ARM64 добавлена защита от атак Spectre v2. В настройках qemu-arm64 учтены изменения последних выпусков QEMU. Решены проблемы с перезаписью прошивки PSCI на платах Orange Pi Zero;
- Для платформы x86 при запуске демонстрационных окружений (inmates) включено использование инструкций SSE и AVX, а также добавлен отчёт об исключениях.
Из планов на будущее отмечается давно ожидаемая поддержка IOMMUv3, повышение эффективности использования процессорного кэша ( cache coloring), устранение проблем с APIC на процессорах AMD Ryzen, переработка устройства ivshmem и продвижения драйверов в основной состав ядра.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.