Компания Siemens выпустила гипервизор Jailhouse 0.11

Компания 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, регионы памяти и порты ввода/вывода.

Компания Siemens выпустила гипервизор Jailhouse 0.11

В новом выпуске

  • Добавлена поддержка платформ 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 и продвижения драйверов в основной состав ядра.

Источник: opennet.ru

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