European Journal of Operational Research 172 (2006) 352–365 www.elsevier.com/locate/ejor
Interfaces with Other Disciplines
Fair allocation using a fast smart market auction Chu-Fen Li a
a,*
, Jung-Shian Li
b
Department of Finance, National Formosa University, 64 Wun-Hua Road, Huwei, Yunlin 632, Taiwan, ROC b Department of Electrical Engineering, Institute of Computer and Communication Engineering, National Cheng Kung University, Taiwan, ROC Received 29 May 2003; accepted 5 October 2004 Available online 16 December 2004
Abstract Allocation of network resources may be formulated as an optimization problem seeking to maximize the sum of the utility function of each flow. Individual flows collectively achieve social welfare with a constraint that global fairness must be provided by a congestion control scheme using congestion indication feedback signals. However, in the reality, non-cooperative flows without employing any congestion control scheme do not respond to congestion indication feedback signals. In this paper, we analyze fairness of congestion control with cooperative and non-cooperative flows for communication networks. Furthermore, we propose a fast smart-market auction (FSMA) approach to achieve social welfare in the environment that cooperative and non-cooperative flows coexist. Through detailed simulations, the proposed approach is proven to be effective in providing fairness. 2004 Elsevier B.V. All rights reserved. Keywords: Congestion control; Efficiency; Fairness; Fast auction; Smart market; Social welfare
1. Introduction When a communication network becomes congested, two actions may be taken. First, end users might stop sending packets. Then, congestion should be cut down since the generated traffic decreases. Second, routers in the network might drop packets. Congestion can also be alleviated with less transmission packets. Regardless whether dropping packets in the routers or suppressing packets in the sources is adopted, fairness should be provided. These issues are important for the future e-business on the Internet. Traffic generated by applications that are able to modify their data transfer rates according to the available
*
Corresponding author. Tel.: +886 5 6315756; fax: +886 5 6331950. E-mail address: cfl
[email protected] (C.-F. Li).
0377-2217/$ - see front matter 2004 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2004.10.006
C.-F. Li, J.-S. Li / European Journal of Operational Research 172 (2006) 352–365
353
bandwidth within the networks is termed cooperative. Kelly [13] has shown that the aggregate utility is maximized according to a weighted proportional fairness if usersÕ utilities are concave functions of their attained throughput. He has also shown that a weighted proportionally fair allocation could be achieved by simple rate control algorithms using additive increase and multiplicative decrease rules like Transmission Control Protocol (TCP) [14,15,17]. The prescribed researches assume cooperation of applications. The social welfare and fairness can be achieved if all the applications are cooperative. However, more and more non-cooperative real-time applications use non-adaptive algorithms similar to User Datagram Protocol (UDP). Here, we want to discuss how the available bandwidth within the networks could be shared between competing streams of cooperative and non-cooperative flows. The smart market approach has been proposed by MacKie-Mason and Varian [16]. The approach is employed to allocate resources in a network, where a price is set for each packet depending upon the level of demand. In this paper, we present that the benefits of a smart market may be achieved by a very simple proposed mechanism when cooperative and non-cooperative flows coexist. The proposed scheme, called Fast Smart-Market Auction (FSMA), can provide both social welfare and fairness for cooperative and non-cooperative flows. The success of the Internet lies in keeping the router simple and distributing the complexity to the endhosts. In the proposed FSMA scheme, the router maintains only a zombie list, by which a threshold cutoff is calculated. When congestion occurs, the router drops packets by comparing the mark of each packet with the threshold cutoff. The marking of packets is performed in each end-host and remarking in the router is not necessary for FSMA, contrary to Core-Stateless Fair Queueing (CSFQ) [9]. The rest of the paper is structured as follows. Section 2 describes our proposed rate-marking algorithm and discusses the difference of cooperative and non-cooperative flows in nature. In Section 3, the methods for marking the price in packets for cooperative and non-cooperative flows are presented. Furthermore, the fast auction algorithm is described. Section 4 shows the simulation results of our proposed scheme compared with CSFQ [9] and Fair Random Early Detection (FRED) [5], which have similar complexity. Finally, we describe our conclusion in Section 5.
2. Rate-marking algorithms On the Internet, packet loss may occur as a result of transmission errors, but also, and most commonly, as a result of congestion. TCP end-to-end congestion control mechanism reacts to packet loss by reducing the number of outstanding unacknowledged data segments allowed in the network. TCP flows that share a common bottleneck reduce their rates so that the available bandwidth will be, in the ideal case, distributed equally among them. Not all Internet applications employ TCP congestion control and therefore, the available bandwidth may not be allocated fairly among flows. Unfairness is not obvious if most of the applications use TCPfriendly congestion control schemes, such as HTTP, SMTP, or FTP. However, the amount of audio/video streaming applications such as Internet audio players, IP-telephony, video conferencing and similar types of real-time applications is constantly growing and the percentage of non-TCP traffic increases tremendously. Since these applications do not integrate TCP-compatible congestion control mechanisms, they treat competing TCP flows in an unfair manner: upon encountering congestion, all contending TCP flows reduce their data rates in an attempt to dissolve the congestion, while non-TCP flows continue to send packets at their original rate. This unfair situation can lead to starvation of TCP traffic, or even to a congestion collapse [2], which describes the undesirable situation where the available bandwidth in a network is almost exclusively occupied by packets that belong to flows without equipping any congestion control mechanisms [10]. A handful of approaches to dealing with congestion in the router have been proposed. Some of these are Source Quench, Random Drop, Congestion Indication, Selective Feedback Congestion Indication, Fair
354
C.-F. Li, J.-S. Li / European Journal of Operational Research 172 (2006) 352–365
Queuing, and Bit-Round Fair Queuing [6]. They differ in whether they use a control message, and indeed, whether they view control of the end-systems as necessary, but none of them in itself lowers the demand of users and consequent load on the network. Most existing stateless router congestion control algorithms process cooperative and non-cooperative traffic in the same way. However, the effect of dropping one cooperative packet is different from dropping one non-cooperative packet. In our algorithm, we will mark packets the rate at the entrance of the network, which may be at the source or the edge router. When these marked packets pass through the core routers, they will be enqueued or dropped depending on their marks. Our proposed scheme has the following features: • Synchronization avoidance: TCP sources sharing a common bottleneck tend to synchronize since they exhibit the same loss cycle. This could be avoided by marking packets randomly. • Distinct marking for the cooperative and non-cooperative flows, respectively: the effect on sending rate caused by dropping one TCP packet is absolutely different from dropping one UDP packet. Packets belonging to non-cooperative flows are marked differently from those belonging to cooperative flows. As in CSFQ [9], states are not kept in routers and rate information of each flow is marked in its packets. However, FSMA marks packets in a way different from CSFQ. Marking is done only once at the entrance of the networks, either at the source or at the edge router, which is called the labeler. The mark is not changed at any core routers, that is, no remarking is performed at the core networks. If the router is congested, packets with the largest marked rate will be dropped. The procedure resembles an auction. The buyer (packet) with the largest bid (marked rate) gets the commodity (dropping). Gradually, the congestion is released. However, the convergence of the auction is slow and it is not efficient for a core router with thousands of packets passing by. In Section 3, we will introduce an efficient dropping mechanism, which is called fast auction. The architecture of the proposed scheme including labeler and core routers is shown as in Fig. 1.
3. Smart market marking and fast auction 3.1. Cooperative flows The authors in [7] present a good model of TCP rate function, which depends on the loss rate and round trip time. The sending rate of a TCP flow can be approximately expressed as follows:
Fig. 1. Architecture.
C.-F. Li, J.-S. Li / European Journal of Operational Research 172 (2006) 352–365
0
355
1
1 BW max C qffiffiffiffiffi ; BðpÞ min @ qffiffiffiffiffi A; RTT RTT 2bp þ T min 1; 3 3bp pð1 þ 32p2 Þ 0 3 8
ð1Þ
where RTT is round trip time, T0 is timeout value, p is loss rate, b is the number of acknowledged packets by a received ACK, and Wmax is the maximal window size. When a TCP packet arrives at the labeler, the labeler generates a random number X, which is in [0, 1] as the loss rate. Then the labeler uses the loss rate and the rate function to mark the rate on the packets. The parameters such as RTT and timeout value are kept at the TCP source. So the marking will be easier if it is done in the TCP source. With randomly generated number X, we can avoid the burst effect resulting from a chain of highly marked packets. We convert the flowÕs goodput to a label in the mark (FSMA) field in Fig. 2 as follows: 0 1 1 BW max C qffiffiffiffiffiffi marktcp ¼ ð1 X Þ min @ ; qffiffiffiffiffiffi A: RTT RTT 2bX T min 1; 3 3bX X ð1 þ 32X 2 Þ 0 3 8
ð2Þ
3.2. Non-cooperative flows We estimate the arrival rate of UDP flow i by exponential averaging formula in the source. This formula is discussed in [9] and has the following form: Ri ¼ ð1 eDt=K Þ
L þ eDt=k Ri ; Dt
ð3Þ
where Dt is the packet interarrival time, L is the bits sent in Dt, and K is the estimating interval. After the rate is estimated, the goodput and marking in the mark (FSMA) field in Fig. 2 are Budp ðpÞ ¼ Ri ð1 pÞ
ð4Þ
markudp ¼ Ri ð1 X Þ;
ð5Þ
and
respectively, where p is the loss probability and X is a generated random number in [0, 1].
Ver Hdr.Len
TOS
Total Length Fragment
mark (FSMA)
- DF MF Offset
Time To
Protocol
Live
Number
Header Checksum
32 bit Source Address 32 bit Destination Address Options (0 to 10 Words of 32 Bits)
Fig. 2. IP header for smart market marking.
356
C.-F. Li, J.-S. Li / European Journal of Operational Research 172 (2006) 352–365
Fig. 3. Smart market mark of cooperative and non-cooperative flows.
The mapping from loss rate to goodput is shown in Fig. 3. When one packet arrives at the labeler, FSMA generates a random number, and maps the random number to goodput by its rate function. The packets with rate lower than the fair share rate will pass, but those with rate higher than the fair share rate will be dropped when congestion occurs. According to different marking strategies for TCP and UDP, respectively, the dropping rate of cooperative TCP flows is much smaller than that of non-cooperative UDP flows when congestion occurs. The fair share rate is achieved by auction [18]. The router drops packets with the largest marked rate. However, it is impractical for a high-speed router. Consequently, we propose a fast auction algorithm, described in the following section, for getting the fair share rate efficiently. 3.3. Fast auction The core router must estimate the fair share rate [4] to accelerate the process of auction. In the core routers, we have to estimate the number of flows, Nact(t). Let the core router have the capacity C, then we can approximate the fair share rate at C/Nact(t). When the total arrival rate Rtotal of packets is larger than the link capacity in the core router, the fast auction starts working. If the next arriving packetÕs mark is larger than C/Nact(t), then it will be dropped. If not, it will be inserted in the queue of packets. Since the router maintains only a FIFO queues, packet order is preserved. With the fair share rate C/Nact(t), our fast-auction router acts like a low-pass filter as shown in Fig. 4. The proposed scheme does not need to maintain per-flow state, and packet marking is done only once at the edge of the network. 3.3.1. Estimation of total arrival rate We use exponential averaging formula to estimate the total arrival rate of packets [9]. The estimation formula is as follows: Rtotal ¼ ð1 eDt=K Þ
L þ eDt=k Rtotal ; Dt
where Dt is packet interarrival time, L is the bits sent in Dt, and K is the interval of estimation.
ð6Þ
C.-F. Li, J.-S. Li / European Journal of Operational Research 172 (2006) 352–365 Label value
357
Fair share = infinite if Rtotal <= C Fair share = C/Nact if Rtotal >= C Fairshare rate
Packets labeled byrate
Low passfilter filtered by fair sharerate
Filtered Packets
Fig. 4. Fast auction in the router.
3.3.2. Estimated number of flows In the core router, once when a packet arrives, it is compared with an entry chosen randomly from a zombie list. The zombie list is used to record the history of packets passing by. Each entry of the zombie list contains information of packet including source and destination addresses. The two results are as follows. Hit: If the information of an arrival packet matches the chosen entry, we call it ‘‘hit’’. In the case, the record in the slot of the zombie list is not changed. Miss: If the two do not belong to the same flow, we call it ‘‘miss’’. The chosen slot in the table is reset to the flow identifier of the arriving packet. Basically, rhit is the rate that the flow ID of incoming packet matches that of one randomly selected in the queue, while rmiss denotes the rate that two compared packets are not of the same flow. For a sliding window time s, the ‘‘hit’’ and ‘‘miss’’ rates are defined as rnhit ¼
n rn1 hit s þ shit n n1 s þ ðthit thit Þ
ð7Þ
and rnmiss ¼
n rn1 miss s þ smiss ; n s þ ðtmiss tn1 miss Þ
ð8Þ
respectively, where snhit ðsnmiss Þ is the size of the nth arrival packet when hitting (missing), and tnhit ðtnmiss Þ is the nth hitting (missing) time. Consider the following situation, in which there are n flows passing through the router; ri and pi denote the flow rate estimated and the buffer occupancy of flow i, respectively. Although pi is the ratio of packets belonging to flow i in the queue, we will explain later that it does not affect the accuracy of estimating the number of active flows even if pi is not known. There are two auxiliary rates involved in calculating Nact: rhit and rmiss. Intuitively, rhit is the rate that the flow ID of an incoming packet matches that of one randomly selected packet in the queue, while rmiss denotes the rate that two compared packets are not of the same flow. The two auxiliary rates are shown as n X r i pi ; ð9Þ rhit ¼ i¼1
rmiss ¼
n X i¼1
ri ð1 pi Þ:
ð10Þ
358
C.-F. Li, J.-S. Li / European Journal of Operational Research 172 (2006) 352–365
The number of active flows is defined as rhit þ rmiss N act ¼ . rhit
ð11Þ
To explain the definition of Nact in Eq. (11), we can give a simple example. If there are N flows, each with flow rate r, the distribution of each flow in the zombie list is 1/N. The hit and miss probabilities are 1/N and (N 1)/N, respectively. So, the hit and miss rates of each flow are r/N and r(N 1)/N, respectively. Consequently, the estimated number of active flows equals [N(r/N) + Nr(N 1)/N]/[N(r/N)] = N. By shaping each flow close to the fair share, the estimated number of active flows will converge to the accurate value. For example, pi is proportional to ri in a FIFO queue. From (9)–(11), we can get n N act ¼ 2 ; ð12Þ Cr þ 1 where Cr is the coefficient of variation in flow rate and equals rr/E[r]. If there exists a flow with a much larger rate, Cr equals n 1 and Nact equals 1. If all flows have the same rate, Cr equals 0 and Nact equals n. Assume that n flows pass through the FIFO queue. Let ri and pi denote the arrival rate and the queue occupancy of flow i. Basically, pi is direct proportional to ri in a FIFO queue and equals ri pi ¼ Pn
i¼1 ri
¼
ri : n E½r
ð13Þ
From formula (11), we have Pn 2 2 n X r Var½r þ E½r rhit ¼ : ri pi ¼ i¼1 i ¼ n E½r E½r i¼1
ð14Þ
The sum of rhit and rmiss is equal to the aggregation of the arrival rate of all flows. Therefore, from formulas (11) and (14), the number of active flows is estimated to be 2
N act ¼
rhit þ rmiss n E½k ¼ : 2 rhit Var½k þ E½k
ð15Þ
Let us define rr Cr = coefficient of variation of arrival rate =E½r and C 2r = square of coefficient of variation = Var½r or E½r2 E½r2 2 1. E½r Furthermore, from the definition above and formula (15), the number of active flows can be expressed as n : ð16Þ N act ¼ 2 Cr þ 1 If there exists a flow with much larger rate than the others, that is, for "j 5 i, rj ri, we obtain E½r2 ¼ E½r ¼
r2i ; n
ð17Þ
ri : n
ð18Þ
Then the square of the coefficient of variation can be expressed as E½r2 E½r
2
1¼
r2i =n ðri =nÞ
2
1 ¼ n 1:
Therefore, from formula (16), the estimated number of active flows equals 1.
ð19Þ
C.-F. Li, J.-S. Li / European Journal of Operational Research 172 (2006) 352–365
359
If all flows have the same rate, that is, for "j, rj ¼ r, we have that E½r2 ¼ r2 ;
ð20Þ
E½r ¼ r:
ð21Þ
Then the square of the coefficient of variation can be expressed as E½r2
r2
E½r
ðrÞ
1¼ 2
2
1 ¼ 0:
ð22Þ
Therefore, from formula (16), the estimated number of active flows equals n. In fact, pi is unknown. Only the comparison result (‘‘hit’’ or ‘‘miss’’) and the relevant information of the arriving packet (the packet size and the time since the last comparison) are viable. The number of active flows is computed using formula (11). When a packet belonging to flow i arrives, the probability that the drop candidate and this packet are of the same flow is equal to the queuing occupancy of flow i. 3.3.3. Fast auction in smart market In the so-called smart market approach, users only indicate their maximum willingness to pay for network access, or ‘‘bid ’’, on a per-packet basis [1]. The network checks the bid attached to each packet against a cutoff value, and only packets with bids greater than this value are admitted. In our case, the smart market works a little differently. The FSMA mark is similar to the ‘‘bid’’. However, the core router checks the mark labeled in each packet against a cutoff value, and only packets with mark smaller than this value are admitted. The cutoff value can be obtained by dropping the largest value of mark among packets gradually as in traditional auction but it converges too slowly in a high-speed network when congestion occurs. Here we describe an approach to calculating the cutoff value (the fare share rate). The fast auction can be achieved easily with this calculated cutoff value. Consider a fluid model of a router with output link capacity C. As in fair queuing schemes [3,5,8,9], we want to achieve max–min fair bandwidth sharing. Assume that flow i has the arrival rate ri (t). When the router is congested, all flows passing the bottleneck router are limited by the fair share rate. Let f(t) be the fair share rate at time t. Flow i is allocated the rate min(ri (t), f(t)). Let Rtotal denote the total arrival rate, n X ri ðtÞ: ð23Þ Rtotal ¼ i¼1
The work complexity including sorting and estimation to find the fair share rate is O(n log n). It is impractical to be employed in the core routers where thousands of flows pass through. Here we use a heuristic approach to approximate the fair share rate. There are two phases. The router in phase 1 is congested, while it is non-congested in phase 2. The limiting rate for dropping mechanism in the two phases is chosen as follows. Phase 1: If Rtotal P C, then the limiting rate for each flow L(t) is C/Nact, where Nact is the estimated number of flows at this router. Phase 2: If Rtotal < C, then the limiting rate L(t) is infinite, that is, no packets will be dropped. Then, the service obtained by flow i in phase 1 is as follows. • Limited: arrival rate ri(t) > L(t), then flow i will be served at fair rate L(t). • Unlimited: arrival rate ri(t) < L(t), the router then serves the flow at fair rate ri(t).
360
C.-F. Li, J.-S. Li / European Journal of Operational Research 172 (2006) 352–365
Combined with the rate-marking mechanism, max–min fairness can be achieved. TCP flows can get their fair share rates same as the non-cooperative UDP flows. When a packet arrives at the source (or the edge router), FSMA generates a random number to get a rate by the associated rate function (UDP or TCP in Fig. 4). Then, the rate is labeled in the mark (FSMA) field of the header of the packet. Subsequently, the packet arrives at a core router. The number of active flows is estimated first, then the router will inspect whether it is congested or not: if congested, the packet will be filtered; if not, the packet will be routed. In the proposed scheme, analogical to traditional auctions, the seller is the router and the commodity being auctioned is ‘‘dropping’’. The buyers are packets belonging to different flows which do not want their packets being dropped in the router. The mark of each packet is similar to the bid. When congestion occurs, the router must drop a packet with the largest bid. By this approach, the fair bandwidth allocation can be achieved. It is the so-called smart-market auction. However, a router must handle lots of packets when congestion occurs. The auction process is too slow for the router to decide which packet should be dropped. Consequently, a threshold cutoff is proposed to accelerate the speed of auctions. It is the so-called fast auctions.
4. Simulations In this section, we evaluate our algorithm and compare the performance with other schemes, such as FRED [5] and CSFQ [9]. All the simulations are performed by the ns-2 simulator [11] and the codes of CSFQ and FRED are obtained from [12]. 4.1. Single congested link The first simulation we consider is to test the performance of 100 UDP flows passing through a congested link. The bottleneck link has capacity of 5 Mbps with a link propagation delay of 1 ms. We divide 100 flows into 10 groups indexed from 0 to 9. Each flow of group i sends (50 + 10i) kbps. We perform three experiments using the topology as shown in Fig. 5. Fig. 6 shows the average throughput over an interval of 30 seconds. FSMA allocates bandwidth fairly among flows at different rates. Each group of FSMA gets an average bandwidth of around 50 kbps (the fair share rate). The Jain fairness indexes [19] of CSFQ, FRED and FSMA are 0.999, 0.994 and 0.999, respectively. The utilizations of CSFQ, FRED and FSMA are 0.910, 0.990 and 0.996, respectively. FSMA is proven to achieve better fairness and social welfare. In the second experiment, we further consider the impact of one ill-behaved UDP flow that sends 5 Mbps competing with 100 TCP flows divided into 10 groups. Fig. 7 shows the average throughput of the UDP flow (group 0) and each group of TCP flows over an interval of 30 seconds. The UDP flow under FRED and CSFQ gets much more bandwidth than TCP flows (more than 20 times the fair share). The UDP flow under FSMA gets 57 kbps. It is very close to the fair share rate. The Jain fairness indexes of CSFQ, FRED and FSMA are 0.091, 0.013 and 0.983, respectively. The utilizations of CSFQ, FRED and FSMA are 0.936, 0.994 and 0.997, respectively. FSMA is proven to achieve better fairness and social welfare.
S
10Mbps
R1
5Mbps
R2
10Mbps
R3
10Mbps
R Sinks
TCP/UDP Sources
Fig. 5. Single congested link topology.
C.-F. Li, J.-S. Li / European Journal of Operational Research 172 (2006) 352–365 CSFQ
FRED
361
FSMA
Average Throughput (kbps)
60 50 40 30 20 10 0 0
1
2
3
4
5
6
7
8
9
Group Index Fig. 6. Simulation results for a 5 Mbps bottleneck shared by 100 UDP flows. The arrival rate for each flow at group i is (50 + 10i) kbps. The groups are indexed from 0 to 9. Each group contains 10 UDP flows.
CSFQ
FRED
FSMA
Average Throughput (kbps)
10000
1000
100
10
1
0
1
2
3
4
5
6
7
8
9
10
Group Index Fig. 7. Simulation results for a 5 Mbps bottleneck shared by one UDP flow (index 0) competing with 10 groups of TCP flows. The UDP flow sends at 5 Mbps. Each group contains 10 TCP flows.
In the third simulation, the effect on a single TCP flow competing with multiple UDP flows is evaluated. We analyze 10 different conditions, a single TCP flow competing with (10i 1) UDP flows, i = 1, 2, 3, . . . , 10. In each experiment, UDP flows send packets at twice the fair share rate, 5/(10i) Mbps. In Fig. 8, the TCP flow under FSMA still achieves satisfactory ratio of the average throughput to fair share rate. FRED and CSFQ fail to provide fairness. 4.2. Multiple congested links In the experiment we analyze the throughput when the one flow passes by multiple congested links. As shown in Fig. 9, there exist multiple congested links between core routers. The link capacity between edge and core routers is 10 Mbps while the link bandwidth between two core routers is 5 Mbps. A TCP flow or a UDP flow passes from the left side to the right side. The UDP sources in the background send 600 kbps.
362
C.-F. Li, J.-S. Li / European Journal of Operational Research 172 (2006) 352–365 CSFQ
FRED
FSMA
1.4
Allocated BW/Ideal BW
1.2 1 0.8 0.6 0.4 0.2 0 9
19
29
39
49
59
69
79
89
99
Total Number of UDF Flows Fig. 8. The normalized bandwidth of a TCP flow competing with N 1 UDP flows sending at twice the fair share rate of the bottleneck.
UDP-1 ~ UDP10 UDP11 ~UDP20 sink sink r
r
r
E
r
UDP-(10K+1) ~UDP-10(K+1) sink r
E
r
E
r
r
E TCP/UDP-0 sink
TCP/UDP-0 source s
E
s UDP-1
C
C
C
C
E
E
E
E
s
s
s
s
s
UDP-10 UDP-11 UDP-20
s
C
E
r
s
UDP-(10K+1) UDP-10(K+1)
Fig. 9. Topology of multiple congested links: the link capacity between the edge and core routers is 10 Mbps and that between core routers is 5 Mbps. The latency of each link is set to 1 ms. All the UDP flows send 600 kbps except for UDP-0 sending at its fair share rate 5/11 Mbps.
However, the UDP-0, as the foreground traffic, sends packets at the fair share rate 5/11 Mbps. First, we test the case with a single TCP flow. Fig. 10 shows that TCP flow under FSMA gets pretty good performance, while CSFQ and FRED perform poorly. Furthermore, we simulate the situation with one well-behaved UDP going through multiple congested paths. Fig. 11 shows the normalized throughput that the UDP gets. UDP under FRED gets few throughputs while passing more congested paths. CSFQ and FSMA perform well for the UDP flow. 4.3. Fairness among flows with different end-to-end delay In this simulation, we use a topology like Fig. 5, and we have one TCP source and 39 UDP sources. The propagation delay of the link between R1 and R2 varies from 1ms to 499ms and the others are fixed in 1ms.
C.-F. Li, J.-S. Li / European Journal of Operational Research 172 (2006) 352–365 CSFQ
FRED
FSMA
1
Allocated BW/Ideal BW
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
1
2
3
4
5
6
7
8
9
10
Number of Congested Links Fig. 10. The normalized throughput of a TCP flow vs. number of congested links with UDP flows.
CSFQ
FRED
FSMA
1.2
Allocated BW/Ideal BW
1 0.8 0.6 0.4 0.2 0
1
2
3
4
5
6
7
8
9
10
Number of Congeseted Links
Fig. 11. The normalized throughput of a UDP flow sending 5/11 vs. number of congested links with UDP flows.
CSFQ
FRED
FSMA
1.2
Allocated BW/Ideal BW
1 0.8 0.6 0.4 0.2 0 0
200
400
600
800
1000
Number of Congested Links
Fig. 12. The normalized throughput of TCP vs. round trip time.
363
364
C.-F. Li, J.-S. Li / European Journal of Operational Research 172 (2006) 352–365
The result is shown as in Fig. 12. It can be observed that FSMA can work very well with a large round trip time, but CSFQ and FRED can not perform well.
5. Conclusion The key to success on the Internet is the TCP protocol, which is basically cooperative and distributive. With cooperative TCP sources, the Internet can keep routers simple. However, when more and more noncooperative UDP flows join in competition, bandwidth allocation becomes unfair for the present Internet. Non-cooperative flows can get much more bandwidth than cooperative flows. To remedy the fairness problem, FRED [5] and CSFQ [9] are proposed. However, FRED is a per-flow scheme. FRED routers must maintain state of each flow. The per-flow queue management needs a lot of computation efforts in routers. CSFQ is a core-stateless scheme and simpler than FRED. However, relabelling each packet in each passing router is complex. The proposed FSMA does not need relabelling and uses a fast smart-market auction algorithm to allocate cooperative or non-cooperative flows fairly. FSMA does not need to maintain per flow states and the packet marking is performed only once at the edge of the networks. FSMA employs marking to perform the congestion control. By different marking strategies for cooperative and non-cooperative flows, respectively, FSMA can achieve fairness and high-level utilization. Furthermore, FSMA uses fast auction to improve the scalability of finding the cutoff values when congestion occurs. FSMA is an end-to-end and router-centric integrated solution. Moreover, FSMA can provide social welfare and achieve fairness at the same time, even when cooperative and non-cooperative flows coexist. Through detailed simulations, FSMA is proven to work better than CSFQ and FRED in heterogeneous environments. The simplicity and proven performance of FSMA make it very suitable to be employed in todayÕs high-speed Internet.
Acknowledgment We are grateful to National Science Council of the Republic of China for its financial support under Grant NSC 90-2416-H-309-010.
References [1] A. Clerget, W. Dabbous, TUF: Tag-based Unified Fairness, in: IEEE INFOCOM 2001, pp. 498–501. [2] S. Floyd, K. Fall, Promoting the use of end-to-end congestion control in the internet, IEEE/ACM Transactions on Networking 7 (4) (1999) 458–472. [3] W. Feng, D. Kandlur, D. Daha, K. Shin, Stochastic fair blue: A queue management algorithm for enforcing fairness, in: Proceedings of Infocom 2001, April 2001, pp. 1520–1529. [4] J.-S. Li, M.-S. Leu, 2002 May, Fair bandwidth share using flow number estimation, in: Proceedings of ICC 2002, New York City, USA. [5] D. Lin, R. Morris, Dynamics of random early detection, in: Proceedings of ACM SIGCOMMÕ97, October 1997, pp. 127–137. [6] A. Mankin, K.K. Ramakrishnan, Gateway congestion control survey IETF performance and congestion control working group, June 1990. [7] J. Padhye, V. Firoiu, D. Towsley, J. Kurose, Modeling TCP throughput: A simple model and its empirical validation, in: Proceedings of ACM SIGCOMMÕ 98, 1998. [8] M. Shreedhar, G. Varghese, Efficient fair queuing using deficit round robin, in: Proceedings of ACM SIGCOMMÕ95, 1995, pp. 231–242. [9] I. Stoica, S. Shenker, H. Zhang, Core-stateless fair queuing: A scalable architecture to approximate fair bandwidth allocations in high speed networks, in: Proceedings of ACM SIGCOMMÕ98, August 1998.
C.-F. Li, J.-S. Li / European Journal of Operational Research 172 (2006) 352–365 [10] [11] [12] [13] [14] [15] [16] [17] [18] [19]
365
J. Widmer, R. Denda, M. Mauve, A survey on TCP-friendly congestion control, IEEE Network 15/3 (2001) 28–37. Available from:
. Available from:
. F.P. Kelly, Charging and rate control for elastic traffic, European Transactions on Telecommunications 8 (1997) 33–37. F.P. Kelly, A.K. Maulloo, D.K.H. Tan, Rate control in communication networks: Shadow prices, proportional fairness and stability, Journal of the Operational Research Society 49 (1998) 237–252. V. Jacobson, Congestion avoidance and control, in: Proceedings of ACM SIGCOMMÕ 88, 1988. J.K. MacKie-Mason, H.R. Varian, Pricing the internet, in: B. Kahin, J. Keller (Eds.), Public Access to the Internet, Prentice-Hall, Englewood Cliffs, NJ, 1994. L.L. Perterson, B.S. Davie, Computer Networks, Morgan Kaufmann Publishers, San Francisco, CA, 2000. V. Krishna, Auction Theory, Academic Press, San Francisco, 2002. R. Jain, The Art of Computer Systems Performance Analysis, Wiley, 1991.