Enea has paired its OSEck RTOS with Linux, to form a LightWeight RunTime (LWRT) virtualization software stack that targets telecom and networking equipment.
Sweden-based Enea is known for its telecom and networking middleware based on the Enea OSEck RTOS, but it has flirted with Linux for years. Back in 2006, it began selling embedded Linux stacks based on MontaVista Linux for those customers who wanted to mix Linux and OSEck products in their product offerings. In 2011, the company introduced a Timesys-based Linux distro linked to NetLogic Microsystems processors. In recent years, it launched a full-fledged Enea Linux embedded distribution based on Yocto Project code.
Like Enea Linux 3.0, the new Enea LWRT focuses on real-time Linux support. Enea LWRT is primarily aimed at cellular base stations and media gateways that require real-time features like determinism, minimal interrupt latency, and high throughput, says the company. The solution is said to be optimized for integrating Linux with Enea’s OSEck.
Enea’s “LightWeight RunTime” (LWRT) architecture
(click image to enlarge)
The technology makes use of CPU/core isolation techniques to implement an execution environment contained in one Linux user space thread. Core partitioning on a multicore system enables dedicated cores to be assigned to performing real-time tasks in separation from non-real-time tasks. “This helps [bring] customers a deterministic Linux environment, and gives them optimal hardware utilization and application performance,” says Enea.
With Enea LWRT, OSEck handles most of the lightweight scheduling and IPC tasks within real-time applications, while Linux is used for real-time functions only when true preemption is required, due to an interrupt, explains the company. Enea LWRT exploits the Linux kernel’s “tickless” feature, which is said to avoid tick interrupts on isolated CPUs, thereby reducing latency. Meanwhile, the LWRT user-space APIs help avoid slowdowns from Linux kernel calls. Enea’s Linx IPC stack is used to transfer OSEck signals between LWRT instances on different CPUs.
LWRT compared to PREEMPT_RT and Pthreads
(click images to enlarge; source: Enea)
Enea touts its benchmarks, which are said to reveal an average interrupt latency comparable to using Linux with the PREEMPT_RT patch. In the worst case, latency is almost half as low, and throughput (netperf) is almost twice as high, claims Enea.
Enea bills itself as “a world leader” in Linux system partitioning in regard to applying the NO_HZ patch in a commercial context. The company plans to continue to invest in community work on LWRT projects and “invest into the evolution of LWRT and its applicability to a wider market. In particular, it plans to add POSIX APIs to Enea LWRT for optimizing performance and determinism when using it with OSEck.