This paper describes the design and performance of a realtime I/O (RIO) subsystem that supports real-time applications running on off-the-shelf hardware and software. This paper provides two contributions to the study of real-time I/O subsystems. First, it describes how RIO supports end-to-end, prioritized traffic to bound the I/O utilization of each priority class and eliminates the key sources of priority inversion in I/O subsystems. Second, it illustrates how a real-time I/O subsystem can reduce latency bounds on end-to-end communication between high-priority clients without unduly penalizing low-priority and best-effort clients.
Fred Kuhns, Douglas C. Schmidt, David L. Levine