]>
Commit | Line | Data |
---|---|---|
8c452755 MP |
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, | |
a89d5329 | 52 | beyond 10% packets are dropped based on this probability. The bytemode is used |
8c452755 MP |
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 20ms. | |
64 | ||
65 | .SS tupdate | |
66 | is the frequency at which the system drop probability is calculated. The default is 30ms. | |
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 8034: dev eth0 root refcnt 2 limit 200p target 19000us tupdate 29000us alpha 2 beta 20 | |
95 | Sent 7443524 bytes 7204 pkt (dropped 900, overlimits 0 requeues 0) | |
96 | backlog 38998b 37p requeues 0 | |
97 | prob 0.123384 delay 25000us avg_dq_rate 1464840 | |
98 | pkts_in 7241 overlimit 900 dropped 0 maxq 186 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 200p target 19000 tupdate 29000 alpha 2 beta 20 ecn | |
103 | Sent 2491922 bytes 2507 pkt (dropped 214, overlimits 0 requeues 0) | |
104 | backlog 33728b 32p requeues 0 | |
105 | prob 0.102262 delay 24000us avg_dq_rate 1464840 | |
106 | pkts_in 2468 overlimit 214 dropped 0 maxq 192 ecn_mark 71 | |
107 | ||
108 | ||
109 | # tc qdisc add dev eth0 root pie limit 100 target 50ms tupdate 30ms bytemode | |
110 | # tc -s qdisc show | |
111 | qdisc pie 8036: dev eth0 root refcnt 2 limit 200p target 19000 tupdate 29000 alpha 2 beta 20 ecn | |
112 | Sent 2491922 bytes 2507 pkt (dropped 214, overlimits 0 requeues 0) | |
113 | backlog 33728b 32p requeues 0 | |
114 | prob 0.102262 delay 24000us avg_dq_rate 1464840 | |
115 | pkts_in 2468 overlimit 214 dropped 0 maxq 192 ecn_mark 71 | |
116 | ||
117 | ||
118 | .SH SEE ALSO | |
119 | .BR tc (8), | |
120 | .BR tc-codel (8) | |
121 | .BR tc-red (8) | |
122 | ||
123 | .SH SOURCES | |
124 | o IETF draft submission is at http://tools.ietf.org/html/draft-pan-tsvwg-pie-00 | |
125 | o IEEE Conference on High Performance Switching and Routing 2013 : "PIE: A | |
126 | Lightweight Control Scheme to Address the Bufferbloat Problem" | |
127 | ||
128 | .SH AUTHORS | |
129 | PIE was implemented by Vijay Subramanian and Mythili Prabhu, also the authors of | |
130 | this man page. Please report bugs and corrections to the Linux networking | |
131 | development mailing list at <netdev@vger.kernel.org>. |