Embedded real-time devices for monitoring, controlling, and collaboration purposes in cyber-physical systems are now commonly equipped with IP networking capabilities. However, the reception and processing of IP packets generates workloads in unpredictable frequencies as networks are outside of a developer's control and difficult to anticipate, especially when networks are connected to the internet. As of now, embedded network controllers and IP stacks are not designed for real-time capabilities, even when used in real-time environments and operating systems. Our work focuses on real-time aware packet reception from open network connections, without a real-time networking infrastructure. This article presents two experimentally evaluated modifications to the IP processing subsystem and embedded network interface controllers of constrained IoT devices. The first, our software approach, introduces early packet classification and priority-aware processing in the network driver. In our experiments this allowed the network subsystem to remain active at a seven-fold increase in network traffic load before disabling the receive interrupts as a last resort. The second, our hardware approach, makes changes to the network interface controller, applying interrupt moderation based on real-time priorities to minimize the number of network-generated interrupts. Furthermore, this article provides an outlook on how the software and hardware approaches can be combined in a co-designed packet receive architecture.
翻译:用于监控、控制与协作的信息物理系统中的嵌入式实时设备,现普遍具备IP网络通信能力。然而,IP数据包的接收与处理会在不可预测的频率下产生工作负载——由于网络超出开发者的控制范围且难以预判(尤其在连接互联网时)。当前,即便在实时环境与操作系统中使用,嵌入式网络控制器与IP协议栈仍未针对实时性进行设计。本研究聚焦于无需实时网络基础设施、从开放网络连接中实现实时感知的数据包接收。本文提出两种经实验验证的改进方案,分别针对受限物联网设备的IP处理子系统与嵌入式网络接口控制器。第一种软件方案在网络驱动中引入早期数据包分类与优先级感知处理。实验中,该方案使网络子系统的持续工作负载能力提升至原有的七倍,才需终止接收中断作为最后手段。第二种硬件方案通过修改网络接口控制器,基于实时优先级实施中断调节,最大程度减少网络产生的中断数量。此外,本文展望了软硬件方案在协同设计的数据包接收架构中的融合路径。