Work in Progress: Middleware-Transparent Callback Enforcement in Commoditized Component-Oriented Real-time Systems
Abstract
Real-time scheduling in commoditized component-oriented real-time systems, such as ROS 2 systems on Linux, has been studied under nested scheduling: OS thread scheduling and middleware layer scheduling (e.g., ROS 2 Executor). However, by establishing a persistent one-to-one correspondence between callbacks and OS threads, we can ignore the middleware layer and directly apply OS scheduling parameters (e.g., scheduling policy, priority, and affinity) to individual callbacks. We propose a middleware model that enables this idea and implements CallbackIsolatedExecutor as a novel ROS 2 Executor. We demonstrate that the costs (user-kernel switches, context switches, and memory usage) of CallbackIsolatedExecutor remain lower than those of the MultiThreadedExecutor, regardless of the number of callbacks. Additionally, the cost of CallbackIsolatedExecutor relative to SingleThreadedExecutor stays within a fixed ratio (1.4x for inter-process and 5x for intra-process communication). Future ROS 2 real-time scheduling research can avoid nested scheduling, ignoring the existence of the middleware layer.
Cite
@article{arxiv.2505.06546,
title = {Work in Progress: Middleware-Transparent Callback Enforcement in Commoditized Component-Oriented Real-time Systems},
author = {Takahiro Ishikawa-Aso and Atsushi Yano and Takuya Azumi and Shinpei Kato},
journal= {arXiv preprint arXiv:2505.06546},
year = {2025}
}
Comments
4 pages, 5 figures. Accepted for IEEE RTAS 2025; this is the author-accepted manuscript. Final version in IEEE Xplore: https://doi.org/10.1109/RTAS65571.2025.00017