tc-pie(8) - phpMan

PIE(8)                               Linux                              PIE(8)

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 inte-
       gral 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 cal-
       culate 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, byte-
       mode 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  tup-
       date 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  tup-
       date 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 AT vger.org>.

iproute2                        16 January 2014                         PIE(8)