Компания Siemens выпустила гипервизор Jailhouse 0.6
9 января 2017 года
Доступен выпуск свободного гипервизора Jailhouse 0.6, развиваемого компанией Siemens. Это третий выпуск за время существования проекта. Код проекта распространяется под лицензией GPLv2. Гипервизор поддерживает работу на системах 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 ) с расширениями для виртуализации.
Организация взаимодействия с операционной системой в Jailhouse напоминает KVM, Jailhouse также обеспечивает виртуализацию на уровне ядра Linux, но отличается от KVM более легковесной реализацией и ориентацией на привязку виртуальных машин к фиксированному CPU, области ОЗУ и аппаратным устройствам. Такой подход позволяет на одном физическом многопроцессорном сервере обеспечить работу нескольких независимых виртуальных окружений, каждое из которых закреплено за своим процессорным ядром.
При жесткой привязке к CPU накладные расходы от работы гипервизора сводятся к минимуму и существенно упрощается его реализация, так как нет необходимости выполнения сложного планировщика распределения ресурсов - выделение отдельного ядра CPU позволяет гарантировать отсутствие выполнения на данном CPU других задач. Плюсом подобного подхода является возможность обеспечить гарантированный доступ к ресурсам и предсказуемую производительность, что делает Jailhouse отличным решением для создания решений виртуализации для задач режима реального времени. Минусом является ограниченная масштабируемость, упирающаяся в число ядер CPU.
В терминологии Jailhouse виртуальные окружения именуются ячейками. Внутри ячейки система выглядит как однопроцессорный сервер, показывающий производительность близкую к производительности выделенного ядра CPU. В ячейке может быть запущено окружение произвольной операционной системы, урезанные окружения для запуска одного приложения и специально подготовленные отдельные приложения, предназначенные для решения задач реального времени. Конфигурация задаётся в .cell-файлах, определяющих выделяемые окружению CPU, регионы памяти и порты ввода/вывода. Для управления изоляцией используются предоставляемые современными CPU аппаратные механизмы виртуализации. Гипервизор реализован в виде модуля для ядра Linux.
В новом выпуске:
- Переработана и доведена до готовности к применению поддержка процессоров ARMv7;
- Добавлена поддержка архитектуры ARMv8 и следующих плат на её основе: AMD Seattle / SoftIron Overdrive 3000, LeMaker HiKey, NVIDIA Jetson TX1 и Xilinx ZCU102;
- Поддержка загрузки нескольких экземпляров Linux, в однопроцессорном или многопроцессорном режимах (SMP), на всех поддерживаемых аппаратных архитектурах;
- Расширены средства обеспечения связи между ячейками, в том числе добавлен драйвер с реализацией виртуального сетевого протокола, работающий на всех поддерживаемых архитектурах;
- Внесена большая порция улучшений, связанных с работой на системах x86: Добавлена поддержка AMD IOMMU и технологии управления L3-кэшем Intel (Intel Cache Allocation Technology). Реализована поддержка новых процессоров Intel, включая SoC Apollo Lake;
- Поддержка субстраничных регионов MMIO (sub-page region).
В будущем планируется обеспечить регулярное формирование релизов (прошлая версия была выпущена в мае 2015 года), которые отныне будут развиваться в рамках трёхмесячного цикла разработки. Из планов по развитию функциональности отмечается переработка устройства для взаимодействия между ячейками (ivshmem 2.0), улучшение документации и автоматизация тестирования работы на поддерживаемых устройствах.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.