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

Несмотря на то, что прикрепление виртуальных машин к ядрам CPU ограничивает масштабируемость, такой подход существенно упрощает реализацию гипервизора (по сравнению с KVM и Xen), позволяет обеспечить гарантированный доступ к ресурсам и обеспечивает предсказуемую производительность. При жесткой привязке к CPU нет необходимости выполнения сложного планировщика распределения ресурсов и сведены к минимуму накладные расходы от работе гипервизора. Всё это делает Jailhouse отличным решением для создания решений виртуализации для задач режима реального времени, так как выделение отдельного ядра CPU позволяет гарантировать отсутствие выполнения на данном CPU других задач.

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

Первый выпуск ознаменовал собой доведение до готовности всех функций, необходимых для работы на x86 процессорах Intel, в том числе возможность использования VT-d DMA и поддержку ремаппинга прерываний для изолированной привязки PCI-устройств. Для упрощения настройки представлена утилита для генерации конфигурационных cell-файлов. Для написания обособленных приложений на языке Си, способных работать в ячейках Jailhouse без дополнительных прослоек, подготовлен специальный фреймворк.

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



Источник: http://www.opennet.ru/opennews/art.shtml?num=40490