Abstract

Cyclic Queuing and Forwarding (CQF) is a mechanism defined by IEEE TSN for providing low jitter in a deterministic network. CQF uses a common time cycle and two buffers per node output port: during one cycle incoming packets are stored in one buffer while packets in the other buffer are being transmitted; at the end of a cycle, the roles of the two buffers are exchanged. The cycle start times are determined by a time offset that may be different for every output buffer. A guard band at both cycle ends is devised in order to compensate for misalignment and timing inaccuracies. The proper operation of CQF requires that the guard band and the offsets are computed such that nodes are sufficiently time-aligned. First, we give necessary and sufficient conditions for this to be guaranteed. The sufficient conditions lend themselves to tractable computations and we show that they are close to optimal. Our conditions account for nonideal clocks and non-zero propagation times; we show that accounting for these two elements does matter. Second, we give a method for computing the minimal duration of the guard band, given prior choices of time offsets. Third, a judicious choice of time offsets can considerably decrease the required duration of the guard band: we give a practical algorithm, based on a Mixed Integer Linear Program, for computing offsets that minimize the guard band. We illustrate our results on several CQF network topologies with or without cyclic dependencies.

Details