Provided by: iproute2_4.3.0-1ubuntu3.16.04.5_amd64 bug

NAME

       PIE - Proportional Integral controller-Enhanced AQM algorithm

SYNOPSIS

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

DESCRIPTION

       Proportional Integral controller-Enhanced (PIE) is a control theoretic active queue management scheme. It
       is based on the proportional integral controller but aims to control delay. The main design goals are
        o Low latency control
        o High link utilization
        o Simple implementation
        o Guaranteed stability and fast responsiveness

ALGORITHM

       PIE is designed to control delay effectively. First, an average dequeue rate is estimated  based  on  the
       standing  queue. The rate is used to calculate the current delay. Then, on a periodic basis, the delay is
       used to calculate the dropping probabilty. Finally, on arrival, a packet is dropped (or marked) based  on
       this probability.

       PIE  makes adjustments to the probability based on the trend of the delay i.e.  whether it is going up or
       down.The delay converges quickly to the target value specified.

       alpha and beta are statically chosen parameters chosen to control the drop  probability  growth  and  are
       determined  through  control theoretic approaches. alpha determines how the deviation between the current
       and target latency changes probability. beta exerts  additional  adjustments  depending  on  the  latency
       trend.

       The  drop  probabilty  is  used  to  mark packets in ecn mode. However, as in RED, beyond 10% packets are
       dropped based on this probability. The bytemode is used to drop packets proportional to the packet size.

       Additional details can be found in the paper cited below.

PARAMETERS

   limit
       limit on the queue size in packets. Incoming packets are dropped when this limit is reached.  Default  is
       1000 packets.

   target
       is the expected queue delay. The default target delay is 20ms.

   tupdate
       is the frequency at which the system drop probability is calculated. The default is 30ms.

   alpha
   beta
       alpha  and  beta  are  parameters  chosen  to  control the drop probability. These should be in the range
       between 0 and 32.

   ecn | noecn
       is used to mark packets instead of dropping ecn to turn on ecn mode, noecn  to  turn  off  ecn  mode.  By
       default, ecn is turned off.

   bytemode | nobytemode
       is used to scale drop probability proportional to packet size bytemode to turn on bytemode, nobytemode to
       turn off bytemode. By default, bytemode is turned off.

EXAMPLES

        # tc qdisc add dev eth0 root pie
        # tc -s qdisc show
          qdisc pie 8034: dev eth0 root refcnt 2 limit 200p target 19000us tupdate 29000us alpha 2 beta 20
          Sent 7443524 bytes 7204 pkt (dropped 900, overlimits 0 requeues 0)
          backlog 38998b 37p requeues 0
          prob 0.123384 delay 25000us avg_dq_rate 1464840
          pkts_in 7241 overlimit 900 dropped 0 maxq 186 ecn_mark 0

        # tc qdisc add dev eth0 root pie limit 100 target 20ms tupdate 30ms ecn
        # tc -s qdisc show
          qdisc pie 8036: dev eth0 root refcnt 2 limit 200p target 19000 tupdate 29000 alpha 2 beta 20 ecn
          Sent 2491922 bytes 2507 pkt (dropped 214, overlimits 0 requeues 0)
          backlog 33728b 32p requeues 0
          prob 0.102262 delay 24000us avg_dq_rate 1464840
          pkts_in 2468 overlimit 214 dropped 0 maxq 192 ecn_mark 71

        # tc qdisc add dev eth0 root pie limit 100 target 50ms tupdate 30ms bytemode
        # tc -s qdisc show
          qdisc pie 8036: dev eth0 root refcnt 2 limit 200p target 19000 tupdate 29000 alpha 2 beta 20 ecn
          Sent 2491922 bytes 2507 pkt (dropped 214, overlimits 0 requeues 0)
          backlog 33728b 32p requeues 0
          prob 0.102262 delay 24000us avg_dq_rate 1464840
          pkts_in 2468 overlimit 214 dropped 0 maxq 192 ecn_mark 71

SEE ALSO

       tc(8), tc-codel(8) tc-red(8)

SOURCES

        o IETF draft submission is at http://tools.ietf.org/html/draft-pan-tsvwg-pie-00
        o  IEEE   Conference on High Performance Switching and Routing 2013 : "PIE: A Lightweight Control Scheme
       to Address the Bufferbloat Problem"

AUTHORS

       PIE was implemented by Vijay Subramanian and Mythili Prabhu, also the authors of this  man  page.  Please
       report bugs and corrections to the Linux networking development mailing list at <netdev@vger.kernel.org>.

iproute2                                         16 January 2014                                          PIE(8)