• No results found

1.2 RED with aggregate control

1.2.2 Proposals requiring network scenario parameters

1.2.2.2 Adaptive Virtual Queue (AVQ)

Adaptive Virtual Queue (AVQ) has been proposed by Kunniyur and Srikant in [67, 66, 68] with the motivation to design an AQM scheme that results in low-loss, low-delay and high linkutilization rate at the link. AVQ is a virtual queue-based AQM scheme that detects

1.2. RED with aggregate control congestion based on the arrival rate of the packets at the link.

AVQ uses a virtual queue with a virtual service capacity that is less than the actual capacity of the link. The virtual capacity at each link is modified such that the total flow entering each linkachieves a desired utilization of the link.

It also uses as an input to the model, system parameters like the maximum round trip time (RTT), the minimum number of active connections N in order to find the fastest rate at which the marking probability is adapted and therefore to achieve the system stability. The adaptation rate that is meant to maintain the system stability, denoted by α, is computed so as to achieve a desirable linkutilization rate.

The variables used by the AVQ scheme are : • γ: desired utilization of the link(γ ≤ 1).

• α: damping factor used to determine how fast the marking probability is adapted at the linkto the changing networkconditions.

• C: capacity of the link.

• C: virtual capacity of the link.

• B: buffer size.

• B: virtual buffer size.

• λ: arrival rate at the link.

The AVQ algorithm described in Algorithm 9 (page 45) works as follows:

• The router maintains a virtual queue whose linkcapacity is C≤ C and whose buffer

size is equal to the buffer size of the real queue. The virtual and the real queue differ by their linkcapacity and the size of their queue.

• At each packet arrival:

– The virtual queue length is computed as the difference between the previous

virtual size and the number of bytes served since the arrival of the previous packet. The service of packets is performed according to the capacity of the virtual capacity of the link.

– A fictitious packet is enqueued in the virtual queue if there is sufficient space in

the buffer. No actual enqueueing or dequeueing of packets is necessary in the virtual queue. The algorithm just keeps track of the virtual queue length.

Chapter 1. RED and some of its variants

– If the new packet overflows the virtual buffer, then the packet is discarded from

the virtual buffer and the real packet is marked by setting its ECN bit to 1 or dropped, depending upon the congestion notification mechanism used by the router.

– If the packet does not overflow the virtual buffer size then the virtual queue size

is updated by adding the number of bytes of the arrived packets to the virtual queue.

– the virtual queue capacity is updated according to the following differential

equation:

˙

C = α(γC− λ) . (1.17)

The principle of this equation is that marking has to be more aggressive when the linkutilization exceeds the desired utilization and should be less aggressive when the linkutilization is below the desired utilization. This situation can be viewed as a token bucket where tokens are generated at rate αγC up to a maximum of C and by each arrival of a packet, α times the size of packet tokens are removed from the bucket.

This algorithm is evaluated through the experiments conducted in [67, 66, 68]. The experiments show that AVQ maintains a very small queue length and the system stabilizes after a load change. Indeed, the average and the standard deviation of the queue length before and after the introduction of a load change are almost similar. AVQ manages also to achieve a linkutilization rate close to the target linkutilization rate. In addition, the packet loss rate experienced by AVQ is lower than other schemes like PI, REM and RED.

There are two parameters that have to be chosen to implement AVQ:

• The desired utilization γ (it determines the robustness to the presence of uncontrol- lable short flows).

• The damping factor α (it determines how fast one adapts the marking probability at the linkto the changing networkconditions).

Both parameters α and γ determine the stability of the AVQ algorithm and the authors provide a design rule to choose these parameters.

Theorem 1 Suppose that the feedback delay R+, the number of users N and the utiliza-

tion γ are given. Find α satisfying:

ωR++ arctan  ω K11  = π 2 , (1.18) 44

1.2. RED with aggregate control

Algorithm 9 Adaptive virtual queue (AVQ)

/* Notations : */ /* – B: buffer size. */

/* – V Q: number of bytes currently in the virtual queue. */ /* – s: arrival time of previous packet. */

/* – C: virtual capacity of the link. */

⇒ Upon packet arrival:

t← current time.

b← number of bytes.

/* Update virtual queue size */

V Q← max(V Q − C(t− s), 0).

if V Q + b > B then

Markor drop packet in the real queue.

else

/* Update virtual queue size */

V Q← V Q + b

end if

/* Update virtual capacity */ 

C = max(min( C + α× γ × C(t − s), C), 0).

/* Update virtual capacity */

s← t.

where ω is defined as:

ω(α, R+, N−,γ) = 1 2  (K2 12− K112 ) +  (K2 12− K112 )2+ 4K22(α) 2 , (1.19) and where: K11 = N− γC(R+)2, K12 = K2 = 3 2 γC N− .

Then, for all α < α, the system is stable. Moreover, for every α < α, the system

remains stable for all N > N−, γ <γ and R < R+.

Related documents