URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 113156
[ Назад ]

Исходное сообщение
"Компания Siemens выпустила гипервизор Jailhouse 0.8"

Отправлено opennews , 28-Дек-17 15:19 
Представлен (https://lkml.org/lkml/2017/12/28/98) свободный гипервизор Jailhouse 0.8 (https://github.com/siemens/jailhouse), развиваемый компанией 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 ) с расширениями для виртуализации. Код проекта распространяется (https://github.com/siemens/jailhouse)  под лицензией GPLv2.


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

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

В терминологии Jailhouse виртуальные окружения именуются ячейками. Внутри ячейки система выглядит как однопроцессорный сервер, показывающий производительность близкую (https://docs.google.com/file/d/0B6HTUUWSPdd-Zl93MVhlMnRJRjg/...) к производительности выделенного ядра CPU.  В ячейке может быть запущено окружение произвольной операционной системы, урезанные окружения для запуска одного приложения и специально подготовленные отдельные приложения, предназначенные для решения задач реального времени.  Конфигурация задаётся в .cell-файлах (https://github.com/siemens/jailhouse/blob/master/configs/), определяющих выделяемые окружению 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  включено игнорирование некорректного доступа к IOAPIC (для использования в некорневых ячейках) и налажен сброс  IOAPIC при запуске и завершении работы ячейки; расширено число поддерживаемых инструкций MMIO; организован проброс в окружения частот TSC и APIC, откалиброванных в корневой ячейке;
-  За пределами основного репозитория развивается несколько инициатив:
продвижение (https://lkml.org/lkml/2017/11/27/125) в основной состав ядра Linux кода для поддержки некорневых ячеек для систем x86, интеграция (https://github.com/zephyrproject-rtos/zephyr/pull/4170) поддержки Jailhouse в Zephyr RTOS, создание (https://bitbucket.org/retotech/meta-jailhouse.git) сценариев использования Jailhouse в Yocto на платформе Banana Pi.


URL: https://lkml.org/lkml/2017/12/28/98
Новость: http://www.opennet.me/opennews/art.shtml?num=47822


Содержание

Сообщения в этом обсуждении
"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено rshadow , 28-Дек-17 15:44 
Скорее всего в других системах при количестве ядер=1 тоже ничего не планирует.

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено pavlinux , 28-Дек-17 16:06 
> Intel IOMMU (VT-d) with interrupt remapping support (except when running inside QEMU)

А можно пущать lxc в гипервизоре из qemu?


"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Аноним , 29-Дек-17 03:19 
Зависит от того, есть у тебя компьютер или нет!

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено pavlinux , 29-Дек-17 18:27 
счётные палочки - это компьютер?

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено мшефд , 28-Дек-17 16:52 
Siemens со времен wincc научились программировать???

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Аноним , 28-Дек-17 16:59 
Better Stuxnet support.

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено sabakka , 28-Дек-17 20:47 
это пять ;)

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Аноним , 29-Дек-17 07:39 
Кстати, непонятно, как после этой истории можно смотреть на что-то с названием "сименс" без отвращения?

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено PnDx , 29-Дек-17 14:57 
Девайсы с realtek уже́ все выкинули?

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Аноним , 28-Дек-17 17:11 
Можно как-то заюзать это изделие есть какие-то API или вообще как с этим жить?

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено pavlinux , 28-Дек-17 17:39 
> Можно как-то заюзать это изделие есть какие-то API или вообще как с этим жить?

Начини с обучения пользования ссылками.



"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Val , 28-Дек-17 17:40 
> Гипервизор реализован в виде модуля для ядра Linux и обеспечивает виртуализацию на уровне ядра.

Нет. Jailhouse вообще не имеет никакого отношения к ядру Linux и при активации отбирает у него доступ ко всему. В виде модуля ядра реализован тот самый загрузчик.


"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено ананим.orig , 28-Дек-17 19:14 
угу.
а /dev/jailhouse становится сим-линком на /dev/null?
не говоря уже про всякие /dev/sda

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Val , 28-Дек-17 21:30 
/dev/jailhouse - это просто устройство, через которое CLI загрузчика общается с модулем. К гипервизору это не имеет особого отношения - просто менеджмент. В отличие от того же KVM, где VMEXIT'ы именно обрабатываются модулем ядра.

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Val , 28-Дек-17 21:33 
Другими словами, в Jailhouse Linux не выполняется в VMX root (на Intel).
И никакого /dev/sda у гипервизора, конечно, нет. Для Linux в root cell доступ до него обычно оставляют, но нет никаких проблем отрубить. После этого Linux впадет в панику, гипервизор продолжит работать. И, к примеру, выполнять тот самый Zephyr.

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено pavlinux , 28-Дек-17 21:15 
> при активации отбирает у него доступ ко всему.

Кэп, ты сейчас расшифровал определение гипервизора ОСи.


"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено anomymous , 28-Дек-17 19:10 
"ориентация на привязку виртуальных машин к фиксированному CPU"
Это толком и не гипервизор. Это слегка перекормленный планировщик. В последнее время подобных расплодилось - реализация проста в дым, а хайпа вокруг гипервизоров много.

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Меломан1 , 28-Дек-17 20:01 
А где совместное использование CPU и GPU?

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Аноним , 28-Дек-17 21:25 
Вы собираетесь майнить на машине, которая двигает жд стрелки или поднимает-опускает стержни в реакторе?

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Меломан1 , 29-Дек-17 08:47 
> Вы собираетесь майнить на машине, которая двигает жд стрелки или поднимает-опускает стержни
> в реакторе?

Страшно? Представь сколько криптовалюты придется выложить Рогозину прокурорам...


"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Аноним , 29-Дек-17 09:28 
Зачем бы ему это делать?

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Меломан1 , 29-Дек-17 12:34 
Его очередь подошла садиться.

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Аноним , 28-Дек-17 21:43 
Здесь нет предмета для обсуждения. Данная Siemens технология ориентирована на real-time. Хотя 99% пищуших здесь"профессионалов" понятия об этом не имеют.

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено pavlinux , 29-Дек-17 00:15 
Профик, код видел?


spin_lock(&cell->mmio_region_lock);
...
/*
* If this CPU is last, make sure everything was committed before we
* signal the other CPUs spinning on initialized_cpus that they can
* continue.
*/

memory_barrier();
...
spin_unlock(&cell->mmio_region_lock);


Как думашь, "make sure", "that they can continue" это реалтаймовые термины?
Ожидание сброса кэша внутри блокировки на SMP бурбуляторе (особо x86) это да, реалтаймней не придумашь.  


"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Аноним , 29-Дек-17 07:42 
> Как думашь, "make sure", "that they can continue" это реалтаймовые термины?
> Ожидание сброса кэша внутри блокировки на SMP бурбуляторе (особо x86) это да,
> реалтаймней не придумашь.

это мягкое, либеральное реальное время


"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено pavlinux , 29-Дек-17 18:28 
> это мягкое, либеральное

:D  



"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено Аноним , 30-Дек-17 13:22 
Android?

"Компания Siemens выпустила гипервизор Jailhouse 0.8"
Отправлено username , 01-Янв-18 23:30 
Что вы за люди такие. Ну спросите у мастеров зачем биндят процессы к конкретному цпу, зачем пишут свою реализацию сетевого стека под linux и прочее. В принципе самому не сложно понять.
Здесь почти правильно высказались, такой дизайн нужен для среднего между реалтаймом и обычной работой с планировщиком и мультиядрами. Да, ни туда ни сюда.