1 .TH PIE 8 "16 January 2014" "iproute2" "Linux"
3 PIE \- Proportional Integral controller-Enhanced AQM algorithm
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
31 o High link utilization
32 o Simple implementation
33 o Guaranteed stability and fast responsiveness
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
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
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.
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.
55 Additional details can be found in the paper cited below.
59 limit on the queue size in packets. Incoming packets are dropped when this limit
60 is reached. Default is 1000 packets.
63 is the expected queue delay. The default target delay is 20ms.
66 is the frequency at which the system drop probability is calculated. The default is 30ms.
70 alpha and beta are parameters chosen to control the drop probability. These
71 should be in the range between 0 and 32.
74 is used to mark packets instead of dropping
78 to turn off ecn mode. By default,
82 .SS bytemode | nobytemode
83 is used to scale drop probability proportional to packet size
87 to turn off bytemode. By default,
92 # tc qdisc add dev eth0 root pie
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
100 # tc qdisc add dev eth0 root pie limit 100 target 20ms tupdate 30ms ecn
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
109 # tc qdisc add dev eth0 root pie limit 100 target 50ms tupdate 30ms bytemode
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
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"
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>.