OpenMP-RT: Pragma Support for Scheduling Periodic Real-Time Tasks
摘要
The computational demand for real-time control systems has significantly increased, particularly with the use of machine learning, which has been met by higher core counts on embedded architectures. Mainstream programming languages support such parallelism for general purpose programming, but they lack native support for expressing parallelism under real-time constraints. While external tools and real-time operating systems offer temporal guarantees, they often fall short in providing integrated, language-level constructs for both coarse- and fine-grained parallelism. OpenMP is a natural candidate for this role, but lacks support for real-time scheduling and synchronization under deadline constraints. This work introduces OpenMP-RT to raise a discussion for inclusion in the OpenMP standard. OpenMP-RT is a framework that extends OpenMP to support real-time periodic tasks and predictable inter-task communication. We identify the limitations of standard OpenMP for real-time applications and explore potential extensions to the OpenMP 5.1 specification to address these gaps. Our framework introduces a new task construct, rttask, and a configuration-driven specification model. OpenMP-RT enables time-predictable, lock-free communication across priority levels and supports both static-priority and EDF scheduling. We have implemented OpenMP-RT in the LLVM C compiler under OpenMP 5.1 and analyzed its performance in terms of deadlines and real-time synchronization.