AGL раскрывает стек виртуализации для определенного программного обеспечения

Проект Automotive Grade Linux представил планы по созданию инфраструктуры виртуализации для своего автомобильного дистрибутива на основе Linux, который обеспечивает гибкую архитектуру шины смешанной критичности для подключения нескольких существующих гипервизоров и разделителей.

В августе прошлого года, когда проект Linux Foundation Automotive Grade Linux (AGL) выпустил версию 4.0 своего эталонного дистрибутива Unified Code Base (UCB) на базе Linux для автомобильной информационно-развлекательной системы, он также создал группу экспертов по виртуализации (EG-VIRT).
В настоящее время рабочая группа выпустила официальный документ с изложением «виртуализированной программно-определяемой архитектуры транспортного средства» для кодовой базы UCB AGL.
Инфраструктура включает в себя архитектуру шины, которая может охватывать как критические, так и некритические системы и может поддерживать различные открытые и проприетарные решения для виртуализации, работающие одновременно.

В техническом документе объясняется, как виртуализация является ключом к расширению AGL из IVI в комбинации приборов, HUD и телематики.
Технология виртуализации может защитить эти более критичные для безопасности функции от менее защищенных информационно-развлекательных приложений, а также снизить затраты за счет замены компонентов электронного оборудования виртуальными экземплярами.
Виртуализация может также обеспечить возможность конфигурирования во время выполнения для сложных автономных и полуавтономных приложений ADAS, а также упростить обновление программного обеспечения и оптимизировать соответствие критическим стандартам безопасности.


Мерседес Бенц

Vans Sprinter

Документ следует за несколькими недавними объявлениями AGL, включая новости о том, что Mercedes-Benz Vans использует свою платформу с открытым исходным кодом в качестве основы для новой бортовой ОС для коммерческих транспортных средств.
AGL будет играть ключевую роль в инициативе бизнес-подразделения Daimler «adVANce» по предоставлению «целостных транспортных решений». К ним относятся технологии для интеграции возможностей подключения, IoT, инновационное оборудование, концепции мобильности и аренды по требованию, а также решения по управлению автопарком для обоих товаров. и пассажиры.

Сделка с Mercedes-Benz последовала за прошлогодним объявлением о том, что AGL появится в автомобилях Toyota Camry 2018 года.
С тех пор AGL расширился до других автомобилей Toyota, включая Prius PHV 2018 года.

AGL также объявила о добавлении семи новых членов : Abalta Technologies, Airbiquity, Bose, EPAM Systems, HERE, Integrated Computer Solutions и своего первого китайского производителя автомобилей - Sitech Electric Automotive.
Новые члены доводят членство в AGL до более чем 120.

Открытый подход к виртуализации

Первоначально AGL предполагал, что EG-VIRT определит один гипервизор для будущей платформы виртуализации AGL, который поможет консолидировать информационно-развлекательные, кластерные, HUD и развлекательные приложения на заднем сиденье через единую многоядерную SoC.
Единственный гипервизор (такой как новый ACRN) может все же появиться как предпочтительная технология, но вместо этого в документе описывается архитектура, которая может поддерживать несколько одновременных схем виртуализации.
К ним относятся гипервизоры, системные разделители и, в меньшей степени, контейнеры.


Диаграмма структуры виртуализации AGL, показывающая взаимодействие гипервизоров, разделителей и контейнеров на одном транспортном средстве

(щелкните изображение, чтобы увеличить)

Виртуализация обеспечит то, что AGL называет «программно-определяемым средством» - гибким, масштабируемым «автономно подключенным автомобилем, функции которого можно настраивать во время выполнения». Помимо повышения безопасности, предлагаемая платформа виртуализации предлагает такие преимущества, как снижение затрат, гибкость времени исполнения для программно-определяемого автомобиля и поддержка систем со смешанной критичностью.

Преимущества виртуализации для программного обеспечения определяют автомобиль включают в себя:

  • Программно-определяемая автономная машина - AGL будет использовать виртуализацию, чтобы обеспечить возможность конфигурирования во время выполнения и обновления программного обеспечения, которые можно автоматизировать и выполнять удаленно.
    Система будет управлять несколькими приложениями, включая сложное программное обеспечение для автономного вождения, на основе различных лицензий, уровней безопасности и операционных систем.
  • Снижение затрат - Количество электронных блоков управления (ECU) - и сложность проводки - можно уменьшить, заменив многие ECU виртуальными экземплярами в одном многоядерном ECU.
    Кроме того, развертывание и обслуживание можно автоматизировать и выполнять удаленно.
    Однако EG-VIRT предупреждает, что существует ограничение на количество развертываемых виртуальных экземпляров и количество ресурсов, которые могут быть распределены между виртуальными машинами, не рискуя сложностью интеграции программного обеспечения.
  • Безопасность - благодаря разделению сред выполнения, таких как ЦП, память или интерфейсы, платформа обеспечит многоуровневую безопасность, включая защиту телематических компонентов, подключенных к шине CAN.
    При использовании технологии изоляции уязвимость в одном приложении не повлияет на другие.
    Кроме того, безопасность может быть улучшена с помощью удаленных обновлений патчей.
  • Смешанная критичность. Одна из причин, по которой операционные системы реального времени (ОСРВ), такие как QNX, удерживают лидерство в автомобильной телематике, заключается в том, что легче обеспечить высокие уровни критичности и соответствовать сертификации ASIL по ISO 26262. Linux может умело размещать технологии виртуализации для координации компонентов с различными уровнями критичности и разнородными уровнями безопасности, включая компоненты, управляемые RTOS.
    Поскольку многие методы виртуализации занимают очень ограниченное пространство, они могут упростить сертификацию ASIL, включая соответствие требованиям для одновременного выполнения систем с различными уровнями сертификации.

    Для IVI обычно требуется максимально базовая сертификация ASIL A.
    Комбинация приборов и телематика обычно требуют ASIL B, а более продвинутые функции, такие как ADAS и цифровые зеркала, требуют ASIL C или D. На этом этапе было бы трудно разработать программное обеспечение с открытым исходным кодом, которое можно было бы сертифицировать на более высоких уровнях, говорит EG -VIRT.
    Тем не менее, среда виртуализации AGL позволит использовать запатентованные решения для виртуализации, которые могут удовлетворить эти требования.
    В долгосрочной перспективе лаборатория разработки Open Source Automation (OSADL) работает над потенциальными решениями для Safety Critical Linux, которые могут помочь AGL соответствовать требованиям, использующим только Linux с открытым исходным кодом.

Создание открытого исходного кода

Эта статья включает в себя первые диаграммы архитектуры для развивающейся платформы виртуализации AGL.
Платформа координирует различные гипервизоры, виртуальные машины, профили AGL и автомобильные функции как взаимозаменяемые модули, которые можно подключить во время компиляции и, где это возможно, во время выполнения.
Фреймворк подчеркивает технологии с открытым исходным кодом, но также поддерживает взаимодействие с проприетарными компонентами.


Базовая архитектура виртуализации AGL (слева) и схема, показывающая схему шины смешанной критичности

(нажмите на картинку, чтобы увеличить)

Платформа приложений AGL уже поддерживает изоляцию приложений на основе пространств имен, cgroups и SMACK.
Инфраструктура «опирается на атрибуты безопасности файлов / процессов, которые проверяются ядром Linux каждый раз, когда выполняется действие, и которые хорошо работают в сочетании с методами безопасной загрузки», говорит EG-VIRT.
Тем не менее, когда необходимо выполнить несколько приложений с различными требованиями безопасности и защиты, «управление этими атрибутами безопасности становится сложным, и существует необходимость в дополнительном уровне изоляции, чтобы должным образом изолировать эти приложения друг от друга… Именно здесь AGL Платформа виртуализации входит в картину ».

Чтобы соответствовать требованиям EG-VIRT, совместимые аппаратные решения для виртуализации должны включать ЦП, кэш, память и прерывания для создания сред выполнения (EE), таких как расширения виртуализации Arm, Intel VT-x, AMD SVM и IOMMU.
Аппаратное обеспечение также должно поддерживать доверенный вычислительный модуль для изоляции критически важных приложений и активов.
К ним относятся Arm TrustZone, технология Intel Trusted Execution и другие.
Поддержка виртуализации ввода-вывода для графического процессора и общего доступа к подключению не является обязательной.

Платформе виртуализации AGL не нужно изобретать новые гипервизоры и EE, но нужен способ их взаимосвязи.
В настоящее время EG-VIRT начинает концентрироваться на разработке архитектуры коммуникационной шины с открытым исходным кодом, которая включает в себя как критические, так и некритические шины.
Архитектура обеспечит связь между различными технологиями виртуализации, такими как гипервизоры, и различными виртуализированными EE, такими как VT-x, а также обеспечит прямую связь между различными типами EE.

Потенциальные AGL-совместимые гипервизоры и разделители

В техническом документе AGL описывается несколько открытых и проприетарных кандидатов для гипервизора и системных разделителей.
Он не перечисляет никаких контейнеров, которые создают абстракцию, начиная со слоев выше ядра Linux.

Контейнеры не идеальны для большинства подключенных функций автомобиля.
Им не хватает гарантированной аппаратной изоляции или обеспечения безопасности, и хотя они могут запускать приложения, они не могут работать с полной ОС.
В результате AGL не будет рассматривать контейнеры для рабочих нагрузок, связанных с безопасностью и в реальном времени, а только в рамках систем, не связанных с безопасностью, таких как изоляция приложений IVI.

Гипервизоры, однако, могут удовлетворить все эти требования, а также оптимизированы для конкретных многоядерных SoC.
«Виртуализация обеспечивает наилучшую производительность с точки зрения безопасности, изоляции и накладных расходов при поддержке непосредственно аппаратной платформой», - говорится в техническом документе.

Для гипервизоров варианты с открытым исходным кодом, перечисленные EG-VIRT, включают Xen, виртуальную машину на основе ядра (KVM), микро-гипервизор L4Re и ACRN.
Последний был объявлен в марте как новый проект встроенного эталонного гипервизора Linux Foundation.
Поддерживаемый Intel, BSD-лицензированный гипервизор ACRN обеспечивает приоритезацию рабочей нагрузки и поддерживает функции реального времени и функции обеспечения безопасности.
Облегченный ACRN поддерживает другие встроенные приложения в дополнение к автомобилю.


Архитектура ACRN

(щелкните изображение, чтобы увеличить)

Коммерческие гипервизоры, которые, вероятно, получат поддержку в стеке виртуализации AGL, включают COQOS Hypervisor SDK, SYSGO PikeOS, а также Crucible и Nautilus на базе Xen.
Последний был впервые представлен проектом Xen в качестве потенциального решения для виртуализации AGL еще в 2014 году .
Есть также Мультивизор целостности программного обеспечения Green Hills.
Green Hills объявила о поддержке AGL для Integrity в начале этого месяца.

В отличие от гипервизоров, системные разделители не задействуют определенные функции виртуализации в многоядерных SoC, а вместо этого работают как голые решения.
Были перечислены только два варианта с открытым исходным кодом: Jailhouse и Arm Trusted Firmware (ATF) на основе Arm TrustZone.
Единственным коммерческим решением является VOSYSmonitor на основе TrustZone.

В заключение EG-VIRT отмечает, что этот первоначальный список потенциальных решений для виртуализации является «неисчерпывающим» и что «роль EG-VIRT была определена как интегратор технологий виртуализации, определяющий как ключевой следующий вклад в развитие коммуникационной шины эталонная реализация… »Кроме того:« Будущие действия EG-VIRT будут сосредоточены на этой связи, расширении поддержки AGL для виртуализации (как в качестве гостя, так и в качестве хоста), а также виртуализации устройств ввода-вывода (например, графического процессора). »

Эта статья защищена авторским правом © 2018 Linux.com и была первоначально опубликована здесь .
Он был воспроизведен этим сайтом с разрешения его владельца.
Пожалуйста, посетите Linux.com для получения последних новостей и статей о Linux и open source.