Компанія 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

Додати коментар або відгук