1PIE(8)                               Linux                              PIE(8)
2
3
4

NAME

6       PIE - Proportional Integral controller-Enhanced AQM algorithm
7

SYNOPSIS

9       tc  qdisc  ... pie [ limit PACKETS ] [ target TIME ] [ tupdate TIME ] [
10       alpha int ] [ beta int ] [ ecn | noecn ] [ bytemode | nobytemode ]
11
12

DESCRIPTION

14       Proportional Integral controller-Enhanced (PIE) is a control  theoretic
15       active  queue  management scheme. It is based on the proportional inte‐
16       gral controller but aims to control delay. The main design goals are
17        o Low latency control
18        o High link utilization
19        o Simple implementation
20        o Guaranteed stability and fast responsiveness
21
22

ALGORITHM

24       PIE is designed to control delay effectively. First, an average dequeue
25       rate is estimated based on the standing queue. The rate is used to cal‐
26       culate the current delay. Then, on a periodic basis, the delay is  used
27       to  calculate the dropping probabilty. Finally, on arrival, a packet is
28       dropped (or marked) based on this probability.
29
30       PIE makes adjustments to the probability based  on  the  trend  of  the
31       delay  i.e.  whether it is going up or down.The delay converges quickly
32       to the target value specified.
33
34       alpha and beta are statically chosen parameters chosen to  control  the
35       drop  probability  growth  and are determined through control theoretic
36       approaches. alpha determines how the deviation between the current  and
37       target  latency changes probability. beta exerts additional adjustments
38       depending on the latency trend.
39
40       The drop probabilty is used to mark packets in ecn mode. However, as in
41       RED,  beyond  10%  packets  are  dropped based on this probability. The
42       bytemode is used to drop packets proportional to the packet size.
43
44       Additional details can be found in the paper cited below.
45
46

PARAMETERS

48   limit
49       limit on the queue size in packets. Incoming packets are  dropped  when
50       this limit is reached. Default is 1000 packets.
51
52
53   target
54       is the expected queue delay. The default target delay is 15ms.
55
56
57   tupdate
58       is  the  frequency  at which the system drop probability is calculated.
59       The default is 15ms.
60
61
62   alpha
63   beta
64       alpha and beta are parameters chosen to control the  drop  probability.
65       These should be in the range between 0 and 32.
66
67
68   ecn | noecn
69       is  used  to  mark packets instead of dropping ecn to turn on ecn mode,
70       noecn to turn off ecn mode. By default, ecn is turned off.
71
72
73   bytemode | nobytemode
74       is used to scale drop probability proportional to packet size  bytemode
75       to turn on bytemode, nobytemode to turn off bytemode. By default, byte‐
76       mode is turned off.
77
78

EXAMPLES

80        # tc qdisc add dev eth0 root pie
81        # tc -s qdisc show
82          qdisc pie 8036: dev eth0 root refcnt 2  limit  1000p  target  15.0ms
83       tupdate 16.0ms alpha 2 beta 20
84           Sent 31216108 bytes 20800 pkt (dropped 80, overlimits 0 requeues 0)
85           backlog 16654b 11p requeues 0
86          prob 0.006161 delay 15666us avg_dq_rate 1159667
87          pkts_in 20811 overlimit 0 dropped 80 maxq 50 ecn_mark 0
88
89        #  tc  qdisc  add dev eth0 root pie limit 100 target 20ms tupdate 30ms
90       ecn
91        # tc -s qdisc show
92          qdisc pie 8036: dev eth0 root refcnt 2 limit 100p target 20.0ms tup‐
93       date 32.0ms alpha 2 beta 20 ecn
94           Sent 6591724 bytes 4442 pkt (dropped 27, overlimits 0 requeues 0)
95           backlog 18168b 12p requeues 0
96          prob 0.008845 delay 11348us avg_dq_rate 1342773
97          pkts_in 4454 overlimit 0 dropped 27 maxq 65 ecn_mark 0
98
99        #  tc  qdisc  add dev eth0 root pie limit 100 target 50ms tupdate 30ms
100       bytemode
101        # tc -s qdisc show
102          qdisc pie 8036: dev eth0 root refcnt 2 limit 100p target 50.0ms tup‐
103       date 32.0ms alpha 2 beta 20 bytemode
104           Sent 1616274 bytes 1137 pkt (dropped 0, overlimits 0 requeues 0)
105           backlog 13626b 9p requeues 0
106          prob 0.000000 delay 0us avg_dq_rate 0
107          pkts_in 1146 overlimit 0 dropped 0 maxq 23 ecn_mark 0
108
109

SEE ALSO

111       tc(8), tc-codel(8) tc-red(8)
112
113

SOURCES

115        o RFC 8033: https://tools.ietf.org/html/rfc8033
116
117

AUTHORS

119       PIE  was  implemented by Vijay Subramanian and Mythili Prabhu, also the
120       authors of this man page. Please report bugs  and  corrections  to  the
121       Linux networking development mailing list at <netdev@vger.kernel.org>.
122
123
124
125iproute2                        16 January 2014                         PIE(8)
Impressum