Minstrel PIE: Curtailing queue delay in unresponsive traffic environments

Minstrel PIE: Curtailing queue delay in unresponsive traffic environments

Accepted Manuscript Minstrel PIE: Curtailing queue delay in unresponsive traffic environments Sachin D. Patil, Mohit P. Tahiliani PII: DOI: Reference...

1MB Sizes 0 Downloads 22 Views

Accepted Manuscript Minstrel PIE: Curtailing queue delay in unresponsive traffic environments Sachin D. Patil, Mohit P. Tahiliani

PII: DOI: Reference:

S0140-3664(18)30352-9 https://doi.org/10.1016/j.comcom.2019.03.006 COMCOM 5835

To appear in:

Computer Communications

Received date : 11 April 2018 Revised date : 26 December 2018 Accepted date : 10 March 2019 Please cite this article as: S.D. Patil and M.P. Tahiliani, Minstrel PIE: Curtailing queue delay in unresponsive traffic environments, Computer Communications (2019), https://doi.org/10.1016/j.comcom.2019.03.006 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

Minstrel PIE: Curtailing Queue Delay in Unresponsive Traffic Environments Sachin D. Patil, Mohit P. Tahiliani Wireless Information Networking Group (WiNG), Department of Computer Science and Engineering, NITK Surathkal, Mangalore, Karnataka 575025, India

Abstract Active Queue Management (AQM) algorithms aim to maintain a proper tradeoff between queue delay and bottleneck link utilization. However, it is often noticed that this trade-off is not achieved convincingly when unresponsive UDP flows coexist with responsive TCP flows. This paper proposes an extension to Proportional Integral controller Enhanced (PIE) algorithm called Minstrel PIE, which adapts the reference queue delay to improve the trade-off between queue delay and link utilization when unresponsive flows share the same bottleneck queue as responsive flows. Extensive evaluations through simulations and real time experiments demonstrate that Minstrel PIE improves the performance of PIE in the presence of unresponsive flows, and delivers similar performance otherwise. Moreover, the Minstrel PIE algorithm does not introduce new knobs to improve the performance of PIE and hence, can be easily deployed without any additional complexity. Keywords: AQM algorithms, PIE, reference queue delay

1. Introduction There has been a proliferation of high capacity routers in the Internet to appropriately utilize the high speed data links. These routers typically consist Email addresses: [email protected] (Sachin D. Patil), [email protected] (Mohit P. Tahiliani)

Preprint submitted to Computer Communications

March 15, 2019

of very large buffers because the memory prices have fallen sharply. Due to 5

surplus buffering, packets experience excessive queuing delay which leads to significant degradation in the overall performance and largely reduces the quality of service for time critical applications. The above mentioned problem is known as the Bufferbloat problem [1]. Active Queue Management (AQM) is a promising technique to minimize the impact of Bufferbloat and improve the quality of

10

service for time critical applications [2]. Several AQM algorithms have been designed to monitor and limit the growth of the queue at routers. Random Early Detection (RED) [3], Random Exponential Marking (REM) [4], Adaptive RED (ARED) [5], BLUE [6], Proportional Integral controller (PI) [7], Controlled Delay (CoDel) [8], Proportional Integral controller Enhanced (PIE) [9], etc are

15

some of the well studied AQM algorithms. One of the vital characteristics of AQM algorithms is to maintain a proper trade-off between queue delay and bottleneck link utilization. But maintaining this trade-off is challenging when some of the flows crossing the router do not respond to the congestion feedback provided by AQM mechanisms, e.g., con-

20

gestion agnostic UDP flows do not respond to congestion notifications. The following are the major concerns in such cases: • Tackling the problem of Bufferbloat becomes challenging because unresponsive flows affect the stability of the queue. • The unresponsive behavior of congestion agnostic UDP flows defeats the

25

purpose of deploying AQM algorithms and leads to excessive queuing delays. • The problem further aggravates when unresponsive flows arrive in bursts, leading to variations in the Round Trip Time (RTT). The burst may also lead to bulk packet losses due to queue overflow.

30

• The network resource allocation is unfair because TCP flows respond to congestion signals whereas unresponsive flows do not. Hence, the major

2

share of the bandwidth gets utilized by unresponsive flows, leaving negligible room for TCP flows. Addressing these concerns is becoming increasingly important due to the 35

widespread adoption of UDP as the primary transport protocol. Popular applications of UDP include: DNS, routing updates, SNMP and NAT traversal techniques such as STUN (RFC 5389) and TURN (RFC 5766). Emerging applications of UDP include: video streaming, online gaming, peer to peer applications, Quick UDP Internet Connection (QUIC) [10] and browser frameworks

40

such as Web Real-Time Communication (WebRTC)1 . Although the emerging applications of UDP are obliged to implement congestion control at the application level and respond to congestion (e.g., QUIC and WebRTC), a significant share of the UDP traffic comprises of short-lived unresponsive flows. For example, a recent analysis of 4G LTE traffic from a

45

Tier-1 wireless carrier in the south-central US reveals that DNS dominates the UDP traffic in terms of the number of flows (39% of the total flows captured in the network) [12]. Despite the fact that DNS traffic is thin in terms of volume and might not lead to long lasting congestion, studies have shown that a such small fraction of unresponsive UDP flows can affect the queue stability and dete-

50

riorate the performance of AQM algorithms [13–15]. Our preliminary work [16] on analyzing the performance of ARED, CoDel and PIE also confirms that controlling queue occupancy is a non-trivial task when responsive and unresponsive flows coexist. In this paper, we propose a simple and easy-to-deploy extension to the PIE

55

algorithm, called Minstrel PIE, to increase its robustness when unresponsive flows coexist with TCP flows. We decided to base our work on PIE algorithm because: (i) it is a defacto AQM used by CableLabs since DOCSIS 3.1 cable modems (RFC 8034), and (ii) studies have shown that PIE is likely to provide 1 WebRTC

is a framework of protocols and JavaScript APIs that enables peer-to-peer audio,

video, and data sharing between browsers. It is supported by popular browsers such as Google Chrome and Mozilla Firefox, and it uses UDP for data transfers [11].

3

better control on queue delay than other algorithms in case of extreme overload 60

[17, 18]. Minstrel PIE adapts itself and timely drops (or marks)2 packets to control the queue delay when the traffic load increases, otherwise operates similar to PIE. We regulate the reference queue delay parameter of PIE to adjust the drop probability in Minstrel PIE. Depending on the results obtained through simulations and real time tests we note that Minstrel PIE maintains a better trade-off

65

between queue delay and link utilization when unresponsive flows coexist with TCP flows. It performs similar to PIE in other network settings. Typically, AQM algorithms are expected to avoid congestion and minimize the impact of Bufferbloat, whereas, protecting the fair share of responsive flows when they coexist with unresponsive flows is the responsibility of packet schedul-

70

ing algorithms (e.g., Stochastic Fair Queuing (SFQ) [19], Deficit Round Robin (DRR) [20]). Minstrel PIE, being an AQM algorithm, is mainly designed to avoid network congestion and minimize the impact of Bufferbloat. Recently, there has been an active interest in designing hybrid packet scheduler and AQM algorithms to collectively address the problems of congestion, Bufferbloat and

75

flow protection by giving each flow its own queue. Flow Queue CoDel (FQCoDel) (RFC 8290) and Flow Queue PIE (FQ-PIE) [21] are two attempts in this direction. Along the similar lines, we combine Minstrel PIE with flow queuing to provide flow protection and name the resulting algorithm as Flow Queue Minstrel PIE (FQ-MinstrelPIE). Besides thoroughly evaluating the work-

80

ing of Minstrel PIE, this paper additionally provides a brief evaluation of FQMinstrelPIE. The paper is organized as follows: Section 2 presents the background of PIE algorithm and discusses the impact of using fixed reference queue delay. Section 3 presents the design and implementation of Minstrel PIE and FQ-MinstrelPIE.

85

Section 4 discusses the results obtained from simulations and real time tests and 2 Marking

refers to the setting of a bit in the packet header by using congestion signaling

approaches like Explicit Congestion Notification (ECN) (RFC 3168). The words ‘drops’ and ‘marks’ are used interchangeably in this paper.

4

Section 5 concludes the paper with future directions.

2. Background 2.1. Overview of PIE The functionality of PIE is based on the original Proportional Integral (PI) 90

controller [22] that attempts to control the queue occupancy around a desired reference queue length. Unlike PI, PIE aims to control the queue delay around a desired reference queue delay. PIE obtains an estimate of the current queue delay and compares it with the reference queue delay and previous queue delay to calculate the packet drop

95

probability (p) as shown in the following equation: p(i) = p(i−1) + α ∗ (cur delay − qdelay ref ) + β ∗ (cur delay − old delay) (1) where, • p(i) indicates the drop probability for the current interval. • p(i−1) indicates the drop probability for the previous interval. • cur delay is the current queue delay.

100

• qdelay ref is the reference queue delay. • old delay is the queue delay used in the previous sample. • α and β are auto-tuning scaling factors as described in RFC 8033. PIE uses Little’s Law [23] to obtain an estimate of the cur delay, as shown below: cur delay =

105

queue length avg dq rate

where, • queue length indicates the current queue occupancy. • avg dq rate is the average dequeue rate of the queue. 5

(2)

avg dq rate is an exponentially weighted moving average which provides a fairly good estimate of the bottleneck link utilization. We use this estimate in 110

Minstrel PIE to adapt qdelay ref. The main goal of PIE is to maintain the cur delay around a pre-fixed qdelay ref. It uses auto-tuning scaling factors α and β to make necessary adjustments to p and minimize the difference between cur delay and qdelay ref. When cur delay becomes equal to qdelay ref and old delay, PIE reaches a steady state

115

and continues to drop the packets with a fixed p. p is calculated at a regular interval of t update3 . 2.2. Impact of fixed qdelay ref Despite gaining significant attention, the implications of keeping qdelay ref fixed in PIE are not widely studied. In this section, we highlight the need to adapt qdelay ref in PIE. We configure a dumbbell topology as shown in Fig. 1 10 Mbps, 40 ms

100 Mbps, 5 ms

100 Mbps, 5 ms

Sender 1

Receiver 1

Sender 2

Receiver 2

Sender 3

PIE / Minstrel PIE

Droptail

Sender n

Receiver 3

Receiver n

Figure 1: Dumbbell Topology used in ns-2 experiments 120

in ns-2 [24] with different traffic loads to analyze the impact of having a fixed value of qdelay ref. Three traffic loads are configured in the simulation: (i) Light traffic (5 TCP flows), (ii) Heavy traffic (50 TCP flows) and (iii) Mix traffic (5 TCP and 2 UDP flows). These configurations are identical to the ones used 125

by the authors of PIE [9] and PI2 [25], except that we have used Compound TCP [26, 27] for our simulations instead of TCP NewReno (RFC 6582). PIE 3 16ms

as mentioned in RFC 8033.

6

has been configured with the values recommended in RFC 8033. In this paper, all the simulations are run for 100 seconds and the results presented in Fig. 2 through Fig. 12 depict the average values obtained by repeating the simulation with 25 different random seed values.

1

1

0.9

0.8 0.7

0.6

CDF

CDF

0.7 0.5

0.6 0.5

0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

0

0

1

2

3

4

5

Light TCP Heavy TCP Mix TCP and UDP Reference Delay

0.9

Light TCP Heavy TCP Mix TCP and UDP

0.8

6

7

8

9

0

10

0

5

10 15 20 25 30 35 40 45 50

Link Utilization (%)

Queue Delay (ms)

(a) Link Utilization

(b) Queue Delay

Figure 2: Link Utilization and Queuing Delay with PIE

1

1

0.9

0.9

Light TCP Heavy TCP Mix TCP and UDP

0.8 0.7

0.7

0.6 0.5

0.6 0.5

0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

0

0

1

2

3

4

5

Light TCP Heavy TCP Mix TCP and UDP Reference Delay

0.8

CDF

CDF

130

6

7

8

9

0

10

0

10

20

30

40

50

Queue Delay (ms)

Link Utilization (%)

(a) Link Utilization

(b) Queue Delay

Figure 3: Link Utilization and Queuing Delay with Minstrel PIE

Fig. 2 presents the CDF for link utilization and queue delay obtained with PIE. Increasing the number of responsive flows did not largely impact the performance, but adding a few unresponsive flows led to a significant rise in the queue delay. This happens because PIE does not drop sufficient number of pack7

135

ets to keep the queue delay under control. We believe that this concern can be addressed by adapting qdelay ref (albeit within acceptable bounds) and subsequently regulating the packet drop probability (p) to drop appropriate number of packets. This approach forms the basis of Minstrel PIE. We repeat the simulations described above with Minstrel PIE. Fig. 3 presents

140

the CDF for link utilization and queue delay. As traffic load increases, Minstrel PIE increases its packet drop probability based on qdelay ref adjustments and achieves better control on queue delay without hurting the link utilization. In the next section, we describe the working of Minstrel PIE.

3. Minstrel PIE 145

3.1. Design The design of Minstrel PIE is tailored to improve the tradeoff between queue delay and link utilization when responsive and unresponsive flows coexist. It increases qdelay ref when the link is underutilized and decreases qdelay ref when the link is over-utilized avg dq rate measurements in PIE serve as a good ap-

150

proximation of the current link utilization. Minstrel PIE leverages these measurements and accordingly adapts the qdelay ref. The initial value of qdelay ref is set to 15ms which is a fixed default value suggested in RFC 8033. Other components in Minstrel PIE are same as PIE. Algorithm 1 presents the pseudo code of the proposed algorithm.

155

A new parameter called maximum average dequeue rate (maxavg dq rate) is introduced in Minstrel PIE to keep track of the maximum link utilization observed so far. At every t update interval, avg dq rate is compared with maxavg dq rate to decide whether qdelay ref should be updated. Subsequently, the updated value of qdelay ref is used to calculate the new drop probability.

160

maxavg dq rate is internally maintained by Minstrel PIE and does not require settings from the user. The following subsections provide a detailed insight into the working of Minstrel PIE:

8

Algorithm 1: Minstrel PIE Input : avg dq rate Initialization: qdelay ref = 15ms, t update = 16ms, maxavg dq rate = 0 Output 1

: updated value of qdelay ref

On every t update interval // Track the highest avg dq rate

2 3

if avg dq rate > maxavg dq rate then maxavg dq rate = avg dq rate

4

end

5

if avg dq rate <= 0.9 ∗ maxavg dq rate then

6 7

// Increase qdelay ref |qdelay ref − cur delay| qdelay ref + = 2 end

8

else // Decrease qdelay ref

9

if cur delay < qdelay ref then qdelay ref = cur delay

10 11

end

12

else qdelay ref − =

13 14

|qdelay ref − cur delay| 2

end

15

end

16

if qdelay ref < 5ms then

17

qdelay ref = 5ms

18

end

19

else if qdelay ref > 15ms then

20

qdelay ref = 15ms

21

end

22

Calculate Drop Probability p 9

3.1.1. Increase qdelay ref 165

Minstrel PIE keeps track of maxavg dq rate and increases the qdelay ref when the link is not adequately utilized. Specifically, it increases the qdelay ref when the avg dq rate ≤ 90% of the maxavg dq rate. A binary increment (as shown in Algorithm 1) is applied to the value of qdelay ref. This increment helps Minstrel PIE to adjust the difference between cur delay and qdelay ref which

170

is tracked by PIE’s control parameter α during the drop probability calculation. These adjustments ensure that the overall drop probability is decreased quickly, and subsequently, the link utilization increases. The upper bound for qdelay ref is set to 15ms in Minstrel PIE. The design considerations for choosing this setting and the above mentioned increase/decrease threshold (i.e., 90% of

175

maxavg dq rate) are discussed later in Section 3.2. 3.1.2. Decrease qdelay ref Minstrel PIE decreases the qdelay ref when the link is adequately utilized. Specifically, it decreases the qdelay ref when avg dq rate > 90% of the maxavg dq rate. However, decreasing the value of qdelay ref abruptly may hurt the

180

link utilization; so the following approach has been adopted to decrease the value of qdelay ref smoothly: If cur delay < qdelay ref, decreasing qdelay ref and setting it to cur delay is safe. But if cur delay > qdelay ref, a binary decrement is applied to decrease the value of qdelay ref smoothly. In the former case, Minstrel PIE attempts

185

to stabilize the value of drop probability (p) by setting qdelay ref to cur delay whereas in the latter case, Minstrel PIE attempts to gradually increase the drop probability (p) by increasing the value of (cur delay - qdelay ref ). The motivation to use binary decrement is to ensure quick adaptation of qdelay ref to achieve the desired trade-off. The lower bound for qdelay ref is set to 5ms in

190

Minstrel PIE. Section 3.2 discusses the design considerations for choosing this value.

10

3.2. Parameter Settings 3.2.1. Lower and Upper Bound for qdelay ref The inferences to set lower and upper bound for qdelay ref in Minstrel PIE 195

have been derived from the simulation studies presented in [18] where the qdelay ref in PIE is set within a range of 5ms to 20ms. Hence, the lower bound for qdelay ref in Minstrel PIE is set to 5ms, which is also the default value used by CoDel. The upper bound for qdelay ref in Minstrel is set to 15ms instead of 20ms. The primary reason is that higher values of qdelay ref exhibit more

200

variations in the queue delay (See Figure 7(b) of [18]). Moreover, RFC 8033 recommends a default value of 15ms for qdelay ref. Thus, Minstrel PIE does not deviate from the primary goals of PIE. 3.2.2. Initial value of qdelay ref Initially, the buffers are empty and it takes a few RTTs for the queue to

205

build up. Setting a low initial value for qdelay ref would be too restrictive and it might not allow the link utilization to grow beyond a certain limit. Hence, we recommend that Minstrel PIE sets the initial value of qdelay ref to its upper bound, i.e., 15ms. 3.2.3. Setting the increase/decrease threshold

210

Quite a few prior works have demonstrated that PIE achieves more than 90% link utilization in most of the scenarios [18, 28, 29]. Based on the observations made in the literature, and our own evaluations, we recommend 90% of maxavg dq rate to be used as a threshold for Minstrel PIE to increase / decrease the value of qdelay ref.

215

3.3. Support for Explicit Congestion Notification and Flow Queuing Explicit Congestion Notification (ECN) (RFC 3168) mechanism marks packet headers (TCP and IP) to notify endpoints of congestion that may be developing in a bottleneck queue, without resorting to packet drops. Minstrel PIE does not require modifications to support ECN style packet marking. It is recommended

11

220

to use ECN marking with Minstrel PIE to avoid any loss of throughput for TCP flows, especially when qdelay ref is decreased from 15ms to 5ms. The term flow queuing (RFC 8290) implies that every flow has its own queue so that the time sensitive flows are isolated from those that tend to fill the queue or affect the queue stability. Minstrel PIE, like CoDel and PIE, can be combined

225

with flow queuing to provide flow protection. Although there are several ways, in this paper, we follow the approach adopted in FQ-CoDel and FQ-PIE to combine flow queuing with Minstrel PIE. A hashing based scheme is used to provide a separate queue to every flow, and hashing is performed based on the following five tuples: source and destination IP addresses, source and destination port

230

numbers and protocol number. A modified DRR as described in RFC 8290 is used for queue scheduling and Minstrel PIE algorithm operates on every queue. Combining flow queuing with Minstrel PIE offers further benefits by punishing the flows that tend to affect the queue stability and deteriorate the performance of other competing flows.

235

3.4. Implementation To verify the correctness of the proposed idea, PIE code in ns-2.36.rc1, ns3.27 and Linux kernel 4.15 has been modified to support Minstrel PIE. It requires 18, 37 and 33 lines of code change to PIE implementation in ns-2 [24], ns-3 [30] and Linux kernel, respectively. Moreover, Minstrel PIE does not add any new

240

parameter which requires explicit settings from the user. In the Linux kernel, the net/sched/sch pie.c is modified to implement Minstrel PIE and to enable Minstrel PIE through the tc command, q pie.c is modified in the iproute2 package. To enable Minstrel PIE, passing ‘minstrel’ as a parameter in the tc-pie command is sufficient4 .

245

Implementing FQ-MinstrelPIE was not straightforward because, unlike FQCoDel, the Linux kernel does not contain an in-built module for FQ-PIE. Al4 Example:

sudo tc qdisc add dev eno1 parent 1:10 handle 1100: pie limit 200 target 15ms

tupdate 16ms minstrel

12

though a preliminary implementation of FQ-PIE is available publicly [31], it has not been validated and tested. Hence, we implemented a new module for FQ-PIE in the Linux kernel and it has been made available publicly at [32]. Sub250

sequently, we implemented FQ-MinstrelPIE in the Linux kernel for our work.

4. Evaluation Our evaluations consisted of three sets of experiments that compare the performance of Minstrel PIE with PIE using (i) preliminary set of simulation scenarios, same as the ones used in [8][9][25] (ii) simulation scenarios described 255

in RFC 7928 for comparing the performance of AQM algorithms and (iii) real time tests provided in Flexible Network Tester (Flent) [33] for evaluating AQM algorithms. Besides analyzing the trade-off between latency and link utilization, we compare the fairness achieved with PIE and Minstrel PIE to show that the latter does not deteriorate the fairness among the flows. Jains Fairness Index

260

[34] has been used to calculate the fairness. 4.1. Preliminary Evaluation The preliminary evaluation consisted of two types of scenarios: (i) simulations with different number of responsive and unresponsive flows, and (ii) simulations in realistic network conditions, with a proper mix of responsive and

265

unresponsive flows. The scenarios mentioned in Section 4.1.1 to Section 4.1.3 are same as the ones described in Section 2.2, except that we represent the results in two additional forms: distribution of bottleneck link utilization and queue delay over time, and goodput as a function of queue delay which is recommended in RFC 7928. ns-2.36.rc1 has been used for these simulations.

270

4.1.1. Light TCP traffic This scenario consists of 5 TCP flows starting at the same time in a dumbbell topology as shown in Fig. 1. Table 1 presents the configuration of simulation parameters for this scenario. Fig. 4 shows the performance of PIE and Minstrel

13

Table 1: Simulation Configuration for Preliminary Evaluation Parameters

Values

Bottleneck Propagation Delay

Values

80 ms

Traffic Flows Direction

Forward Only

Non-bottleneck Propagation Delay

20 ms

AQM enabled in Forward path

PIE/Minstrel PIE

Bottleneck Bandwidth

10 Mbps

TCP Application

Long-lived FTP

Non Bottleneck Bandwidth

100 Mbps

UDP Application with rate

Constant Bit Rate at 10Mbps

Buffer Size

200 packets

TCP enabled

Compound

Packet Size

1000 Bytes

Simulation Time

100 Seconds

180

180

PIE qdelay_ref

MinstrelPIE qdelay_ref (Upper limit) qdelay_ref (Lower limit)

160 Queuing Delay (in ms)

160 Queuing Delay (in ms)

Parameters

140 120 100 80 60 40 20

140 120 100 80 60 40 20

0

0 0

10

20

30 40 50 60 70 Time (in seconds)

80

90 100

0

10

(a) PIE

20

30 40 50 60 70 Time (in seconds)

80

90 100

(b) Minstrel PIE

Figure 4: Queuing Delay for Light TCP traffic

PIE in terms of queue delay and Fig. 5 shows the performance of PIE and 275

Minstrel PIE in terms of bottleneck link utilization. The sharp rise in queue delay in Fig. 4 and the sudden fall in the link utilization in Fig. 5 is because all flows start at the same time. This configuration provides an insight into the capabilities of PIE and Minstrel PIE to handle the burst of traffic. Both algorithms handle the burst appropriately and maintain

280

the queue delay around the reference values for the rest of the simulation. Minstrel PIE has marginally better control over the queue delay with same link utilization (Fig. 4(a) and Fig. 4(b)) as that of PIE. This is because Minstrel PIE tries to reduce the queue delay to the lower limit (seen around 15 seconds

14

10

9

9

Link Utilization (in Mbps)

Link Utilization (in Mbps)

10 8 7 6 5 4 3 2 1

8 7 6 5 4 3 2 1

0

0 0

10

20

30 40 50 60 70 Time (in seconds)

80

90 100

0

10

20

(a) PIE

30 40 50 60 70 Time (in seconds)

80

90 100

(b) Minstrel PIE

Figure 5: Link Utilization for Light TCP traffic Table 2: Fairness for Light TCP traffic scenario

Flow Number

Throughput (in Mbps)

Fairness

TCP 1

TCP 2

TCP 3

TCP 4

TCP 5

PIE

1.84

1.83

1.87

1.85

1.85

0.99

MinstrelPIE

1.83

1.84

1.80

1.80

1.83

0.99

in Fig. 4(b)) since the link is sufficiently utilized, and allows the queue delay 285

to grow towards the upper limit (seen around 65 seconds in Fig. 4(b)) when it senses the link utilization getting affected (15 seconds to 65 seconds in Fig. 5(b)). Furthermore, the results shown in Table 2 confirm that Minstrel PIE does not affect the fairness among the flows. 4.1.2. Heavy TCP traffic

290

This scenario sets up 50 TCP flows in a dumbbell topology, but otherwise, it is same as the previous scenario. Fig. 6(a) and Fig. 6(b) show the performance of PIE and Minstrel PIE in terms of queue delay, respectively and Fig. 7(a) and Fig. 7(b) show the performance of PIE and Minstrel PIE in terms of bottleneck link utilization.

295

Like Fig. 4, there is a sharp rise in queue delay in Fig. 6. Even though the amount of burst in this scenario is much larger than the previous one, it is observed that both algorithms successfully control the queue delay. After the burst

15

180

MinstrelPIE qdelay_ref (Upper limit) qdelay_ref (Lower limit)

160 Queuing Delay (in ms)

Queuing Delay (in ms)

180

PIE qdelay_ref

160 140 120 100 80 60 40 20

140 120 100 80 60 40 20

0

0 0

10

20

30 40 50 60 70 Time (in seconds)

80

90 100

0

10

(a) PIE

20

30 40 50 60 70 Time (in seconds)

80

90 100

80

90 100

(b) Minstrel PIE

10

10

9

9

Link Utilization (in Mbps)

Link Utilization (in Mbps)

Figure 6: Queuing Delay for Heavy TCP traffic

8 7 6 5 4 3 2 1

8 7 6 5 4 3 2 1

0

0 0

10

20

30 40 50 60 70 Time (in seconds)

80

90 100

(a) PIE

0

10

20

30 40 50 60 70 Time (in seconds)

(b) Minstrel PIE

Figure 7: Link Utilization for Heavy TCP traffic

period, PIE maintains the queue delay around the qdelay ref whereas Minstrel PIE maintains the queue delay between the lower and upper limit. Since there 300

are sufficient number of TCP flows to keep the link fully utilized, Minstrel PIE tries to maintain the queue delay near to its lower bound of qdelay ref. In terms of link utilization and fairness among the flows (See Table 3), both algorithms have a similar performance. 4.1.3. Mix TCP and UDP traffic

305

This is an extension of the Light TCP traffic scenario, where 2 UDP flows are added to 5 TCP flows. The goal is to verify the ability of Minstrel PIE 16

180

MinstrelPIE qdelay_ref (Upper limit) qdelay_ref (Lower limit)

160 Queuing Delay (in ms)

Queuing Delay (in ms)

180

PIE qdelay_ref

160 140 120 100 80 60 40 20

140 120 100 80 60 40 20

0

0 0

10

20

30 40 50 60 70 Time (in seconds)

80

90 100

0

10

(a) PIE

20

30 40 50 60 70 Time (in seconds)

80

90 100

80

90 100

(b) Minstrel PIE

10

10

9

9

Link Utilization (in Mbps)

Link Utilization (in Mbps)

Figure 8: Queuing Delay for Mix TCP and UDP traffic

8 7 6 5 4 3 2 1

8 7 6 5 4 3 2 1

0

0 0

10

20

30 40 50 60 70 Time (in seconds)

80

90 100

(a) PIE

0

10

20

30 40 50 60 70 Time (in seconds)

(b) Minstrel PIE

Figure 9: Link Utilization for Mix TCP and UDP traffic

17

Table 3: Fairness for Heavy TCP traffic scenario

Flow Number

Throughput (in Mbps) TCP 1-10

TCP 11-20

TCP 21-30

TCP 31-40

TCP 41-50

0.19

0.19

0.19

0.19

0.18

0.19

0.18

0.18

0.18

0.19

0.19

0.19

0.19

0.19

0.19

0.18

0.18

0.19

0.19

0.19

0.18

0.19

0.19

0.19

0.19

0.19

0.18

0.19

0.19

0.19

0.18

0.19

0.18

0.19

0.19

0.19

0.19

0.19

0.19

0.19

0.18

0.19

0.19

0.19

0.19

0.19

0.19

0.19

0.19

0.19

0.18

0.19

0.17

0.19

0.18

0.19

0.18

0.19

0.18

0.19

0.17

0.19

0.18

0.19

0.18

0.19

0.19

0.19

0.19

0.19

Minstrel

0.18

0.19

0.19

0.19

0.19

PIE

0.18

0.18

0.19

0.18

0.19

0.18

0.19

0.18

0.19

0.19

0.19

0.18

0.19

0.18

0.19

0.18

0.19

0.18

0.19

0.18

0.19

0.19

0.18

0.19

0.19

PIE

Fairness

0.98

0.99

algorithm to control queue delay in the presence of unresponsive flows. Fig. 8(a) and Fig. 8(b) show the performance of PIE and Minstrel PIE in terms of queue delay, respectively and Fig. 9(a) and Fig. 9(b) show the performance of PIE and Minstrel PIE in terms of bottleneck link utilization. Table 4: Fairness for Mix TCP and UDP traffic scenario

Flow Number

Throughput (in Mbps)

Fairness

TCP 1

TCP 2

TCP 3

TCP 4

TCP 5

UDP 1

UDP 2

PIE

0.010

0.015

0.006

0.007

0.014

4.790

4.729

0.288

Minstrel PIE

0.010

0.015

0.006

0.007

0.020

4.788

4.729

0.289

310

Although the initial burst of traffic is successfully handled by both algorithms, PIE is unable to maintain the queue delay within its qdelay ref for the rest of the simulation. On the other hand, Minstrel PIE consistently maintains the queue delay around its lower bound of qdelay ref without hurting the link

18

315

utilization. Since the link utilization consistently remains at its peak (100%), Minstrel PIE senses an opportunity to minimize the queue delay as much as possible. A low value in the ‘Fairness’ column in Table 4 for both algorithms highlights the unfairness problem due to the unresponsive nature of UDP flows. This

320

problem can be addressed by combining flow queuing, without compromising on the benefits offered by Minstrel PIE. Section 4.3.3 provides more details.

11

PIE MinstrelPIE

10.5

Goodput (Mbps)

Goodput (Mbps)

11

10 9.5 9 8.5

PIE MinstrelPIE

10.5 10 9.5 9 8.5

8

8 25

20

15 10 5 0 Queue Delay (ms)

-5

-10

25

(a) Light TCP

20

15 10 5 0 Queue Delay (ms)

-5

-10

(b) Heavy TCP

Goodput (Mbps)

11 10.5 10 9.5 9 8.5

PIE MinstrelPIE

8 25

20

15 10 5 0 Queue Delay (ms)

-5

-10

(c) Mix TCP and UDP Figure 10: Representation of Fig. 4 to Fig. 9 as per RFC 7928

RFC 7928 recommends plotting the goodput as a function of queue delay to compare the performance of AQM algorithms. Fig. 10 depicts the results of above three scenarios as per the RFC 7928 guidelines. An ellipse represents 325

the contour with maximum likelihood 2D Gaussian distribution of goodput and

19

delay. The height and width of the ellipse are a function of standard deviation of goodput and delay, respectively. The orientation of an ellipse is based on the covariance between the two. Since the center of an ellipse represents the mean with equal extension of height and width on both sides, it is possible to get part 330

of the contour in the region with negative queue delay or with goodput greater than bottleneck link capacity. The area inside an ellipse can be interpreted as the variance in the values of goodput and delay. The more the variations, the larger is the outline of an ellipse [35]. The results show that Minstrel PIE maintains a better tradeoff, especially when responsive and unresponsive traffic

335

coexist. 4.2. RFC 7928 based Evaluation Table 5: Simulation Configuration for RFC 7928 based Evaluation Parameters Bottleneck Propagation Delay Non-bottleneck Propagation Delay

Values 80ms 20ms

Parameters Traffic Flows Direction AQM enabled in Forward path

Values Forward Only PIE/Minstrel PIE

Bottleneck Bandwidth

10 Mbps

TCP Application

Long-lived FTP

Non Bottleneck Bandwidth

100 Mbps

UDP Application with rate

Constant Bit Rate at 10Mbps

Buffer Size

200 packets

TCP enabled

NewReno

Packet Size

1000 Bytes

Simulation Time

300 Seconds

Thorough evaluation of an AQM algorithm requires significant time and efforts. Hence, the AQM and Packet Scheduling Working Group at IETF published RFC 7928 which provides the guidelines to evaluate AQM algorithms. An 340

automated evaluation framework complying with the guidelines of RFC 7928 has been recently developed for ns-3 [36]. We use this evaluation suite to verify the desired behavior of Minstrel PIE and its relative performance against PIE under various traffic conditions. While RFC 7928 recommends several test scenarios to evaluate AQM algorithms, we present the results for the ones that are most

20

345

relevant to the objective of designing Minstrel PIE. Table 5 presents the simulation configuration used by the AQM Evaluation Suite of ns-3. The same has been used for the evaluation of Minstrel PIE. 4.2.1. Unresponsive transport sender Table 6: Scenarios mentioned in Section 5.3 of RFC 7928 Traffic Scenario

Consists of a long-lived UDP flow from an unresponsive

Mix TCP

UDP Transport Sender

application with a single long-lived, non-application limited

and UDP

TCP NewReno flow.

With single

Consists of a non-application limited and long-lived, single

UDP Sender

UDP flow with sending rate more than bottleneck capacity.

9.4

9.4

9.2

9.2

Goodput (Mbps)

Goodput (Mbps)

Description

9 8.8 8.6

PIE MinstrelPIE

8.4 16

14

12 10 8 Queue Delay (ms)

PIE MinstrelPIE

9 8.8 8.6 8.4

6

4

30

e

(a) UDP with TCP Mix

25

20 15 10 5 Queue Delay (ms)

0

-5

(b) Single UDP Sender

Figure 11: Results for Section 5.3 from RFC 7928

The scenarios mentioned in this section are identical to the ones mentioned 350

in Section 5.3 of RFC 7928. The main idea is to evaluate the performance of AQM algorithms in the presence of unresponsive transport. Table 6 presents a summary of the scenarios. Fig. 11 presents the results for the traffic scenarios mentioned in Table 6. Minstrel PIE shows a tight control on the queue delay in both the scenarios,

355

more so in the case of a single unresponsive flow. We observe that both algorithms provide a stable performance (i.e., variations in queue delay and link

21

Table 7: Fairness for Section 5.3 traffic scenario from RFC7928

Flow Number

Throughput (in Mbps)

Fairness

TCP 1

UDP 1

PIE

0.063

8.983

0.50

Minstrel PIE

0.074

9.171

0.50

utilization are negligible in Fig. 11(b)) because a single UDP flow has been configured with Constant Bit Rate (CBR) application, which sends the data at a constant rate. The utilization and fairness (See Table 7) obtained with both 360

the algorithms is similar. These results are in line with those discussed in the previous section. 4.2.2. Levels of network congestion Table 8: Congestion scenarios mentioned in Section 8 of RFC 7928 Congestion Scenarios 1

Mild Congestion

2

Medium Congestion

3

Heavy Congestion

Description Consists of bulk non-application limited TCP flow which can generate packet drop rate of 0.1% at the router. Consists of bulk non-application limited TCP flow which can generate packet drop rate of 0.5% at the router. Consists of bulk non-application limited TCP flow which can generate packet drop rate of 1% at the router.

RFC 7928 specifies three scenarios with different levels of congestion varying from mild, medium to heavy congestion, respectively. The main idea is 365

to evaluate the performance of AQM algorithms in different levels of network congestion. Table 8 presents a summary of the scenarios. The details of each scenario configuration can be found in Section 8.2.2, 8.2.3 and 8.2.4 of RFC 7928, respectively. Since these scenarios configure only responsive flows to vary the amount of

370

congestion in the network, Minstrel PIE and PIE are expected to provide similar performance. Fig. 12(a), Fig. 12(b) and Fig. 12(c) depict the results for above mentioned scenarios, respectively.

22

9.2

9.4

PIE MinstrelPIE Goodput (Mbps)

Goodput (Mbps)

9.4

9 8.8 8.6 8.4

PIE MinstrelPIE

9.2 9 8.8 8.6 8.4

30 25 20 15 10 5 0 -5 -10 -15 Queue Delay (ms)

30 25 20 15 10 5 0 -5 -10 -15 Queue Delay (ms)

(a) Mild Congestion

Goodput (Mbps)

9.4

(b) Medium Congestion

PIE MinstrelPIE

9.2 9 8.8 8.6 8.4

30 25 20 15 10 5 0 -5 -10 -15 Queue Delay (ms)

(c) Heavy Congestion Figure 12: Results for Section 8.2.2 to 8.2.4 from RFC 7928

4.3. Evaluation using Flent To verify the effectiveness of Minstrel PIE in a real network environment, we 375

conducted experiments on a testbed by using FLExible Network Tester (Flent) [33]. Flent is developed to overcome the problems of coordination among different testing tools such as netperf [37] and iperf [38], reproducing testbed results, managing testbed configuration, and storing and analysing measurement data [33]. It provides test scenarios to evaluate the performance of AQM algorithms.

380

Flent’s TCP upload (tcp up) test has been used to evaluate the performance of Minstrel PIE. The testbed comprises of 1 sender, 1 receiver and 1 AQM machine, all running Ubuntu 16.04 LTS with Linux kernel 4.15. Minstrel PIE is implemented only on the AQM machine. Flent specific parameters settings and

23

traffic loads are listed in Table 9. In addition to evaluating Minstrel PIE in basic 385

scenarios like light and heavy TCP traffic, we evaluate it in realistic scenarios like: on-off unresponsive UDP flow, ECN enabled TCP flows, with and without flow queuing and different bottleneck buffer sizes. Table 9: Testbed Setup using ethtool, netem, tc and Flent Parameters

Values

Bottleneck Propagation Delay

Parameters

Values

Traffic Flows

80 ms

Forward Only

Direction

Non-bottleneck Propagation Delay

20 ms

AQM enabled in Forward path

PIE/Minstrel PIE

Bottleneck Bandwidth

10 Mbps

TCP Application

Long-lived FTP

Non Bottleneck Bandwidth

100 Mbps

UDP Application with rate

Constant Bit Rate at 10Mbps

Buffer Size

200 packets

TCP enabled

CUBIC (RFC 8312)

Packet Size

1000 Bytes

Simulation Time

100 Seconds

180 160 140 120 100 80 60 40 20 0

10

PIE MinstrelPIE

TCP Throughput (Mbps)

Queue Delay (ms)

4.3.1. Light TCP traffic

8 6 4 2

PIE MinstrelPIE

0 0

20

40

60 Time (s)

80

100

0

(a) Queue Delay

20

40

60 Time (s)

80

100

(b) TCP Throughput

Figure 13: Light TCP Traffic

This scenario is identical to the one discussed in Section 4.1.1 and consists 390

of 5 TCP flows that start at the same time in a dumbbell topology. Fig. 13 (a) and Fig. 13 (b) compare the performance of PIE and Minstrel PIE in terms of queue delay and bottleneck link utilization, respectively. The slight rise initially 24

Table 10: Fairness for Light TCP traffic scenario in testbed

Flow Number

Throughput (in Mbps)

Fairness

TCP 1

TCP 2

TCP 3

TCP 4

TCP 5

PIE

2.13

2.01

1.73

1.88

1.75

0.99

MinstrelPIE

1.94

1.94

1.93

1.84

1.83

0.99

in queue delay in Fig. 13 (a) is because all flows start at the same time. Both algorithms have similar performance since all the flows are responsive flows and 395

moreover, the number of flows is less. Additionally, Table 10 shows that the fairness among flows remains same with both the algorithms.

180 160 140 120 100 80 60 40 20 0

10

PIE MinstrelPIE

TCP Throughput (Mbps)

Queue Delay (ms)

4.3.2. Heavy TCP traffic

8 6 4 2

PIE MinstrelPIE

0 0

20

40 60 Time (s)

80

100

0

(a) Queue Delay

20

40 60 Time (s)

80

100

(b) TCP Throughput

Figure 14: Heavy TCP Traffic

This scenario is identical to the one discussed in Section 4.1.2 and sets up 50 TCP flows in a dumbbell topology, but otherwise, it is same as the previous 400

scenario. Fig. 14 (a) and Fig. 14 (b) compare the performance of PIE and Minstrel PIE in terms of queue delay and bottleneck link utilization, respectively. Queue delay is initially higher than the previous scenario because the number of flows is increased to 50 and all start at the same time. Both algorithms control queue delay appropriately for the rest of the experiment. PIE maintains the

405

queue delay around its qdelay ref and Minstrel PIE maintains it between the lower and upper limits of qdelay ref. The bottleneck link remains fully utilized 25

Table 11: Fairness for Heavy TCP traffic scenario in testbed

Flow Number

PIE

MinstrelPIE

Throughput (in Mbps) TCP 1-10

TCP 11-20

TCP 21-30

TCP 31-40

TCP 41-50

0.18

0.18

0.21

0.17

0.21

0.18

0.21

0.18

0.17

0.16

0.18

0.20

0.18

0.18

0.19

0.19

0.21

0.20

0.18

0.22

0.19

0.19

0.19

0.18

0.18

0.19

0.21

0.18

0.19

0.20

0.20

0.18

0.22

0.18

0.21

0.18

0.16

0.20

0.19

0.19

0.18

0.20

0.20

0.17

0.21

0.19

0.21

0.19

0.20

0.21

0.21

0.21

0.18

0.2

0.19

0.16

0.17

0.22

0.18

0.18

0.18

0.19

0.21

0.20

0.21

0.19

0.18

0.20

0.19

0.20

0.21

0.17

0.21

0.21

0.19

0.19

0.16

0.17

0.19

0.19

0.19

0.18

0.20

0.19

0.19

0.22

0.19

0.17

0.19

0.19

0.20

0.18

0.18

0.20

0.20

0.19

0.18

0.20

0.17

0.19

Fairness

in Fig. 14 (b) due to a large number of TCP flows, and both algorithms have a similar performance. Furthermore, Table 11 confirms that Minstrel PIE does not deteriorate the fairness among flows. 410

4.3.3. Benefits of ECN and Flow Queuing This section highlights the benefits of using ECN and Flow Queuing with Minstrel PIE. The experiments consist of two traffic configurations: 1-TCP-1UDP (a single TCP flow with a single UDP flow), and 5-TCP-1-UDP (five TCP flows with a single UDP flow). TCP flows start at 1 second and run until the

415

end of the experiment. UDP flow starts at 25 seconds and stops at 75 seconds. These configurations help us to evaluate the performance of Minstrel PIE when unresponsive flows join and leave the network. Initially, we evaluate the benefits of using ECN with Minstrel PIE, followed by evaluating the benefits of using flow queuing. 26

0.99

0.99

10

PIE MinstrelPIE

TCP Throughput (Mbps)

Queue Delay (ms)

180 160 140 120 100 80 60 40 20 0

PIE MinstrelPIE

8 6 4 2 0

0

20

40 60 Time (s)

80

100

0

(a) Queue Delay

20

40 60 Time (s)

80

100

(b) TCP Throughput

Figure 15: Mix TCP and UDP Traffic with tcp 1up Table 12: Fairness in tcp 1up test without ECN

Flow Number

420

Throughput (in Mbps)

Fairness

TCP 1

UDP 1

PIE

0.083

9.60

0.50

MinstrelPIE

0.064

9.61

0.50

Fig. 15 (a) and Fig. 15 (b) compare PIE and Minstrel PIE in terms of queue delay and TCP throughput without enabling ECN in a 1-TCP-1-UDP configuration, respectively. Large oscillation in queue delay around 25 seconds is due to the start of UDP flow. Minstrel PIE observes the increase in the avg dq rate and accordingly reduces the qdelay ref to achieve a tight control on

425

queue delay. Later, when UDP flow leaves the network at 75 seconds, Minstrel PIE increases the qdelay ref. Table 13: Fairness in tcp 1up test with ECN

Flow Number

Throughput (in Mbps)

Fairness

TCP 1

UDP 1

PIE

0.13

9.54

0.51

MinstrelPIE

0.11

9.56

0.51

Fig. 15 (b) shows the impact on the throughput of TCP flow when UDP flow starts. TCP throughput reduces significantly when UDP flow starts, and gets back to normal when UDP flow stops. The results in Table 12 show the 27

10

PIE MinstrelPIE

TCP Throughput (Mbps)

Queue Delay (ms)

180 160 140 120 100 80 60 40 20 0

PIE MinstrelPIE

8 6 4 2 0

0

20

40 60 Time (s)

80

100

0

(a) Queue Delay with ECN

20

40 60 Time (s)

80

100

(b) TCP Throughput with ECN

Figure 16: Mix TCP and UDP Traffic with tcp 1up

430

throughput share obtained by TCP and UDP flows. We repeat this experiment by enabling PIE and Minstrel PIE to use ECN, and the results are depicted in Fig. 16 (a) and Fig. 16 (b). It is observed that TCP throughput improves

180 160 140 120 100 80 60 40 20 0

10

PIE MinstrelPIE

TCP Throughput (Mbps)

Queue Delay (ms)

marginally (See Table 13), but still gets largely affected when UDP flow is on.

PIE MinstrelPIE

8 6 4 2 0

0

20

40 60 Time (s)

80

100

0

(a) Queue Delay

20

40 60 Time (s)

80

100

(b) TCP Throughput

Figure 17: Mix TCP and UDP Traffic

Fig. 17 (a) and Fig. 17 (b) compare PIE and Minstrel PIE in terms of queue 435

delay and TCP throughput without enabling ECN in a 5-TCP-1-UDP configuration, respectively. The results are similar to those observed for 1-TCP-1-UDP configuration in Fig. 15. After a sharp reduction to zero, TCP throughput improves slightly with both the algorithms, but takes more time with Minstrel

28

Table 14: Fairness in tcp 5up test without ECN Throughput (in Mbps)

Fairness

TCP 1

TCP 2

TCP 3

TCP 4

TCP 5

UDP 1

PIE

0.19

0.16

0.18

0.18

0.22

8.50

0.24

MinstrelPIE

0.17

0.17

0.18

0.16

0.17

8.60

0.24

180 160 140 120 100 80 60 40 20 0

10

PIE MinstrelPIE

TCP Throughput (Mbps)

Queue Delay (ms)

Flow Number

PIE MinstrelPIE

8 6 4 2 0

0

20

40 60 Time (s)

80

100

0

(a) Queue Delay with ECN

20

40 60 Time (s)

80

100

(b) TCP Throughput with ECN

Figure 18: Mix TCP and UDP Traffic with ECN

Table 15: Fairness in tcp 5up test with ECN

Flow Number

Throughput (in Mbps)

Fairness

TCP 1

TCP 2

TCP 3

TCP 4

TCP 5

UDP 1

PIE

0.32

0.29

0.30

0.34

0.31

8.30

0.28

MinstrelPIE

0.31

0.30

0.31

0.32

0.32

8.32

0.28

29

PIE. The main reason for this delay is that the drop probability of Minstrel PIE 440

is higher than that of PIE on account of lower qdelay ref. However, this concern is resolved by marking TCP packets using ECN, instead of dropping, as shown in Fig. 18 (b). The slight improvement offered by ECN can be observed by

180 160 140 120 100 80 60 40 20 0

10

FQ-PIE FQ-MinstrelPIE

TCP Throughput (Mbps)

Queue Delay (ms)

comparing the results shown in Table 14 and 15.

8 6 4 2

FQ-PIE FQ-MinstrelPIE

0 0

20

40 60 Time (s)

80

100

0

(a) Queue Delay

20

40 60 Time (s)

80

100

(b) TCP Throughput

Figure 19: Mix TCP and UDP Traffic with tcp 1up

Table 16: Fairness in tcp 1up test without ECN

Flow Number

Throughput (in Mbps)

Fairness

TCP 1

UDP 1

FQ-PIE

4.70

4.80

0.99

FQ-MinstrelPIE

4.61

4.90

0.99

Both PIE and Minstrel PIE being AQM algorithms do not provide flow pro445

tection. As discussed earlier, combining these algorithms with flow queuing is a promising approach. We provide some preliminary insights into the benefits offered by combining Minstrel PIE with flow queuing and comparing its performance with FQ-PIE by using the same two configurations described above. Fig. 19 (a) shows that FQ-MinstrelPIE has lesser average queue delay when UDP

450

flow is on between 25 seconds to 75 seconds and Fig. 19 (b) shows that using flow queuing offers significant advantage in providing fair share to the TCP flow. Table 16 confirms that TCP flow achieves its fair share of throughput. Fig. 20 shows the results for the same experiment, but with ECN enabled. Fig. 30

10

FQ-PIE FQ-MinstrelPIE

TCP Throughput (Mbps)

Queue Delay (ms)

180 160 140 120 100 80 60 40 20 0

8 6 4 2

FQ-PIE FQ-MinstrelPIE

0 0

20

40 60 Time (s)

80

100

0

(a) Queue Delay with ECN

20

40 60 Time (s)

80

100

(b) TCP Throughput with ECN

Figure 20: Mix TCP and UDP Traffic with tcp 1up Table 17: Fairness in tcp 1up test with ECN Throughput (in Mbps)

Flow Number

Fairness

TCP 1

UDP 1

FQ-PIE

4.58

4.9

0.99

FQ-MinstrelPIE

4.62

4.9

0.99

20 (a) shows that FQ-MinstrelPIE has lesser queue delay when UDP flow is on 455

and Fig. 20 (b) shows that enabling ECN helps to achieve a better stability in TCP throughput with FQ-MinstrelPIE. Table 17 shows the throughput share achieved by TCP and UDP flows. Table 18: Fairness in tcp 5up test without ECN

Flow Number

Throughput (in Mbps)

Fairness

TCP 1

TCP 2

TCP 3

TCP 4

TCP 5

UDP 1

FQ-PIE

1.58

1.60

1.58

1.60

1.60

1.62

0.99

FQ-MinstrelPIE

1.60

1.59

1.60

1.58

1.57

1.64

0.99

To verify the working of flow queuing scheme, we consider the 5-TCP-1UDP configuration. Fig. 21(a) and 21(b) presents the average queue delay and 460

TCP throughput for FQ-PIE and FQ-MinstrelPIE without ECN, respectively. Since the number of TCP flows are more in this configuration, the aggregate TCP throughput achieved by PIE and Minstrel PIE is around 8 Mbps when UDP flow is on. Table 18 confirms that TCP flows get a fair share with flow 31

10

FQ-PIE FQ-MinstrelPIE

TCP Throughput (Mbps)

Queue Delay (ms)

180 160 140 120 100 80 60 40 20 0

8 6 4 2

FQ-PIE FQ-MinstrelPIE

0 0

20

40 60 Time (s)

80

100

0

(a) Queue Delay

20

40 60 Time (s)

80

100

(b) TCP Throughput

Figure 21: Mix TCP and UDP Traffic with tcp 5up

queuing. Fig. 22 shows the results for the same experiment, but with ECN 465

enabled. Fig. 21 (a) and Fig. 22 (a) show that FQ-MinstrelPIE performs similar to FQ-PIE, and sometimes better when UDP flow is on. Fig. 21 (b) and Fig. 22 (b) show that both algorithms achieve similar TCP throughput, and Table 19 shows the throughput share achieved by TCP and UDP flows. Depending on these experimental observations we recommend to enable ECN and flow queuing, if possible, to achieve maximum advantage of using Minstrel PIE. The results reveal that Minstrel PIE is a promising algorithm, even when ECN and flow queuing are not enabled.

180 160 140 120 100 80 60 40 20 0

10

FQ-PIE FQ-MinstrelPIE

TCP Throughput (Mbps)

Queue Delay (ms)

470

8 6 4 2

FQ-PIE FQ-MinstrelPIE

0 0

20

40

60 Time (s)

80

100

0

(a) Queue Delay with ECN

20

40

60 Time (s)

80

(b) TCP Throughput with ECN

Figure 22: Mix TCP and UDP Traffic with tcp 5up

32

100

Table 19: Fairness in tcp 5up test with ECN

Flow Number

Throughput (in Mbps)

Fairness

TCP 1

TCP 2

TCP 3

TCP 4

TCP 5

UDP 1

FQ-PIE

1.58

1.60

1.57

1.57

1.58

1.62

0.99

FQ-MinstrelPIE

1.57

1.58

1.56

1.59

1.57

1.64

0.99

4.3.4. Evaluation with different buffer sizes

10

Upload

Latency (ms) MinstrelPIE-15 PIE-15 DropTail-15

Upload

10

Latency (ms) MinstrelPIE-100 PIE-100 DropTail-100

140

9

300

9 130

6

8 ms

120

ms

250

7

Mbits/s

Mbits/s

8

200 7

110

5

150 6

4 100

100

(a) Buffer 15 10

(b) Buffer 100 Upload

Latency (ms) MinstrelPIE-1000 PIE-1000 DropTail-1000

2000

8

ms

Mbits/s

1500 6

1000 4

500 2

(c) Buffer 1000 Figure 23: Light TCP Traffic with TCP CUBIC

A significant amount of work has been done to study the impact of bottleneck 475

buffer size on queue delay and link utilization [39–41]. In this scenario, we repeat the experiments described in Section 4.3.1 and 4.3.2 by configuring different buffer sizes at the bottleneck. We use the standard buffer size of 15, 100 and 1000 packets [42, 43] in both the cases. In addition, we also compare the results of PIE and Minstrel PIE with the traditional tail drop queues. Fig. 17 and Fig.

480

18 depict the results obtained with light TCP traffic and heavy TCP traffic, respectively.

33

10

9

Upload

Latency (ms) MinstrelPIE-15 PIE-15 DropTail-15

Upload

10

130

125

Latency (ms) MinstrelPIE-100 PIE-100 DropTail-100

8

250

8

6

6 200

ms

115

ms

7

Mbits/s

Mbits/s

120

4 110

5

150 105

4

2

100

(a) Buffer 15 10

(b) Buffer 100 Upload

Latency (ms) MinstrelPIE-1000 PIE-1000 DropTail-1000

2000

8 1500

1000

ms

Mbits/s

6

4

500

2

(c) Buffer 1000 Figure 24: Heavy TCP Traffic with TCP CUBIC

When the buffer size is 15 packets, it is observed that the RTT is marginally lesser with PIE and Minstrel PIE than tail drop queues. As the buffer size increases to 100 and 1000 packets, PIE and Minstrel PIE offer significant ad485

vantage over tail drop queues in terms of RTT. The link utilization is similar for all three algorithms when the buffer size is 15 packets and the traffic is light. However, the link utilization is marginally affected with tail drop queues when heavy traffic is used with a buffer size of 15 packets. This happens because the tail drop queues cause the large number

490

of TCP flows passing through this small buffer to synchronize. The impact of global synchronization on the overall link utilization is also visible in the cases where buffer size is 100, more so with 1000 packets because the congestion window of TCP flows grow to a large value. The link utilization with PIE and Minstrel PIE is better in all the cases. In general, Minstrel PIE provides a

495

better performance trade-off than PIE and tail drop queues.

34

5. Conclusions This paper proposed an extension to the PIE AQM algorithm, called Minstrel PIE. It adapts the qdelay ref to achieve a better trade-off between queue delay and link utilization. The results obtained from the simulation studies and 500

real time experiments validate the effectiveness and robustness of Minstrel PIE against unresponsive traffic. Minstrel PIE can be incrementally deployed in a real network setup as it is a minor modification of PIE, and does not require the user to configure any parameter explicitly. Furthermore, we demonstrated that FQ-MinstrelPIE ensures fair allocation of resources to responsive flows when

505

they coexist with unresponsive flows, and recommend that it is a suitable and effective algorithm to be investigated further for real time deployment.

References [1] J. Gettys, K. Nichols, Bufferbloat: Dark buffers in the Internet, Communications of the ACM 55 (1) (2012) 57–65. 510

[2] J. Gettys, Bufferbloat FAQ (2014). URL http://gettys.wordpress.com/bufferbloat-faq/ [3] S. Floyd, V. Jacobson, Random early detection gateways for congestion avoidance, IEEE/ACM Transactions on Networking 1 (4) (1993) 397–413. [4] S. Athuraliya, V. Li, S. Low, Q. Yin, REM: Active Queue Management,

515

in: Teletraffic Engineering in the Internet Era, Vol. 4 of Teletraffic Science and Engineering, Elsevier, 2001, pp. 817–828. [5] S. Floyd, R. Gummadi, S. Shenker, Adaptive RED: An algorithm for increasing the robustness of RED’s active queue management (2001). URL http://www.icir.org/floyd/papers/adaptiveRed.pdf

520

[6] W. Feng, K. G. Shin, D. D. Kandlur, D. Saha, The BLUE Active Queue Management Algorithms, IEEE/ACM Transactions on Networking (ToN) 10 (4) (2002) 513–528. 35

[7] C. V. Hollot, V. Misra, D. Towsley, W. Gong, On designing improved controllers for AQM routers supporting TCP flows, in: INFOCOM, Twentieth 525

Annual Joint Conference of the IEEE Computer and Communications Societies Proceedings, Vol. 3, IEEE, 2001, pp. 1726–1734. [8] K. Nichols, V. Jacobson, Controlling Queue Delay, Communications of the ACM 55 (7) (2012) 42–50. [9] R. Pan, P. Natarajan, C. Piglione, M. S. Prabhu, V. Subramanian,

530

F. Baker, B. VerSteeg, PIE: A lightweight control scheme to address the bufferbloat problem, in: IEEE 14th International Conference on High Performance Switching and Routing (HPSR), IEEE, 2013, pp. 148–155. [10] A. Langley, A. Riddoch, A. Wilk, A. Vicente, C. Krasic, D. Zhang, F. Yang, F. Kouranov, I. Swett, J. Iyengar, J. Bailey, J. Dorfman, J. Roskind, J. Ku-

535

lik, P. Westin, R. Tenneti, R. Shade, R. Hamilton, V. Vasiliev, W. Chang, Z. Shi, The QUIC Transport Protocol: Design and Internet-Scale Deployment, in: Proceedings of the Conference of the ACM Special Interest Group on Data Communication, SIGCOMM ’17, ACM, New York, NY, USA, 2017, pp. 183–196.

540

[11] A. Bergkvist, D. C. Burnett, C. Jennings, A. Narayanan, B. Aboba, Webrtc 1.0: Real-time communication between browsers, Working draft, W3C 91, 2012. [12] F. Li, X. Jiang, J. W. Chung, M. Claypool, Who is the King of the Hill? Traffic Analysis over a 4G Network, in: IEEE International Conference on

545

Communications (ICC), 2018, pp. 1–6. [13] C. Hollot, Y. Liu, V. Misra, D. Towsley, Unresponsive flows and AQM performance, in: INFOCOM, Vol. 1, IEEE, 2003, pp. 85–95. [14] W. Li, L. Zeng-zhi, C. Yan-ping, X. Ke, Fluid-based stability analysis of mixed TCP and UDP traffic under RED, in: 10th IEEE International

36

550

Conference on Engineering of Complex Computer Systems, ICECCS Proceedings, IEEE, 2005, pp. 341–348. [15] J. Cai, Z. Zhang, X. Song, An analysis of UDP traffic classification, in: 12th IEEE International Conference on Communication Technology (ICCT), IEEE, 2010, pp. 116–119.

555

[16] S. D. Patil, M. P. Tahiliani, On the robustness of AQM mechanisms against non-responsive traffic, in: IEEE International Conference on Advanced Networks and Telecommunications Systems (ANTS), IEEE, 2016, pp. 1–6. doi:10.1109/ANTS.2016.7947857. [17] I. J¨arvinen, M. Kojo, Evaluating CoDel, PIE, and HRED AQM techniques

560

with load transients, in: IEEE 39th Conference on Local Computer Networks (LCN), IEEE, 2014, pp. 159–167. [18] N. Kuhn, D. Ros, A. B. Bagayoko, C. Kulatunga, G. Fairhurst, N. Khademi, Operating ranges, tunability and performance of CoDel and PIE, Computer Communications 103 (2017) 74–82.

565

[19] P. E. McKenney, Stochastic fairness queueing, in: Proceedings. IEEE INFOCOM ’90: Ninth Annual Joint Conference of the IEEE Computer and Communications Societies The Multiple Facets of Integration, Vol. 2, 1990, pp. 733–740. [20] M. Shreedhar, G. Varghese, Efficient fair queuing using Deficit Round-

570

Robin, IEEE/ACM Transactions on Networking 4 (3) (1996) 375–385. [21] R. Al-Saadi, G. Armitage, Dummynet AQM v0. 2–CoDel, FQ-CoDel, PIE and FQ-PIE for FreeBSD’s ipfw/dummynet framework, Centre for Advanced Internet Architectures, Swinburne University of Technology, Melbourne, Australia, Tech. Rep. A 160418 (2016) 18.

575

[22] H. Zhang, C. V. Hollot, D. Towsley, V. Misra, A self-tuning structure for adaptation in TCP/AQM networks, in: GLOBECOM ’03. IEEE Global

37

Telecommunications Conference (IEEE Cat. No.03CH37489), Vol. 7, 2003, pp. 3641–3646. doi:10.1109/GLOCOM.2003.1258913. [23] J. D. C. Little, S. C. Graves, Little’s Law, Springer US, Boston, MA, 2008, 580

pp. 81–100. doi:10.1007/978-0-387-73699-0 5. URL https://doi.org/10.1007/978-0-387-73699-0 5 [24] S. McCanne, S. Floyd, The LBNL network simulator (ns-2) (1997). URL http://www.isi.edu/nsnam [25] K. De Schepper, O. Bondarenko, I. Tsang, B. Briscoe, PI 2: A Linearized

585

AQM for both Classic and Scalable TCP, in: Proceedings of the 12th International on Conference on emerging Networking EXperiments and Technologies, ACM, 2016, pp. 105–119. [26] K. Tan, J. Song, Compound TCP: A Scalable and TCP-friendly Congestion Control for High-speed Networks, in: 4th International workshop on

590

Protocols for Fast Long-Distance Networks (PFLDNet), 2006. [27] K. Tan, J. Song, Q. Zhang, M. Sridharan, A Compound TCP Approach for High-Speed and Long Distance Networks, in: 25th IEEE International Conference on Computer Communications, Proceedings IEEE INFOCOM, 2006, pp. 1–12.

595

[28] C. Kulatunga, N. Kuhn, G. Fairhurst, D. Ros, Tackling Bufferbloat in capacity-limited networks, in: European Conference on Networks and Communications (EuCNC), IEEE, 2015, pp. 381–385. [29] N. Kuhn, D. Ros, Improving PIE’s performance over high-delay paths, CoRR abs/1602.00569, 2016.

600

URL http://arxiv.org/abs/1602.00569 [30] T. R. Henderson, M. Lacage, G. F. Riley, C. Dowell, J. Kopena, Network simulations with the ns-3 simulator, SIGCOMM demonstration 14 (14) (2008) 527–527.

38

[31] H. Okano, FQ-PIE old implementation is available at (2017). 605

URL https://github.com/hironoriokano/fq-pie [32] R. Gautam, V.Saicharan, B. Mohit, M. Leslie, S. D. Patil, M. P. Tahiliani, FQ-PIE new implementation is available at (2018). URL https://github.com/gautamramk/FQ-PIE-for-Linux-Kernel [33] T. Høiland-Jørgensen, Flent: The FLExible Network Tester, in: The 11th

610

Swedish National Computer Networking Workshop (SNCNW), Karlstad, Sweden, May 28–29, 2015. [34] R. Jain, A. Durresi, G. Babic, Throughput fairness index: An explanation, (1999), Tech. rep., Department of CIS, The Ohio State University. [35] K. Winstein, H. Balakrishnan, TCP Ex Machina: Computer-generated

615

Congestion Control, in: Proceedings of the ACM, SIGCOMM ’13, ACM, New York, NY, USA, 2013, pp. 123–134. doi:10.1145/2486001.2486020. [36] A. Deepak, K. S. Shravya, M. P. Tahiliani, Design and Implementation of AQM Evaluation Suite for ns-3, in: Proceedings of the Workshop on ns-3, WNS3 ’17, ACM, New York, NY, USA, 2017, pp. 87–94.

620

[37] R. Jones, et al., NetPerf: a Network Performance Benchmark, Information Networks Division, Hewlett-Packard Company, (1996). URL https://hewlettpackard.github.io/netperf/ [38] A. Tirumala, F. Qin, J. Dugan, J. Ferguson, K. Gibbs, Iperf, (2006),. URL https://iperf.fr/

625

[39] D. Wischik, N. McKeown, Part I: Buffer sizes for core routers, Computer Communication Review 35 (2005) 75–78. [40] G. Raina, D. Towsley, D. Wischik, Part II: Control Theory for Buffer Sizing, SIGCOMM Comput. Commun. Rev. 35 (3) (2005) 79–82. doi:10.1145/ 1070873.1070885.

630

URL http://doi.acm.org/10.1145/1070873.1070885 39

[41] M. Enachescu, Y. Ganjali, A. Goel, N. McKeown, T. Roughgarden, Part III: Routers with Very Small Buffers, Computer Communication Review 35 (2005) 83–90. [42] G. Raina, D. Wischik, Buffer sizes for large multiplexers: TCP queueing 635

theory and instability analysis, in: Next Generation Internet Networks, 2005, pp. 173–180. doi:10.1109/NGI.2005.1431663. [43] G. Raina, S. Manjunath, S. Prasad, K. Giridhar, Stability and Performance Analysis of Compound TCP with REM and Drop-Tail Queue Management, IEEE/ACM Transactions on Networking 24 (4) (2016) 1961–1974. doi:

640

10.1109/TNET.2015.2448591.

40