ADDRESSING PERFORMANCE-FEATURE TRADE-OFFS ON MULTICORE DEVICES
Standard Linux is not well suited for real-time applications. So when the ecosystem and rich feature set of Linux is desired in combination with strict real-time requirements, an accelerated Linux solution provides a runtime without trade-offs between features and performance.
We have developed a framework for real-time acceleration on multicore devices using a dual operating system partitioning approach. It combines a standard SMP Linux kernel with a real-time SMP executive. Based on the framework we deliver fully integrated and deployment-ready solutions for standard and customized multicore platforms.
REAL-TIME ACCELERATED LINUX SOLUTIONS
Our optimized real-time accelerated Linux solutions are based on Enea Linux and an SMP micro-kernel executive. A type 1 hypervisor vertically partitions homogenous multicore devices providing strong and clean isolation between the Linux domain and the real-time domain. It also enables direct hardware access from applications running in the real-time domain, providing uncompromised real-time characteristics.
COMMERCIALLY SUPPORTED MULTICORE OS SOLUTIONS
We provide long-term commercial support for all the real-time accelerated Linux solutions we build. We do not just support and maintain the components but the entire solution as such.
All solutions we build are extensively tested and validated to ensure full production quality, also for mission critical designs. A fully integrated and optimized solution delivery reduces risks in development projects and shortens time-to-market. Fully supported and with maintenance and security updates provided by us, not just for the components but also for the integrated solution as such, it also reduces product lifecycle risks and the total-cost-of-ownership.
Solutions built on our framework are independent of the number of available cores in the SoC. Deployed on homogenous multicore processors, it allows full flexibility for how to partition the cores between real-time and Linux domains. Cores can be assigned to either domain (Linux or real-time executive) based on the needs for the application. This makes it possible to easily change the configuration to match new requirements or new hardware platforms.
NO BLACK BOXES
Unlike some other approaches to enable Linux with real-time (i.e. core isolation) with "black boxes" that cannot be debugged in the runtime environment, our framework supports full debug and profiling capabilities of the real-time domain.
Enabled by fast zero-copy IPC between the Linux domain and the real-time domain, both partitions can share a number of services such as file system and debug channels as well as hardware resources. The ability to share resources allows better resource utilization.
The framework targets real-time accelerated Linux solutions on ARMv8 and x86 homogenous multicore processors. A reference implementation is available for Xilinx Zynq Ultrascale+.
Other targeted processors include:
- Xilinx Zynq Ultrascale
- Xilinx Zynq 70xx
- Altera Stratix 10
- Intel Denverton
- NXP i.MX
- NXP LayerScape LS20XX
- TI Sitara
- NXP B4860
- Nvidia Tegra
Real-time accelerated Linux solutions offers benefits including:
- Standard Linux/POSIX API
- Portable and future-proof
- Hardware platform independent
- Independent of number of cores
- Deployment flexibility
- High determinism (low latency and jitter)
- High availability