bandwidth allocation algorithms for weighted maximum rate constrained link sharing policy

6
Information Processing Letters 97 (2006) 238–243 www.elsevier.com/locate/ipl Bandwidth allocation algorithms for weighted maximum rate constrained link sharing policy Jeng Farn Lee a,b,, Meng Chang Chen a , Ming Tat Ko a , Wanjiun Liao b a Institute of Information Science, Academia Sinica, Taiwan b Department of Electrical Engineering, National Taiwan University, Taiwan Received 3 May 2005; received in revised form 28 September 2005; accepted 9 November 2005 Available online 15 December 2005 Communicated by A.A. Bertossi Abstract This paper addresses the problem of bandwidth allocation under the weighted maximum rate constrained link sharing policy and proves a key theory in the condition of allocation termination. We propose several algorithms with various worst-case and average-case time complexities, and evaluate their computation elapse times. 2005 Elsevier B.V. All rights reserved. Keywords: Scheduling; Bandwidth allocation; Weighted scheduling; Maximum rate constraint; Network management 1. Introduction In a resource sharing environment, when a resource is limited or scarce, resource managers distribute the re- source to meet the requirements or business models, ac- cording to a given policy. It is common and useful to dis- tribute resource to users proportionally to their assigned weights. Accordingly, we can determine the shared re- sources, or provide guaranteed resources to users by ad- justing their assigned weights. In this paper, the resource sharing environment is a computer network, and the re- source is the shared link capacity. Note that this resource sharing policy can be applied to other domains, such as transactional scheduling, process scheduling, and mul- timedia processing. * Corresponding author. E-mail address: [email protected] (J.F. Lee). Many critical Internet applications have urgent per- formance requirements in terms of throughput, delay, delay jitter and loss rate, or a combination of the four. A number of service disciplines have endeavored to pro- vide per-session (or per-user) performance guarantees by using the weighted fair queuing approach [2,4,5,7]. The allocated bandwidths of sessions in weighted fair queueing are calculated according to their weights. Maximum rate constraint (MRC) is an important management policy for service providers and many ap- plications in which the maximum resource allocated to particular users are limited. Here are examples: (1) when resource is scarce, e.g., a wireless medium, or a shared link from an office, building, or campus to the Internet; (2) when there is a specific management policy, e.g., a restriction on throughput of certain traf- fics types, such as Web browsing, to a maximum rate; (3) to support a business model, e.g., rate constraints to support a pricing model; and (4) in multimedia stream- 0020-0190/$ – see front matter 2005 Elsevier B.V. All rights reserved. doi:10.1016/j.ipl.2005.11.006

Upload: jeng-farn-lee

Post on 26-Jun-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bandwidth allocation algorithms for weighted maximum rate constrained link sharing policy

l

ng policyase and

Information Processing Letters 97 (2006) 238–243

www.elsevier.com/locate/ip

Bandwidth allocation algorithms for weighted maximum rateconstrained link sharing policy

Jeng Farn Leea,b,∗, Meng Chang Chena, Ming Tat Koa, Wanjiun Liaob

a Institute of Information Science, Academia Sinica, Taiwanb Department of Electrical Engineering, National Taiwan University, Taiwan

Received 3 May 2005; received in revised form 28 September 2005; accepted 9 November 2005

Available online 15 December 2005

Communicated by A.A. Bertossi

Abstract

This paper addresses the problem of bandwidth allocation under the weighted maximum rate constrained link shariand proves a key theory in the condition of allocation termination. We propose several algorithms with various worst-caverage-case time complexities, and evaluate their computation elapse times. 2005 Elsevier B.V. All rights reserved.

Keywords:Scheduling; Bandwidth allocation; Weighted scheduling; Maximum rate constraint; Network management

urcee re-, acis-nedre-y adurcere-

urceh asmul-

er-lay,ur.

pro-tees,7].fair

ntap-

tedles:ium,toent

af-ate;ts tom-

1. Introduction

In a resource sharing environment, when a resois limited or scarce, resource managers distribute thsource to meet the requirements or business modelscording to a given policy. It is common and useful to dtribute resource to users proportionally to their assigweights. Accordingly, we can determine the sharedsources, or provide guaranteed resources to users bjusting their assigned weights. In this paper, the resosharing environment is a computer network, and thesource is the shared link capacity. Note that this resosharing policy can be applied to other domains, suctransactional scheduling, process scheduling, andtimedia processing.

* Corresponding author.E-mail address:[email protected] (J.F. Lee).

0020-0190/$ – see front matter 2005 Elsevier B.V. All rights reserved.doi:10.1016/j.ipl.2005.11.006

-

-

Many critical Internet applications have urgent pformance requirements in terms of throughput, dedelay jitter and loss rate, or a combination of the foA number of service disciplines have endeavored tovide per-session (or per-user) performance guaranby using the weighted fair queuing approach [2,4,5The allocated bandwidths of sessions in weightedqueueing are calculated according to their weights.

Maximum rate constraint (MRC) is an importamanagement policy for service providers and manyplications in which the maximum resource allocato particular users are limited. Here are examp(1) when resource is scarce, e.g., a wireless medor a shared link from an office, building, or campusthe Internet; (2) when there is a specific managempolicy, e.g., a restriction on throughput of certain trfics types, such as Web browsing, to a maximum r(3) to support a business model, e.g., rate constrainsupport a pricing model; and (4) in multimedia strea

Page 2: Bandwidth allocation algorithms for weighted maximum rate constrained link sharing policy

J.F. Lee et al. / Information Processing Letters 97 (2006) 238–243 239

ismsapeat-vel

lo-CcarriN.ses

maynlyhigheiridthop-to

ecte oiff-

tionhenf at ex-cessor-

onexthe

mus

rceura-oreif-nd

ec-ate3,

ng.sat-wehowms.

thin

mfied.ionaseornd-

,andtedand.

ndisci-led. Thefficmeulerck-

se-

r isim-t ofhichim-

, thisre

ures orande

andultson

e or

ing, especially when there are no feedback mechanfrom receivers. MRC is used in edge routers to shoutgoing and ingoing traffic into the desired traffic pterns and to provide QoS according to the Service LeAgreements (SLAs). Additionally, it can be used bycal carrier in their Internet Data Center (IDC). An IDaccommodates hundreds of servers attached to theer’s backbone network via a number of high speed LAEach server is owned by one customer, who choothe connection speed. For instance, a big serverneed a 100 Mbps connection, while a small one oneeds 64 kbps. But now as they are connected viaspeed LANs, it is critical for the carrier to regulate thtraffic so that the servers cannot use more bandwthan what they subscribe. Another situation is also pular that users in a building/campus sharing a linkthe Internet require the MRC mechanism to protnormal usage from excessive and/or abusive usaggreedy users. Moreover, MRC can be used in both Dserv and Inserv networks, depending on the definiof session to be per service class or per flow. Wweighted MRC is applied, the allocated bandwidth osession by a weighted fair queuing approach cannoceed its assigned maximum rate; therefore, the exbandwidth is redistributed to other sessions in proption to their weights. However, during the allocatiprocess, the allocated bandwidths of sessions mayceed their assigned maximum rates after receivingexcess bandwidths such that the excess bandwidthbe redistributed, and the process repeated.

In this paper, we define the weighted MRC resousharing policy, and also define a variable, called sattion index, to calculate the allocated bandwidths mefficiently. We then provide several algorithms with dferent time complexities and conduct simulations to fithe best-practice algorithm.

The rest of this paper is organized as follows. In Stion 2, we review the max–min fairness, and the rcontroller for maximum rate constraint. In Sectionwe define the models of weighted MRC fair queueiIn Section 4 we define an important variable, calleduration index, and a useful theorem. In Section 5,describe the proposed algorithms. In Section 6, we sthe implementation results of the proposed algorithFinally, in Section 7, we present our conclusions.

2. Related works

In this section, we review two classic bandwidsharing principles for data networks, namely, max–mand weighted fairness.

-

f

-

t

Fig. 1. Two-stage rate-control service discipline.

2.1. Max–min fairness

Max–min fair allocation [1] maximizes the minimushare of a session whose demand is not fully satisIt maximizes the bandwidth allocation of each sessi subject to the constraint that an incremental increin allocation of the bandwidth cannot lose feasibilityreduce the bandwidth of another session with a bawidth equal to or smaller than sessioni. For exampleif four sessions each require bandwidths 2, 2.6, 4,5, respectively, but the total capacity is 10, the allocabandwidths of the four sessions would be 2, 2.6, 2.7,2.7, respectively, according to the max–min fairness

2.2. Rate-controlled service discipline

To achieve the maximum rate control, Zhang aFerrari proposed a general rate-controlled service dpline [9]. As shown in Fig. 1, the general rate-controlserver has two stages: rate controller and schedulerrate controller is responsible for shaping input trainto desired traffic patterns, assigning an eligible tifor each packet, and moving packets to the schedwhen eligible. The scheduler multiplexes eligible paets from all connections and determines the servicequence of the packets.

An important operation issue of the rate-controlledeciding when to move packets to the scheduler. A splest method is to set a timer for the head packeeach queue. However, this introduces overhead, wis not acceptable for high-speed routers. Hardwareplementation may help to reduce overhead; even somethod would limit the number of timers, and therefothe number of classes. Most solutions in the literatare based on time-framing, event driven strategieboth. There is a tradeoff between system accuracytime granularity in the framing strategy. A smaller framperiod provides more accurate bandwidth allocationhigher operation cost, and a larger frame period resin the opposite. The event-driven strategy is basedthe occurrence of driving events, e.g., packet enqueu

Page 3: Bandwidth allocation algorithms for weighted maximum rate constrained link sharing policy

240 J.F. Lee et al. / Information Processing Letters 97 (2006) 238–243

pre-ch.lem

-tly

er-, intheto-

e, ithef then

rateaxi-akyen-sult-dote-ro-

catecersesat inwsw-ults

satlockentis-

ns toting

andef-

ice

pro-rate-

stemnd-

ring

soril-er.thats.rre-callnsk-

es,inted

of-

ays

e-cu-rent

u-first

Fig. 2. Policer-based rate-control service discipline.

dequeues. As the timing of event occurrence is notdictable, high uncertainty is intrinsic in this approaOur proposed service discipline alleviates the probby eliminating the eligible time calculation and combining the rate controller and scheduler which greareduces overhead.

Another popular rate-controlled model is the policbased rate-control service model, as shown in Fig. 2which a token bucket or a leaky bucket [8] is used aspolicer. When an incoming packet obtains enoughkens, it proceeds directly to the scheduler; otherwisis dropped. Note that if a policer implemented with tpacket buffer can be considered as a special case otwo-stage rate-control service discipline. While a tokbucket policer can maintain the session’s averageburst traffic with a rate exceeding the designated mmum rate may be transmitted. If the policer uses a lebucket, the maximum rate constraint can be strictlyforced, however bursty packets may be dropped, reing in less than expected throughput. Although theynot have the complexity problems in a two-stage racontrol service, their drawbacks prevent them from pviding effective maximum rate control.

The proposed cascade systems use either a connation of rate controller and scheduler, or a poliin front of scheduler. The concatenation method utwo sets of queues and management apparatus thcur overhead or inaccuracy. The latter method allobursty traffic to pass through the controller, which, hoever, violates the maximum rate constraint and resin packet losses. Another approach, WF2Q-M [6], cal-culates the sharing rate of each session, finds theurated sessions, determines the system virtual cticking rate, and then uses the virtual clock adjustmmethod to enforce the maximum rate control by dtributing the excess bandwidths of saturated sessioother sessions without recalculating the virtual starand finishing times of regular sessions. WF2Q-M cansimultaneously support the maximum rate controlminimum service rate guarantee, and thus is moreficient than conventional two-stage rate-control serv

e

,

-

-

-

disciplines (which uses only one set of queues), andduces more accurate output than the policer-basedcontrol service discipline. However, WF2Q-M needs tocalculate the sharing rates of sessions when the sybacklog is changed. Thus we need an efficient bawidth allocation algorithm.

In the next section, we define the bandwidth shaprinciple in weighted MRC fair management policy.

3. Model of weighted MRC fair queueing

The fluid model GPS-M (Generalized ProcesSharing with Maximum Rate Control) is used tolustrate the bandwidth allocation policy in this papGPS-M is an extension of GPS [7], and sessionsmay be constrained by their assigned maximum ratePi

are calledmaximum rate constrained(MRC) sessionsIf an MRC session receives a higher rate in the cosponding GPS than its assigned maximum rate, wethe sessionsaturated, and the set of saturated sessiois denoted asBp(t). We also denote the set of baclogged sessions not inBp(t) asBp(t). In GPS-M, thesessions inBp(t) receive their assigned maximum ratand sessions inBp(t) share the remaining bandwidthproportion to their weights, as in GPS. The allocabandwidth ofSi is defined asri(t); therefore,

ri(t) ={

Pi if Si ∈ Bp(t),

φi ∗ norm(t) otherwise,

wherenorm(t) =(C − ∑

k∈Bp(t) Pk)

φB(t) − φBP (t)

, (1)

where φB(t) is the sum of the assigned weightsbacklogged sessions, andφBp(t) is the sum of the assigned weights of sessions inBp(t) at time t . Notethat althoughnorm(t) would be infinite whenφB(t)

equals φBp(t), we will not use norm(t) in this sit-uation because no session is inBp(t). Additionally,∑

i∈Bp(t) Pi will not exceed the link capacityC because∑i∈B(t)(φi/

∑j∈B(t) φj ) ∗ C = C and Si is saturated

only when(φi/∑

j∈B(t) φj )C > Pi . Therefore, the sumof the maximum rates of saturated sessions is alwless than the link capacity.

Eq. (1) of bandwidth allocation is a declarative dfinition. The algorithms proposed in this paper callate the allocated bandwidths of sessions using diffeideas to utilize the proposed theorem in Section 4.

4. Saturation index

In order to minimize the time required to recalclate the allocated bandwidths of sessions, we must

Page 4: Bandwidth allocation algorithms for weighted maximum rate constrained link sharing policy

J.F. Lee et al. / Information Processing Letters 97 (2006) 238–243 241

buteatedon-tha

herightdexceatedike-at-tion

,

at

nwithifthesingonsions

hileated

stoes-Cfol-

ndherees-s

is

es-and. 4

find all the eventually saturated sessions and redistritheir excess bandwidths. Once the eventually satursessions are identified, the allocated bandwidths of nsaturated sessions need only to be calculated oncehighly reduces the computation cost. We find wheta session is eventually saturated is related to its weand the assigned maximum rate. The saturation inSIi , defined as the weight divided by the differenbetween the assigned maximum rate and the allocbandwidth in the corresponding GPS, indicates the llihood of Si becoming saturated. We can find the surated sessions more efficiently by using the saturaindex.

Theorem 1. For two sessionsSi and Sj ∈ MRC, andSIi > SIj , if Si /∈ Bp(t), thenSj /∈ Bp(t).

Proof. Assume there existsSo, j > o > i and SIi >

SIo > SIj such thatSo is the first session afterSi and(C −

∑k∈Bp(t)

Pk

)∗ φo

φB(t) − φBP (t)

> Po.

SinceSIi > SIo, by definition of the saturation indexwe have:

φi

Pi − r_GPSi (t)>

φo

Po − r_GPSo(t). (2)

Note that the allocated bandwidth ofSi ,(C −

∑k∈Bp(t)

Pk

)∗ φi

φB(t) − φBP (t)

,

can be rewritten as

r_GPSi (t) + φi

φB(t) − φBp(t)

∗∑

k∈Bp(t)

(r_GPSk(t) − Pk

).

Let C′ = ∑k∈Bp(t)(r_GPSk(t)−Pk). FromSi /∈ Bp(t),

we get

φi

φB(t) − φBP (t)

∗ C′ + r_GPSi (t) < Pi. (3)

SinceSo is the first session afterSi such that(C −∑k∈Bp(t) Pk) ∗ φo/(φB(t) − φBP (t)) > Po, BP (t) main-

tains the same and the following condition holds.

φo

φB(t) − φBP (t)

∗ C′ + r_GPSo(t) > Po. (4)

From (3), we have

C′

φB(t) − φBP (t)

<Pi − r_GPSi (t)

φi

. (5)

Similarly, from (4), we have

C′>

Po − r_GPSo(t). (6)

φB(t) − φBP (t) φo

t

From (5) and (6), we get

Pi − r_GPSi (t)

φi

>Po − r_GPSo(t)

φo

,

which can be rewritten as

φi

Pi − r_GPSi (t)<

φo

Po − r_GPSo(t). (7)

Inequality (7) violates inequality (2). Therefore, suchSo

cannot exist. Since noSo exists,j > o > i such that(C − ∑

k∈Bp(t) Pk) ∗ φo/(φB(t) − φBP (t)) > Po, Si andSj have the sameBp(t). The previous proof shows th(C − ∑

k∈Bp(t) Pk) ∗ φj/(φB(t) − φBP (t)) must be lessthanPj . Therefore,Sj cannot be inBp(t). �

Theorem 1 shows that if a session withSIi is notsaturated, sessions with saturation indexes less thaSIiwill not become saturated. In other words, sessionssaturation indexes larger thanSIi must be saturatedSi is saturated. Therefore, we only need to identifysaturated session with the lowest saturation index usorting or partitioning algorithms, and then the sessiwith higher saturation indexes are saturated sessand allocated with their assigned maximum rate, wthe sessions with lower saturation indexes are allocwith bandwidths proportional to their weights.

5. Algorithms of weighted MRC fair queueing

In this section, we will introduce several algorithmwith various theoretical computation complexitiescalculate the allocated bandwidth of each MRC ssion. Note that the bandwidth allocation of non-MRsessions is trivial and thus not be considered in thelowing algorithms.

5.1. An intuitive algorithm

The first algorithmWMRC_intuitive is shown inFig. 3. The algorithm puts the session inBp(t) anddeducts its maximum rate from the link capacity, arestarts the bandwidth allocation process. Assume tare n MRC sessions. In the worst case, the last ssion in each run of thefor loop in lines 2–7 becomesaturated such that the complexity of the algorithmn + (n − 1) + (n − 2) + · · · + 2+ 1= n(n+1)

2 = O(n2).

5.2. Algorithm using sorting

According to Theorem 1, we can sort the MRC ssions in decreasing order of the saturation index,calculate the allocated bandwidths in that order. Fig

Page 5: Bandwidth allocation algorithms for weighted maximum rate constrained link sharing policy

242 J.F. Lee et al. / Information Processing Letters 97 (2006) 238–243

Thefind

sing

m 1non

isofrde

ates

iones-ns:n or

res in-

. If itsatu-

tand

ssione,rthe

.

he

Algorithm WMRC_intuitive() {01. SetBp(t) = null02. forSi ∈ {MRC− BP (t)} {03. ri (t) = (C − ∑

k∈Bp(t) Pk) ∗ φi/(φB(t) − φBP (t))

04. if (ri (t) > Pi) {05. Bp(t) = Bp(t) ∪ Si

06. ri (t) = Pi

07. go to line 2.}}}

Fig. 3. The algorithmWMRC_intuitive.

Algorithm WMRC_mergesort() {01. SetBp(t) = null02. forSi ∈ MRC {03. r_GPSi = (φi/φB(t)) ∗ C

04. if (r_GPSi > Pi) {05. Bp(t) = Bp(t) ∪ Si

06. ri (t) = Pi }07. elseSIi = φi/(Pi − r_GPSi )}08. mergesort(MRC− Bp(t),1,sizeof(MRC− Bp(t))

09. for (inti = 1; i � sizeof(MRC− Bp(t); i++) {10. ri (t) = (C − ∑

k∈Bp(t) Pk) ∗ φi/(φB(t) − φBP (t))

11. if (ri (t) > Pi) {12. Bp(t) = Bp(t) ∪ Si

13. ri (t) = Pi }}

Fig. 4. The algorithmWMRC_mergesort.

presents another algorithm,WMRC_mergesort, to deter-mine the allocated bandwidths of MRC sessions.statements in lines 2–7 perform the first scan tothe saturated sessions, and calculateSIi . Before execut-ing statement line 9, sessions not inBp(t) are sorted inthe descending order of their saturation indexes umergesort[3] algorithm. Thefor loop in lines 9–13 willfind saturated sessions, and according to Theoreif a non-saturated session appears, then all otherprocessed sessions are not saturated.

The time complexity of the algorithm in Fig. 4O(n logn) [3], which is dominated by statementline 8 when sessions are sorted in the descending oof SIi .

5.3. Algorithm using partitioning

The algorithmWMRC_partition in Fig. 5 proposedin this section avoids the sorting process that dominthe complexity of the algorithmWMRC_mergesortin Fig. 4. The functionfind_last_saturated_partition(Fig. 6) finds all saturated sessions that uses theparti-tion algorithm. The partition algorithm selects a sessq with the saturation indexSI as the pivot to rearrangthe sessions inA[p..r]. During the execution, the sesions are partitioned into four (possibly empty) regiosessions with saturation indexes that are larger tha

,-

r

Algorithm WMRC_partition {01. SetBp(t) = null02. forSi ∈ MRC{03. r_GPSi = (φi/φB(t)) ∗ C

04. if (r_GPSi > Pi) {05. Bp(t) = Bp(t) ∪ Si

06. ri (t) = Pi }07. elseSIi = φi/(Pi − r_GPSi )}08. find_last_saturated_partition((MRC− Bp(t)),

1, sizeof(MRC− Bp(t)))09. forSi ∈ {MRC− BP (t)}10. ri (t) = (C − ∑

k∈Bp(t) Pk) ∗ φi/(φB(t) − φBP (t))}

Fig. 5. The algorithmWMRC_partition.

Algorithm find_last_saturated_partition(A,p, r) {01. if (p == r) {02. rp(t) = (C − ∑

k∈Bp(t) Pk) ∗ φp/(φB(t) − φBP (t))

03. if (rp(t) > Pp) {04. Bp(t)+ = Sp

05. returnp}06. else returnp − 1}07. k = RANDOM(p, r)

08. i = partition(A,p, r,SIk)

09. temp_sum_peakrate= sum_peakrate+ ∑i−1j=p

Pj

10. temp_sum_weight= sum_weight+ ∑i−1j=p

φj

11. ri (t) = (C − ∑k∈Bp(t) Pk − temp_sum_peakrate) ∗ φi/

(φB(t) − φBP (t) − temp_sum_weight))12. if (ri (t) > Pi) {13. for (h = p; h <= i; h ++) Bp(t) = Bp(t) ∪ Sh

14. sum_peakrate= temp_sum_peakrate+ Pi

15. sum_weight= temp_sum_weight+ φi

16. returnfind_last_saturated_partition(A, i + 1, r)}17. else returnfind_last_saturated_partition(A,p, i − 1)

Fig. 6. The algorithmfind_last_saturated_partition.

equal toSI, less thanSI, pivot and sessions that anot traversed. At termination, the saturation indexeA[p..i] are all greater than or equal toSI and the saturation indexes inA[i + 1..j − 1] are all less thanSI.

The find_last_saturated_partition algorithm checkswhether the random selected session is saturatedis saturated, the sessions before it must also berated, since—according to thepartitioning algorithm—their saturation indexes are larger thanSIk ; therefore,the ‘last’ saturated session is afterSi . Otherwise, thesessions betweenSp andSi will be searched. If the inpuarray has only one session, the algorithm convergeschecks whether the session is saturated. If the seis saturated, it is the ‘last’ saturated session; otherwisthe session before it is the ‘last’ saturated session. Aftefinding all the saturated sessions, we can calculateallocated bandwidths of the non-saturated sessions

The worst-case running time forfind_last_saturated_partition is O(n2), because it may always partition t

Page 6: Bandwidth allocation algorithms for weighted maximum rate constrained link sharing policy

J.F. Lee et al. / Information Processing Letters 97 (2006) 238–243 243

e

00.

ele

of

xity

er.

areun-sedde

cy-in-

gtesse-ten

e th

ons

RCowsns.

-

ions,

s of

lat-tedisersa

nd

d asingrals,plat-rk,

gle-

irA,

Al-

andne

ul-M

ofan-

ap-gle-57.all,

igh

Table 1Time complexities of proposed algorithms

Worst case Average cas

WMRC_intuitive O(n2) O(n2)

WMRC_mergesort O(n lg(n)) O(n lg(n))

WMRC_partition O(n2) O(n)

Fig. 7. The average running time for MRC sessions from 1 to 10

saturation indexes based on the smallest remainingment, and each partitioning takes O(n) time. However,the algorithm generally works well. The operationfind_last_saturated_partition is similar to the problemof selecting theith order statistic from a set ofn distinctnumbers such that the average running time compleof find_last_saturated_partition and WMRC_partitionare both O(n) [3]. To sum up, Table 1 shows the timcomplexities of the algorithms proposed in this pape

6. Performance evaluation

We implement the three algorithms and comptheir performance to see how the algorithms behaveder different number of MRC sessions on a PC-baplatform with an Intel P3 550 CPU, a 256 M RAM anOS LINUX RedHat 7.2. We used RDTSC (Read TimStamp Counter), which returns the number of clockcles from the time the CPU is powered up or reset,stead of functiongettimeofday, to calculate the runnintime more precisely. The weights and maximum raof maximum rate constraint sessions were randomlylected. For each number of MRC sessions, we usedrandom seeds to generate ten sets of data, and takaverage running time.

Fig. 7 shows the evaluation results for MRC sessifrom 1 to 1000. The result shows thatWMRC_intuitivehas the best performance when the number of Msession is less than 300, but the execution time grquickly when there are more than 500 MRC sessio

-

e

On the contrary, the execution time ofWMRC_merge-sort andWMRC_partition increase linearly as the number of MRC sessions increases.WMRC_mergesortandWMRC_partition perform better thanWMRC_intuitiveif the system has more than 700 and 300 MRC sessrespectively. Moreover,WMRC_partition should be thebest-practice algorithm as it performs well regardlesthe number of MRC sessions.

7. Conclusion

In this paper, we address the problem of calcuing the allocated bandwidths of sessions in the weighmaximum rate constrained link sharing policy, whichan important management feature for service providand many applications. The intuitive solution hascomplexity O(n2). We define the saturation index aprove that if Si with saturation indexSIi is not sat-urated, sessions with saturation indexes less thanSIiwill not become saturated. This property can be usethe termination condition to greatly reduce the runntime. According to that property, we propose sevealgorithms with different running time complexitieand implement these algorithms on a PC-basedform to find the best-practice algorithm. In this wowe reduce the average case complexity from O(n2)

to O(n).

References

[1] D.P. Bertsekas, R. Gallager, Data Networks, Prentice-Hall, Enwood Cliffs, NJ, 1992.

[2] J.C.R. Bennett, H. Zhang, WF2Q: worst-case fair weighted faqueueing, in: Proc. IEEE INFOCOM’96, San Francisco, CMarch 1996.

[3] H. Cormen, E. Leiserson, L. Rivest, C. Stein, Introduction togorithms, second ed., MIT Press, Cambridge, MA, 2001.

[4] S. Golestani, A self-clocked fair queueing scheme for broadbapplications, in: Proc. IEEE INFOCOM’94, Toronto, CA, Ju1994, pp. 636–646.

[5] P. Goyal, H.M. Vin, H. Chen. Start-time Fair Queuing: A scheding algorithm for integrated services, in: Proc. ACM–SIGCOM96, Palo Alto, CA, August 1996, pp. 157–168.

[6] J.F. Lee, Y. Sun, M.C. Chen, On maximum rate controlweighted fair scheduling for transactional systems, RTSS, Ccun 2003.

[7] A.K. Parekh, R.G. Gallager, A generalized processor sharingproach to flow control in integrated services networks: The sinnode case, IEEE/ACM Trans. Networking 1 (3) (1993) 344–3

[8] A.S. Tanenbaum, Computer Networks, third ed., Prentice-HInc., Englewood Cliffs, NJ, 1996, pp. 380–381.

[9] H. Zhang, D. Ferrari, Rate-controlled service disciplines, J. HSpeed Networks 3 (4) (1994) 389–412.