As the automotive industry transitions toward centralized Linux-based architectures, ensuring the predictable execution of mixed-criticality applications becomes essential. However, concurrent use of the Linux network stack introduces interference, resulting in unpredictable latency and jitter. To address this challenge, we present a layered software architecture that enforces timing isolation for Ethernet-based data exchange between mixed-criticality applications on Linux-based automotive control units. Our approach integrates traffic prioritization strategies at the middleware layer, the network stack layer, and the hardware layer to achieve isolation across the full software stack. At the middleware layer, we implement a fixed-priority, non-preemptive scheduler to manage publishers of varying criticality. At the network layer, we leverage the express data path (XDP) to route high-priority data directly from the network interface driver into critical application memory, bypassing the standard Linux network stack. At the hardware layer, we dedicate a network interface card (NIC) queue exclusively to real-time traffic. We demonstrate how our architecture performs in a Data Distribution Service (DDS)-based system. Our evaluation shows that the approach leads to consistent and predictable latencies for real-time traffic, even under heavy interference from best-effort applications.
翻译:随着汽车行业向基于Linux的集中式架构转型,确保混合关键性应用的可预测执行变得至关重要。然而,Linux网络栈的并发使用会引入干扰,导致不可预测的延迟和抖动。为应对这一挑战,本文提出一种分层软件架构,用于在基于Linux的汽车控制单元上为混合关键性应用之间的以太网数据交换强制实施时序隔离。我们的方法在中间件层、网络栈层和硬件层集成流量优先级策略,以实现跨完整软件栈的隔离。在中间件层,我们实现了一种固定优先级、非抢占式调度器来管理不同关键性的发布者。在网络层,我们利用快速数据路径(XDP)将高优先级数据直接从网络接口驱动程序路由至关键应用内存,绕过标准Linux网络栈。在硬件层,我们为实时流量专门分配一个网络接口卡(NIC)队列。我们在基于数据分发服务(DDS)的系统中展示了该架构的性能表现。评估结果表明,即使在尽力而为应用产生严重干扰的情况下,该方法仍能为实时流量带来一致且可预测的延迟。