mirror of
				https://git.proxmox.com/git/mirror_iproute2
				synced 2025-11-04 15:34:49 +00:00 
			
		
		
		
	Result of the following command:
    sed -ri 's/\.  /. /g' man/*/*
Signed-Off-By: Pavel Šimerda <psimerda@redhat.com>
		
	
			
		
			
				
	
	
		
			132 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.TH PIE 8 "16 January 2014" "iproute2" "Linux"
 | 
						|
.SH NAME
 | 
						|
PIE \- Proportional Integral controller-Enhanced AQM algorithm
 | 
						|
.SH SYNOPSIS
 | 
						|
.B tc qdisc ... pie
 | 
						|
[
 | 
						|
.B limit
 | 
						|
PACKETS ] [
 | 
						|
.B target
 | 
						|
TIME ] [
 | 
						|
.B tupdate
 | 
						|
TIME ] [
 | 
						|
.B alpha
 | 
						|
int ] [
 | 
						|
.B beta
 | 
						|
int ] [
 | 
						|
.B ecn
 | 
						|
|
 | 
						|
.B noecn
 | 
						|
] [
 | 
						|
.B bytemode
 | 
						|
|
 | 
						|
.B nobytemode
 | 
						|
]
 | 
						|
 | 
						|
.SH 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
 | 
						|
 | 
						|
.SH 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.
 | 
						|
 | 
						|
.SH PARAMETERS
 | 
						|
.SS limit
 | 
						|
limit on the queue size in packets. Incoming packets are dropped when this limit
 | 
						|
is reached. Default is 1000 packets.
 | 
						|
 | 
						|
.SS target
 | 
						|
is the expected queue delay. The default target delay is 20ms.
 | 
						|
 | 
						|
.SS tupdate
 | 
						|
is the frequency at which the system drop probability is calculated. The default is 30ms.
 | 
						|
 | 
						|
.SS alpha
 | 
						|
.SS beta
 | 
						|
alpha and beta are parameters chosen to control the drop probability. These
 | 
						|
should be in the range between 0 and 32.
 | 
						|
 | 
						|
.SS ecn | noecn
 | 
						|
is used to mark packets instead of dropping
 | 
						|
.B ecn
 | 
						|
to turn on ecn mode,
 | 
						|
.B noecn
 | 
						|
to turn off ecn mode. By default,
 | 
						|
.B ecn
 | 
						|
is turned off.
 | 
						|
 | 
						|
.SS bytemode | nobytemode
 | 
						|
is used to scale drop probability proportional to packet size
 | 
						|
.B bytemode
 | 
						|
to turn on bytemode,
 | 
						|
.B nobytemode
 | 
						|
to turn off bytemode. By default,
 | 
						|
.B bytemode
 | 
						|
is turned off.
 | 
						|
 | 
						|
.SH 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
 | 
						|
 | 
						|
 | 
						|
.SH SEE ALSO
 | 
						|
.BR tc (8),
 | 
						|
.BR tc-codel (8)
 | 
						|
.BR tc-red (8)
 | 
						|
 | 
						|
.SH 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"
 | 
						|
 | 
						|
.SH 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>.
 |