Steal task scheduling from OS: enabling task-network co-schedule for time-critical traffic

2021 
Real-Time Ethernet (RT Ethernet) such as Time-Sensitive Networking and Time-Triggered Ethernet is widely deployed in the distributed real-time systems such as aerospace, automotive and industrial domains\cite{craciunas2016combined}. Typically, there are many sensoring-computing-actuating Control Loops (CL) requiring real-time and deterministic end-to-end communication. From the network perspective, these CLs work as follow. The sensor generates sensoring traffic periodically to the computing node (i.e. the end system) via RT Ethernet. Then the computing node executes the corresponding task and generates actuating traffic to the actuator. Finally, the actuator receives the traffic and executes the actions accordingly. Sensoring and actuating traffic are both Time-critical (TC) traffic. In order to achieve end-to-end determinism in the loop, the deterministic and real-time process on the end system must be guaranteed. In another word, the task running on the Operating System (OS) of the end system must be scheduled with tight dependency towards the underlying network scheduling decision. Traditionally, the task scheduling strategy on the OS is asynchronous with the underlying network (i.e. frame scheduling). This may incur great uncertainty in the scenario where end-to-end determinism must be achieved. The main reason behind is that the local time of the OS is out of sync with the network whose time is synchronized by sophisticated time synchronization protocols like PTP \cite{2006NTP}. In order to address this issue, a natural solution would be synchronizing the OS time with the whole network (e.g., integrating PTP into kernel). Moreover, a special scheduling mechanism should also be implemented which takes the packet arrival info into account. However, this requires massive modifications to the kernel and may incur compatibility issues when integrating with different types of the underlying network \cite{yan2020tsn}. What's more, Commercial-off-the-shelf (COTS) end systems are more adopted in modern real-time system to reduce the cost and shorten the development period \cite{pellizzoni2008coscheduling}. So it is hard to introduce fundamental changes to the key components of COTS systems. In this poster, we aim to tackle this problem from a different perspective. Specifically, we suggest that by carefully scheduling packets from the ingress engine of the NIC, a task-network co-scheduling can be achieved, which eliminates the necessity of the modification to the task scheduling mechanism on the OS completely. For this purpose, we introduce Frame-Task Co-Scheduling (FTCS), a mechanism that enables co-scheduling of task and network on COTS end systems. FTCS steals task scheduling from OS through time-triggered frame schedule and submission. The potential benefits are as follows. Firstly, FTCS achieves tight co-scheduling of critical task and traffic without any modification of software and hardware on COTS devices. Secondly, OS time on the end system does not need to synchronize with the network. Because the entity executing FTCS will synchronize with network global time. Thus, even if the frequency and phase shift are unmatched , co-scheduling can still be achieved.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    3
    References
    0
    Citations
    NaN
    KQI
    []