In industrial real-time systems, the I/O operations are often required to be both timing predictable, i.e., finish before the deadline to ensure safety, and timing accurate, i.e., start at or close to an ideal time instant for optimal I/O performance. However, for I/O-extensive systems, such strict timing requirements raise significant challenges for the scheduling of I/O operations, where execution conflicts widely exist if the I/O operations are scheduled at their ideal time instants. Existing methods mainly focus on one I/O device and apply simple heuristics to schedule I/O operations, which cannot effectively resolve execution conflicts, hence, undermining both timing predictability and accuracy. This paper proposes novel scheduling and allocation methods to maximize the timing accuracy while guaranteeing the predictability of the system. First, on one I/O device, a fine-grained schedule using Mixed Integer Linear Programming (MILP) is constructed that optimizes the timing accuracy of the I/O operations. Then, for systems containing multiple I/O devices of the same type, two novel allocations are proposed to realize parallel timing-accurate I/O control. The first utilizes MILP to further improve the timing accuracy of the system, whereas the second is a heuristic that provides competitive results with low overheads. Experimental results show the proposed methods outperform the state-of-the-art in terms of both timing predictability and accuracy by 37% and 25% on average (up to 5.56x and 33%), respectively.
Read full abstract