Download presentation
Presentation is loading. Please wait.
1
DetNet Bounded Latency-02
draft-finn-detnet-bounded-latency-02 Norman Finn, Jean-Yves Le Boudec, Ehsan Mohammadpour, Huawei EPFL EPFL Jiayi Zhang, János Farkas, Balázs Varga Huawei Ericsson Ericsson IETF 103 DetNet WG Bangkok, 8 November, 2018 7/16/2018
2
A reminder to new attendees …
DetNet is about an upper bound on end-to-end latency – not low average latency. Bounded latency leads to the ability to compute exactly how many buffers are required to achieve zero congestion loss. Feedback that slows down flows to avoid congestion is not an option for the application space of interest to DetNet. Mathematically sound assurances can be given on latency and congestion loss. 7/16/2018
3
Major changes from -01 to -02
The intent of the document, abstract and section 1, has been clarified. Clause 5 was reorganized. The queuing model in 7.1, Figure 3, has been expanded to show the regulators, the output queues, and the non-DetNet queues. The detailed descriptions of an 802.1Q bridge’s queuing mechanisms, in Figure 4 and Figure 5 of -01, have been replaced by simple textual descriptions of frame preemption and time scheduled queuing. A mathematical description of IntServ queuing has been added (7.5 in -02). A new section 8 has been added to describe time-based queuing techniques including Cyclic Queuing and Forwarding (8.1) and Time Scheduled Queuing (8.2). 7/16/2018
4
Two different problems to be solved
Any given application may be interested in one, the other, or both of: The Static problem: Given the complete set of DetNet flows to be accommodated by a network, their paths and bandwidth characterizations, compute the worst-case latency that can be experienced by each flow, and the buffer requirements in each relay node to guarantee zero congestion loss. The Dynamic problem: Given a network whose total capacity is limited by some set of configured parameters, and given only one DetNet flow, its path and bandwidth characterization, compute its worst-case latency and the per-relay node buffer requirements that can be guaranteed no matter what other DetNet flows may be subsequently created (subject always to the network capacity). 7/16/2018
5
At present (bounded-latency-02)
The Static problem is described in the mathematical sections of the text (e.g. sections 5.2, 7.4, 7.5). The Dynamic problem is described in the non-mathematical sections of the text (e.g. sections 1, 4.1, 9.2). This will be clarified in version -03. 7/16/2018
6
4.2. Relay system model [updates]
Output delay Link delay Preemption delay Processing delay Regulation delay Queuing subsystem delay 1 Queuing subsystem Regulator DetNet relay node A DetNet relay node B 6 5 4 2,3 7/16/2018
7
End-to-end latency bound calculation
E2E Delay = sum(non-queuing delay) + sum(queuing delay) = sum (1,2,3,4) at each node + sum (5,6) at each node 1 Queuing subsystem Regulator DetNet relay node A DetNet relay node B 6 5 4 2,3 11/8/2018
8
Non-queuing delay The sum of delays 1,2,3, and 4 at every node.
An upper bound on it is technology specific. An upper bound on it is independent of flow specification. 1 Queuing subsystem Regulator DetNet relay node A DetNet relay node B 6 5 4 2,3 11/8/2018
9
Queuing delay Two queuing strategies: Per-flow Queuing:
Each flow is using its own separate queue. Per-class Queuing: Each class of service has its own separate queue. Multiple flows sharing same queue 11/8/2018
10
Per-flow queuing Separate queue for each flow Example: IntServ
Obtain per-flow per-node and end-to-end delay bound using: Abstraction of a node with guaranteed delay and rate Information on traffic specification for the flow Flow 1 Flow 2 Flow 3 Flow 4 11/8/2018
11
Per-class queuing Separate queue for each class
Example: Time-Sensitive Networking (TSN) Flow 1, Class A Flow 2, Class A Flow 3, Class B Flow 4, Class B Class A Class B 11/8/2018
12
Per-class queuing Key issue: burstiness cascade;
Individual flows that share a resource dedicated to a class may see their burstiness increase. Cause increased burstiness to other flows downstream of this resource. Hardness of calculation of end-to-end delay bound. Even if a bound is calculated, it is dependent to all the flows. Addition of a flow requires recalculation of the the delay bounds. Solution: Reshaping at every node, like interleaved regulator Flow 1, Class A Flow 2, Class A Flow 3, Class B Flow 4, Class B Class A Class B 11/8/2018
13
4.2. Relay system model [updates]
Output delay Link delay Preemption delay Processing delay Regulation delay Queuing subsystem delay 1 Queuing subsystem Regulator DetNet relay node A DetNet relay node B 6 5 4 2,3 7/16/2018
14
Per-flow end-to-end queuing delay calculation (IntServ)
Each node 𝑖 guarantees rate 𝑅 𝑖 and delay 𝑇 𝑖 to flow 𝑓. Traffic of flow 𝑓 during time 𝑡 is bounded by 𝛼 𝑡 =𝑟 𝑡+𝑏. End-to-end delay bound for flow 𝑓: 𝐷=𝑇+ 𝑏 𝑅 ; 𝑇= 𝑖=1 𝐾 𝑇 𝑖 , 𝑅= min 1≤𝑖≤𝑘 𝑅 𝑖 1 2 3 4 k-1 k 𝑓 ( 𝑅 1 , 𝑇 1 ) ( 𝑅 2 , 𝑇 2 ) ( 𝑅 3 , 𝑇 3 ) ( 𝑅 4 , 𝑇 4 ) ( 𝑅 𝑘−1 , 𝑇 𝑘−1 ) ( 𝑅 𝑘 , 𝑇 𝑘 ) 11/8/2018
15
7.5. IntServ In Integrated service (IntServ), reservation is made along a path for flows, only if routers are able to guarantee the required bandwidth and buffer. IntServ is an example of per-flow regulation. Input flow conforms to token bucket regulator (r, b) IntServ node provides rate-latency service (R, T) Delay/buffer bound is the maximum horizontal/vertical distance between arrival curve and service curve, as shown in the figure. Delay bound = 𝑇+𝑏/𝑅 Buffer bound = 𝑏+𝑟𝑇 For end-to-end delay bound, we use concatenated service curve Delay bound = 𝑇 𝑒2𝑒 +𝑏/ 𝑅 𝑒2𝑒 R, T: Influenced by other prioritized flow on this node Buffer bound = 𝑏+𝑟𝑇. Delay bound = 𝑇+𝑏/𝑅 Arrival curve 𝛼(𝑡)=𝑏+𝑟𝑡 Service curve 𝛽(𝑡) = max(0, 𝑅(𝑡−𝑇)) In Integrated service (IntServ), a flow must conform to a traffic specification (T-spec), and reservation is made along a path · For any time period t, the incremental arrival data should be no more than the value given by an arrival curve a(t)=b+rt · For IntServ node, reservation is made for a flow. It guarantee that service rate R, which is a share of link’s bandwidth. R is influenced by the interference of other flows. A node also guarantees that the flow wait no more than T, where the T is related to the specification of all the flows traversing this node. As we can see, other resource-reserved flows traversing the node influence the choice of R and T, thus influence the delay at every hop. Then we can compute the delay and buffer bound, by using the arrival curve and service curves. Delay/buffer bound is the maximum horizontal/vertical distance between arrival curve and service curve, as shown in the figure. So far we get the per-hop delay. For end-to-end delay on a reservation path, we concatenate many per-hop service curves along a routing path. Then we would replace the red line, per-hop service curve, with the concatenated service curve. One can get the end-to-end delay bound. Note that the service curve parameters are influenced by the other flow that reserve bandwidth at this node. Per-hop bound End-to-end bound where 𝑅 𝑒2𝑒 = min 𝑅 1 ,…, 𝑅 𝑁 , 𝑇 𝑒2𝑒 = 𝑇 1 +…+ 𝑇 𝑁 7/16/2018
16
Per-class end-to-end delay calculation (TSN)
End-to-end delay bound for flow 𝑓: 𝐷= 𝐶 1,2 + 𝐶 2,3 +…+ 𝐶 𝑘−2,𝑘−1 + 𝑆 𝑘−1 1 2 3 4 k-1 k 𝐶 1,2 𝐶 2,3 𝐶 3,4 𝐶 4,5 𝐶 𝑘−2,𝑘−1 𝑆 𝑘−1 𝑓 R Q R: Regulator Q: Queuing Subsystem 11/8/2018 Ref: [Mohammadpour, Stai, Mohiuddin, Le boudec, 2018]
17
Interleaved regulator is for free i. e
Interleaved regulator is for free i.e. does not increase worst-case end-to-end latency! Define: 𝐶 𝐴𝐵 = sup ( 6 𝐴 + 1 𝐴 + 2 𝐴 + 3 𝐴 )+ 4 𝐵 + 5 𝐵 𝑆 𝐴 = sup 6 𝐴 + 1 𝐴 + 2 𝐴 + 3 𝐴 Directly From [Le boudec, 2018]: 𝐶 𝐴𝐵 = 𝑆 𝐴 1 Queuing subsystem Regulator DetNet relay node A DetNet relay node B 6 5 4 2,3 𝑆 𝐴 11/8/2018 𝐶 𝐴𝐵
18
8. Time-based DetNet QoS The calculus used in section 7 does not apply, except perhaps at the edges. Packets are output according to some kind of repeating schedule. Two methods have been standardized in IEEE 802.1: Cyclic Queuing and Forwarding (CQF, IEEE Std 802.1Qch-2017). Scheduled Traffic (IEEE Std 802.1Qbv-2015, called “time- scheduled queuing” in draft-finn-detnet-bounded-latency-02). 7/16/2018
19
8.1 Cyclic Queuing and Forwarding
Two-buffer version: Two buffers per port. Input and output buffers swap at the same moment, once every cycle, period TC. Small guard band to allow for transit and forwarding time. All relay nodes are synchronized and swap buffers at the same moment. Cycle time TC > transit time + forwarding time + clock inaccuracy + max data transmit time. 7/16/2018
20
8.1 Cyclic Queuing and Forwarding
Two-buffer version: Two buffers per port. Input and output buffers swap at the same moment, once every cycle, period TC. Small guard band to allow for transit and forwarding time. All relay nodes are synchronized and swap buffers at the same moment. Cycle time TC > transit time + forwarding time + clock inaccuracy + max data transmit time. TICK! 7/16/2018
21
8.1 Cyclic Queuing and Forwarding
Two-buffer version: Two buffers per port. Input and output buffers swap at the same moment, once every cycle, period TC. Small guard band to allow for transit and forwarding time. All relay nodes are synchronized and swap buffers at the same moment. Cycle time TC > transit time + forwarding time + clock inaccuracy + max data transmit time. TICK! 7/16/2018
22
8.1 Cyclic Queuing and Forwarding
Three-buffer version: Three buffers per port. Same as two- buffer version, but input buffer swap is out-of-phase with output buffer swap to allow for arbitrary link delay. 7/16/2018 7/16/2018 22
23
8.1 Cyclic Queuing and Forwarding
Three-buffer version: Three buffers per port. Same as two- buffer version, but input buffer swap is out-of-phase with output buffer swap to allow for arbitrary link delay. TICK! 7/16/2018 7/16/2018 23
24
8.1 Cyclic Queuing and Forwarding
Three-buffer version: Three buffers per port. Same as two- buffer version, but input buffer swap is out-of-phase with output buffer swap to allow for arbitrary link delay. TICK! 7/16/2018 7/16/2018 24
25
8.1 Cyclic Queuing and Forwarding
Three-buffer version: Three buffers per port. Same as two- buffer version, but input buffer swap is out-of-phase with output buffer swap to allow for arbitrary link delay. TICK! 7/16/2018 7/16/2018 25
26
8.1 Cyclic Queuing and Forwarding
Three-buffer version: Three buffers per port. Same as two- buffer version, but input buffer swap is out-of-phase with output buffer swap to allow for arbitrary link delay. TICK! 7/16/2018 7/16/2018 26
27
8.1 Cyclic Queuing and Forwarding
Three-buffer version: Three buffers per port. Same as two- buffer version, but input buffer swap is out-of-phase with output buffer swap to allow for arbitrary link delay. TICK! 7/16/2018 7/16/2018 27
28
8.1 Cyclic Queuing and Forwarding
Three-buffer version: Three buffers per port. Same as two- buffer version, but input buffer swap is out-of-phase with output buffer swap to allow for arbitrary link delay. TICK! 7/16/2018 7/16/2018 28
29
8.1 Cyclic Queuing and Forwarding
Computing the delay is much simpler than the calculus used in bucket/credit schemes: every packet spends two or three cycles TC at each hop, plus an integral number of cycles TC (maybe 0) in transit and forwarding delay per hop. Resource allocation is trivial: total bandwidth cannot exceed that which can be transmitted in one cycle. Multiple buffer sets with different cycle times can run on a single port to supply different classes of service.
30
8.2 Time-schedule queuing
Every output queue has a gate, controlled by a rotating schedule with (maximum) 1 nanosecond precision, from a synchronized clock. This solution is different from all others in the draft, in that bandwidth can be multiplexed in time. DetNet flows are not assumed to run continuously.
31
8.2 Time-schedule queuing
Good news: Scheduling every transmission with simultaneous optimization for latency, buffer space, jitter, interference with best-effort traffic, and any other QoS parameter you can name. Bad news: 802.1Qbv, at present, supports only 8 scheduled queues. Computing a schedule for the network is an NP-complete problem, although practical algorithms are in use, today.
32
QUESTION It is the intention of the authors that draft-finn-detnet-bounded- latency be adopted by the Working Group, to become normative text for how one can provide the bounded latency and zero congestion loss using already-published standards. Is this draft headed in the right direction? 7/16/2018
33
References [1] J.-Y. Le Boudec, “A Theory of Traffic Regulators for Deterministic Networks with Application to Interleaved Regu- lators,” arXiv: [cs], Jan [Online]. Available: (Accessed:09/02/2018). [2] E. Mohammadpour, E. Stai, M. Mohiuddin, and J.-Y. Le Boudec, “ End-to-end Latency and Backlog Bounds in Time-Sensitive Networking with Credit Based Shapers and Asynchronous Traffic Shaping,” arXiv: [cs.NI], [Online]. Available: https: //arxiv.org/abs/ / 7/16/2018
34
Thank you 7/16/2018
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.