]> git.proxmox.com Git - mirror_iproute2.git/blob - man/man8/tc-pie.8
tc: pie: update man page
[mirror_iproute2.git] / man / man8 / tc-pie.8
1 .TH PIE 8 "16 January 2014" "iproute2" "Linux"
2 .SH NAME
3 PIE \- Proportional Integral controller-Enhanced AQM algorithm
4 .SH SYNOPSIS
5 .B tc qdisc ... pie
6 [
7 .B limit
8 PACKETS ] [
9 .B target
10 TIME ] [
11 .B tupdate
12 TIME ] [
13 .B alpha
14 int ] [
15 .B beta
16 int ] [
17 .B ecn
18 |
19 .B noecn
20 ] [
21 .B bytemode
22 |
23 .B nobytemode
24 ]
25
26 .SH DESCRIPTION
27 Proportional Integral controller-Enhanced (PIE) is a control theoretic active
28 queue management scheme. It is based on the proportional integral controller but
29 aims to control delay. The main design goals are
30 o Low latency control
31 o High link utilization
32 o Simple implementation
33 o Guaranteed stability and fast responsiveness
34
35 .SH ALGORITHM
36 PIE is designed to control delay effectively. First, an average dequeue rate is
37 estimated based on the standing queue. The rate is used to calculate the current
38 delay. Then, on a periodic basis, the delay is used to calculate the dropping
39 probabilty. Finally, on arrival, a packet is dropped (or marked) based on this
40 probability.
41
42 PIE makes adjustments to the probability based on the trend of the delay i.e.
43 whether it is going up or down.The delay converges quickly to the target value
44 specified.
45
46 alpha and beta are statically chosen parameters chosen to control the drop probability
47 growth and are determined through control theoretic approaches. alpha determines how
48 the deviation between the current and target latency changes probability. beta exerts
49 additional adjustments depending on the latency trend.
50
51 The drop probabilty is used to mark packets in ecn mode. However, as in RED,
52 beyond 10% packets are dropped based on this probability. The bytemode is used
53 to drop packets proportional to the packet size.
54
55 Additional details can be found in the paper cited below.
56
57 .SH PARAMETERS
58 .SS limit
59 limit on the queue size in packets. Incoming packets are dropped when this limit
60 is reached. Default is 1000 packets.
61
62 .SS target
63 is the expected queue delay. The default target delay is 15ms.
64
65 .SS tupdate
66 is the frequency at which the system drop probability is calculated. The default is 15ms.
67
68 .SS alpha
69 .SS beta
70 alpha and beta are parameters chosen to control the drop probability. These
71 should be in the range between 0 and 32.
72
73 .SS ecn | noecn
74 is used to mark packets instead of dropping
75 .B ecn
76 to turn on ecn mode,
77 .B noecn
78 to turn off ecn mode. By default,
79 .B ecn
80 is turned off.
81
82 .SS bytemode | nobytemode
83 is used to scale drop probability proportional to packet size
84 .B bytemode
85 to turn on bytemode,
86 .B nobytemode
87 to turn off bytemode. By default,
88 .B bytemode
89 is turned off.
90
91 .SH EXAMPLES
92 # tc qdisc add dev eth0 root pie
93 # tc -s qdisc show
94 qdisc pie 8036: dev eth0 root refcnt 2 limit 1000p target 15.0ms tupdate 16.0ms alpha 2 beta 20
95 Sent 31216108 bytes 20800 pkt (dropped 80, overlimits 0 requeues 0)
96 backlog 16654b 11p requeues 0
97 prob 0.006161 delay 15666us avg_dq_rate 1159667
98 pkts_in 20811 overlimit 0 dropped 80 maxq 50 ecn_mark 0
99
100 # tc qdisc add dev eth0 root pie limit 100 target 20ms tupdate 30ms ecn
101 # tc -s qdisc show
102 qdisc pie 8036: dev eth0 root refcnt 2 limit 100p target 20.0ms tupdate 32.0ms alpha 2 beta 20 ecn
103 Sent 6591724 bytes 4442 pkt (dropped 27, overlimits 0 requeues 0)
104 backlog 18168b 12p requeues 0
105 prob 0.008845 delay 11348us avg_dq_rate 1342773
106 pkts_in 4454 overlimit 0 dropped 27 maxq 65 ecn_mark 0
107
108 # tc qdisc add dev eth0 root pie limit 100 target 50ms tupdate 30ms bytemode
109 # tc -s qdisc show
110 qdisc pie 8036: dev eth0 root refcnt 2 limit 100p target 50.0ms tupdate 32.0ms alpha 2 beta 20 bytemode
111 Sent 1616274 bytes 1137 pkt (dropped 0, overlimits 0 requeues 0)
112 backlog 13626b 9p requeues 0
113 prob 0.000000 delay 0us avg_dq_rate 0
114 pkts_in 1146 overlimit 0 dropped 0 maxq 23 ecn_mark 0
115
116 .SH SEE ALSO
117 .BR tc (8),
118 .BR tc-codel (8)
119 .BR tc-red (8)
120
121 .SH SOURCES
122 o RFC 8033: https://tools.ietf.org/html/rfc8033
123
124 .SH AUTHORS
125 PIE was implemented by Vijay Subramanian and Mythili Prabhu, also the authors of
126 this man page. Please report bugs and corrections to the Linux networking
127 development mailing list at <netdev@vger.kernel.org>.