RT-расширенный стек Linux нацелен на передачу данных

Enea объединила свою ОС OSEck RTOS с Linux, чтобы сформировать стек программного обеспечения для виртуализации LightWeight RunTime (LWRT), предназначенный для телекоммуникационного и сетевого оборудования.

Базирующаяся в Швеции Enea известна своим телекоммуникационным и сетевым промежуточным программным обеспечением, основанным на ОСРВ Enea OSEck, но годами заигрывает с Linux.
Еще в 2006 году компания начала продавать встраиваемые Linux-стеки на базе MontaVista Linux для тех клиентов, которые хотели смешать продукты Linux и OSEck в своих продуктовых предложениях.
В 2011 году компания представила дистрибутив Linux на основе Timesys, связанный с процессорами NetLogic Microsystems.
В последние годы компания выпустила полноценный встроенный дистрибутив Enea Linux на основе кода проекта Yocto.

Как и Enea Linux 3.0, новый Enea LWRT ориентирован на поддержку Linux в режиме реального времени.
Enea LWRT в первую очередь нацелена на базовые станции сотовой связи и медиашлюзы, которым требуются функции реального времени, такие как детерминизм, минимальная задержка прерывания и высокая пропускная способность, говорит компания.
Говорят, что решение оптимизировано для интеграции Linux с OSEck от Enea.


Архитектура Enea «LightWeight RunTime» (LWRT)

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

Эта технология использует методы изоляции процессора / ядра для реализации среды выполнения, содержащейся в одном потоке пространства пользователя Linux.
Разделение ядра в многоядерной системе позволяет назначать выделенные ядра для выполнения задач в реальном времени в отрыве от задач не в реальном времени.
«Это помогает [принести] клиентам детерминированную среду Linux и дает им оптимальное использование оборудования и производительность приложений», - говорит Энеа.

С помощью Enea LWRT OSEck выполняет большинство облегченных задач планирования и IPC в приложениях реального времени, в то время как Linux используется для функций реального времени только тогда, когда требуется истинное вытеснение из-за прерывания, объясняет компания.
Enea LWRT использует функцию «без галочек» ядра Linux, которая, как говорят, предотвращает тиковые прерывания на изолированных процессорах, тем самым уменьшая задержку.
Между тем, API-интерфейсы пользовательского пространства LWRT помогают избежать замедления вызовов ядра Linux.
Стек Enea Linx IPC используется для передачи сигналов OSEck между экземплярами LWRT на разных процессорах.



LWRT по сравнению с PREEMPT_RT и Pthreads

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

Enea рекламирует свои тесты, которые, как говорят, показывают среднюю задержку прерывания, сравнимую с использованием Linux с патчем PREEMPT_RT.
В худшем случае задержка почти вдвое ниже, а пропускная способность (netperf) почти вдвое выше, утверждает Enea.

Enea заявляет о себе как о «мировом лидере» в системном разделении Linux в отношении применения патча NO_HZ в коммерческом контексте.
Компания планирует продолжать инвестировать в общественные работы по проектам LWRT и «инвестировать в развитие LWRT и его применимость на более широком рынке.
В частности, планируется добавить POSIX API в Enea LWRT для оптимизации производительности и детерминизма при использовании его с OSEck.

Дальнейшая информация

Enea LWRT доступна уже сейчас.
Более подробную информацию можно найти на странице продукта Enea LWRT , а также в этой интересной PDF-слайде .