Новости и события » Hi-Tech » Компания Siemens выпустила гипервизор Jailhouse 0.8

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

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

Представлен свободный гипервизор Jailhouse 0.8, развиваемый компанией Siemens. Гипервизор поддерживает работу на системах x86_64 с расширениями VMX+EPT или SVM+NPT (AMD-V), а также на процессорах ARMv7 (Banana Pi, NVIDIA Jetson TK1, Versatile Express с Cortex-A15 или A7) и ARMv8/ARM64 (AMD Seattle, LeMaker HiKey, NVIDIA Jetson TX1, Xilinx ZCU102 ) с расширениями для виртуализации. Код проекта распространяется под лицензией GPLv2.

Гипервизор реализован в виде модуля для ядра Linux и обеспечивает виртуализацию на уровне ядра. Для управления изоляцией используются предоставляемые современными CPU аппаратные механизмы виртуализации. Отличительными особенностями Jailhouse являются легковесная реализация и ориентация на привязку виртуальных машин к фиксированному CPU, области ОЗУ и аппаратным устройствам. Такой подход позволяет на одном физическом многопроцессорном сервере обеспечить работу нескольких независимых виртуальных окружений, каждое из которых закреплено за своим процессорным ядром.

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

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

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

  • Добавлена поддержка платформ Marvell ESPRESSOBin, Emtrion emCON-RZ/G1E и emCON-RZ/G1M, а также возможность работы в виртуальной машине QEMU ARM64;
  • Библиотека окружений (inmate) переведена на двойную лицензию (GPLv2 или 2-clause BSD), что позволяет использовать ее с кодом любых гостевых систем;
  • Перемещаемые окружения по умолчанию теперь размещаются по адресу 0 и для систем x86;
  • В протокол взаимодействия между гипервизором и гостевым окружением добавлена опционалная возможность установки таймаута;
  • Для платформы ARM64: добавлена поддержка контроллеров прерываний на базе архитектуры GICv3, таких как ARM CoreLink GIC-500. Для ARM и ARM64 обеспечен автоматический выбор версии GIC (v2 или v3);
  • Для систем x86 реализована ограниченная поддержка ячеек с Linux без прав root, включено игнорирование некорректного доступа к IOAPIC и налажен сброс IOAPIC при запуске и завершении работы ячейки, расширено число поддерживаемых инструкций MMIO, организован проброс в окружения частот TSC и APIC, откалиброванных в корневой ячейке.

загрузка...

 

Вверх