Computer Communications 27 (2004) 153–161 www.elsevier.com/locate/comcom
Achieving proportional delay differentiation efficiently Hoon-Tong Ngin*, Chen-Khong Tham Department of Electrical and Computer Engineering, National University of Singapore, 10, Kent Ridge Crescent, Singapore, Singapore 119260 Received 21 May 2003; accepted 21 May 2003
Abstract In this paper, we focus on efficiently achieving Proportional Delay Differentiation (PDD), an instance of the Proportional Differentiation Model first proposed under the DiffServ framework [IEEE Network (1999)]. PDD can be achieved using a few algorithms, one of the most well-known being Waiting Time Priority(WTP). Using WTP [Proc. ACM SIGCOMM (1999)] as a reference, we show that our proposed Scaled Time Priority (STP) algorithm is able to provide near proportional delay at a complexity of Oð1Þ; which is lower than the OðNÞ complexity of WTP, where N is the number of service classes in the system. Simulation results also show that STP is able to emulate the performance of WTP. q 2003 Elsevier B.V. All rights reserved. Keywords: Proportional delay; Quality of service; Differentiated services
1. Introduction The Internet is slowly transitioning from a best-effort service model, where all transmissions are considered equal and no delivery guarantees are made, to one that can provide predictable and different service levels for specific quality of service (QoS) requirements. Two paradigms have been proposed to achieve this, they are Integrated Services (IntServ) [3] and Differentiated Services (DiffServ) [4]. The IntServ approach achieves end-to-end services guarantees through per-flow resource reservations. Although much research effort has been put into this approach, its acceptance by network providers and router vendors has been quite limited mainly due to scalability issues. Maintaining and processing per-flow state for gigabit and terabit links, with millions of simultaneously active flows is extremely difficult from an implementation point of view. While IntServ focuses on individual packet flows, DiffServ focuses on traffic aggregates and is therefore, a more scalable architecture. DiffServ requires no per-flow * Corresponding author. E-mail addresses:
[email protected] (H.-T. Ngin),
[email protected] (C.-K. Tham). 0140-3664/03/$ - see front matter q 2003 Elsevier B.V. All rights reserved. doi:10.1016/S0140-3664(03)00211-1
admission control or signalling, and routers do not maintain any per-flow state. Routers only need to implement a suite of priority-like scheduling and buffering mechanisms, and apply them based on the fields specified in the packet headers. There are several ways to provide differentiated services. One of the more popular framework is the Proportional Differentiation Model (PDM) [1] proposed by Dovrolis, which is able to provide consistent differentiation among classes independent of the class load distribution and allows network operators to adjust the quality spacing between classes based on selected criteria. Under the PDM framework, he proposed scheduling algorithms for achieving proportional delay-based differentiation (PDD) and packet dropping algorithms for achieving proportional loss-based differentiation (PLD). An efficient means of achieving PDD is the focus of our study in this paper. Specifically, the PDD model requires that the average class queueing delay of departed (nondropped) packets di are spaced as di d ¼ i dj dj
1 # i; j # N
ð1Þ
where the parameters di are the Delay Differentiation Parameters (DDPs), and they are ordered so that higher classes provide lower delays, i.e. d1 . d2 . … . dN . 0:
154
H.-T. Ngin, C.-K. Tham / Computer Communications 27 (2004) 153–161
In Ref. [2], Dovrolis found the Waiting Time Priority (WTP) scheme to be a suitable scheduling algorithm to achieve PDD. In the WTP algorithm, the service priority of a packet in queue i at time t is given by pi ðtÞ ¼ wi ðtÞsi ; where wi ðtÞ is the waiting time of the packet at time t and si is the weight of the delay class. The complexity of WTP scheduler is OðNÞ; where N is the number of service classes in the system because the priority for every backlogged class has to be calculated each time a new packet reaches its head-ofqueue. The main contribution of this paper is our proposed Scaled Time Priority (STP), which is an efficient approximation to WTP. In particular, STP is able to provide near proportional delay at a complexity of Oð1Þ; which is lower than the OðNÞ complexity of WTP. Another important contribution of this paper is the derivations of the workload that must be transmitted before an arbitrary packet for WTP and STP schedulers, where workload is defined as the transmission time of all traffic in the scheduler. This form of derivation has been performed in the past for some scheduling algorithms to determine their schedulability conditions [5,6]. In this paper, these derived terms are used to establish that STP is a good approximation to WTP. The rest of the paper is organized as follows. In Section 2, we describe WTP and derived the workload transmitted before an arbitrary tagged packet using the WTP scheduler. In Section 3, we present our proposed STP algorithm and derived the workload transmitted before an arbitrary tagged packet using a STP scheduler, before doing reconciliation between WTP and STP. In Section 4, we evaluate the algorithms using simulations. Finally, we discuss related work in Section 5 before we conclude in Section 6.
2. Waiting time priority 2.1. Algorithm The Waiting Time Priority (WTP) algorithm was first studied by L. Kleinrock in 1964 [7], with the name Time Dependent Priorities (TDP). It was later used by Dovrolis as an effective means to achieve the proportional delay differentiation model. WTP is a priority scheduler in which the priority of a packet increases proportionally with its waiting-time. The algorithm for WTP can be defined as: (1) All packets on arrival at the scheduler is timestamped with an arrival tag equal to its arrival time. (2) Whenever a packet reaches its head-of-queue, the priority for every backlogged queue i at time t has to be computed as pi ðtÞ ¼ wi ðtÞsi
ð2Þ
where wi ðtÞ is the waiting-time of the packet at time t and si is the Scheduler Differentiation Parameter (SDP) that determines the rate with which the priority of the packets of a certain class increases with time. (3) The scheduler then chooses the packet with the largest priority tag for service. Ties are arbitrarily broken. From the description above, it is clear that the complexity of WTP is OðNÞ; where N is the number of classes in the system. This is because the priority for every backlogged class has to be calculated each time a new packet reaches its head-of-queue. In addition, it can be shown that under heavy traffic conditions, the DDP ratios (defined in Section 1) tends to the inverse of the corresponding SDP ratios [2], that is sj di d ! i ¼ dj dj si
1 # i; j # N
ð3Þ
Next, we proceed to analyze WTP in greater detail and derive the workload that must be transmitted before an arbitrary packet for a WTP scheduler, where workload is defined as the transmission time of all traffic in the scheduler. Our derivation follows that of Refs. [5,6], which uses a general traffic arrival characteristics. A similar analysis was done by Kleinrock assuming Poisson arrivals to derive the average delay in TDP (WTP) [8]. 2.2. Workload that must be transmitted before an arbitrary packet for a waiting time priority scheduler We assume that the scheduler is empty at time 0 and that the transmission rate of the scheduler is normalized for simplification of notations. We further assume that sessions submitting traffic to a WTP scheduler are grouped into P disjoint priority classes C1 ; C2 ; …; CP ; arranged in ascending priority order, where CP has a higher priority than CP21 and so on. For a given session j in class Cp ; let Aj ½t; t þ t denote the total session j traffic that arrives to the scheduler in time interval ½t; t þ t measured in terms of transmission time of the link. Note that no assumptions are made regarding the traffic arrival characteristics for Aj ½t; t þ t: Without loss of generality, we assume that a tagged packet from session j in class Cp arrives to a WTP scheduler at time tp and starts to depart from the scheduler at time tp þ dp : Defining tp þ tp as an arbitrary time between tp and tp þ dp ; where the tagged packet is in the queue of class Cp : We will derive an expression W p;tp ðtp þ tp Þ; which represents the total transmission time of all traffic in the scheduler at time tp þ tp that must be transmitted before the tagged packet can depart. Let us consider an arbitrary class Cq and determine the time intervals for which packet arrivals from sessions j [ Cq have higher priority than the tagged packet. We start by first assuming that the transmission of a packet can be
H.-T. Ngin, C.-K. Tham / Computer Communications 27 (2004) 153–161
preempted at any time by a packet arrival with higher precedence. Two cases have to be considered: sessions from the same class as the tagged packet (q ¼ p) and sessions of different priority classes from tagged packet (q – p). (a) q ¼ p : Since all packets from class Cp are transmitted in First-In-First-Out (FIFO) order, all packets from sessions in Cp that arrive in the time interval [0; tp ] will be transmitted before the tagged packet. (b) q – p : For a different priority class Cq with q – p; the packets transmitted before the tagged packet are those that satisfy the following condition:
t q s q . dp s p
ð4Þ
where tq is the amount of time spent by an arbitrary packet in the queue of class Cq : Note that the time the tagged packet starts to depart from the scheduler tp þ dp is also the last time tag computations and comparisons are made involving the tagged packet. Therefore, we have tq þ tq ¼ tp þ dp implying that sp t q , t p þ dp 2 dp sq Consequently, all packets from sessions in Cq that arrive in the time interval [0; tp þ ð1 2 sp =sq Þdp ] will be transmitted before the tagged packet. Note also that for higher (lower) priority class Cq with q . p (q , p) and sq . sp (sq , sp ), the resulting time interval is greater (smaller) than [0; tp ], the corresponding time interval for Cp : In addition, q ¼ p implies that sq ¼ sp : Therefore, the time interval [0; tp þ ð1 2 sp =sq Þdp ] is the general form for both cases of q ¼ p and q – p: The interval shown above describe the traffic transmitted before the tagged packet, but these intervals assume that the transmission of a packet can be interrupted and preempted. In particular, consider a scenario where at some time prior to the arrival of the tagged packet at time tp ; there are no packets in the scheduler with arrival times included in the intervals described above. Since the WTP scheduler is workconserving, some packets which are not included in the intervals described above may be transmitted before the tagged packet. We next account for such a nonpreemption in order to accurately quantify the traffic to be transmitted before the tagged packet. We define tp 2 t^p to be the last time before tp that the WTP scheduler does not contain packets that are to be transmitted before the tagged packet. Note that such a time is guaranteed to exist since the scheduler is assumed to be empty at time 0. If we use Bi ðtÞ to denote the backlog in the WTP scheduler from session i [ C at time t; then we can write t^p directly from the intervals above
155
as follows: 8 p X P < X X X t^p ¼min zl Bi ðtp 2 zÞ þ Bi : q¼1 i[C q¼pþ1 i[C q
q
9 ! )! = sp min tp 2 z; tp þ 1 2 ¼ 0; z $ 0 dp ; sq (
ð5Þ
Note that we need to consider the min{tp 2 z; tp þ ð1 2 sp =sq Þdp } for packets from sessions in priority classes greater than p because tp þ ð1 2 sp =sq Þdp is smaller than tp : By definition of time tp 2 t^p ; the traffic transmitted by the WTP scheduler during the interval ½tp 2 t^p ; tp þ dp is limited to packets with arrival times during the intervals specified above and the remaining transmission time of some other packet in transmission at time tp 2 t^p ; which we denote by Rðtp 2 t^p Þ: Finally, we are able to write an expression for W p;tp ðtp þ tp Þ; which is given as follows: For all tp ; 0 # tp # dp ; W
p;tp
ðtp þ tp Þ ¼
P X X q¼1 i[Cq
"
! # sp Ai tp 2 t^p ; tp þ 1 2 d sq p
þ Rðtp 2 t^p Þ 2 ðt^p þ tp Þ
ð6Þ
The first term on the right hand side of Eq. (6) accounts for the arrival intervals derived previously, while the term Rðtp 2 t^p Þ is the remaining transmission time of the packet transmitted at time tp 2 t^p : Since by choice of t^p ; the packet scheduler is continuously backlogged for the entire interval ½tp 2 t^p ; tp þ tp ; the final term accounts for the total workload transmitted during the interval.
3. Scaled time priority In this section, we introduce the Scaled Time Priority (STP) scheduler and derive the workload transmitted before an arbitrary packet for this scheme. The expression derived above for the WTP algorithm will then be compared with that of STP, so that an evaluation of the two schemes can be made. The intuition behind STP and a discussion on its implementation complexity will also be provided. 3.1. Algorithm The proposed Scaled Time Priority (STP) algorithm can be described as follows: (1) All packets on arrival at the scheduler is timestamped with an arrival tag equal to its arrival time.
156
H.-T. Ngin, C.-K. Tham / Computer Communications 27 (2004) 153–161
(2) A packet on reaching its head-of-queue i at time t has its priority computed as: pi ðtÞ ¼
wi ðtÞsi þ W tþT
ð7Þ
where wi ðtÞ is the waiting-time of the packet at time t; si is the Scheduler Differentiation Parameter (SDP) that determines the rate with which the priority of the packets of a certain class increases with time, T and W are two parameters used to scale the waiting-time of the packet and time the packet reaches its head-ofqueue, respectively. It will be shown later in Section 3.3 that the condition for STP to approximate WTP can be reduced to: P X W ð8Þ min si 1 2 Tsi i¼1
where T and W are chosen to satisfy the T q ti þ hi and W q hi si conditions, respectively. ti is the arrival time of the packet to the STP scheduler and ti þ hi is the time the packet reaches its corresponding head-ofqueue. (3) The scheduler then chooses the packet with the largest priority tag for service. Ties are arbitrary broken. (4) Timer of the scheduler resets t ¼ 0 at the end of each busy period so that pi ðtÞ will not gradually tend to zero as t keeps increasing. From the above description, it is clear that the computation complexity of STP is Oð1Þ because only the new packet that reaches its head-of-queue requires priority computation. The priorities of other head-of-queue packets that have arrived before this new packet needs no recomputation. This is the key difference between STP and WTP because for WTP the priorities of all head-of-queue packets in the system needs to be re-computed each time a new packet reaches its head-of-queue. The intuition behind Eq. (7) of STP may not be clear. In Section 3.4, we will start by providing insights into the reason for having t in the denominator of Eq. (7) through a simplified version of STP, where T and W are removed. We will subsequently explain why parameters T and W are included so that STP can better approximate the performance of WTP.
precedence. Once again, we consider the two cases under STP: sessions from the same class as the tagged packet (q ¼ p) and sessions of different priority classes from tagged packet ðq – pÞ: (a) q ¼ p : Since all packets from class Cp are transmitted in FIFO order, all packets from sessions in Cp that arrive in the time interval ½0; tp will be transmitted before the tagged packet. (b) q – p : For a different priority class Cq with q – p; the packets transmitted before the tagged packet are those that satisfy the following condition: hq s q þ W hp s p þ W . tq þ hq þ T t p þ hp þ T
ð9Þ
For STP, tq þ hq ¼ tp þ hp þ Dq2p
ð10Þ
where Dq2p is the difference in the time when packets from priority classes q and p reach their respective head-of-queues. It can also be seen as the difference in time when packets from priority classes q and p have their timestamps calculated (see Fig. 1). From Eq. (10): tq ¼ tp þ hp þ Dq2p 2 hq
Dq2p , tp þ ðhp þ Dq2p Þ 2 1 þ t p þ hp þ T ! hp s p þ W W þ sq sq ! s sp p hp þ Dq2p þ , tp þ 1 2 sq sq ! tp þ T 2 W=sp Dq2p tp þ hp þ T
!
ð11Þ
Since, hp þ Dq2p # dp ; therefore, all packets from sessions in Cq that arrive in the time interval all packets from
3.2. Workload that must be transmitted before an arbitrary packet for scaled time priority scheduler We follow all the assumptions laid down in Section 2.2 and add an extra assumption that the tagged packet from session j in class Cp reaches its corresponding head-ofqueue at time tp þ hp ; where hp is a non-zero value. Following the same approach as that described in Section 2.2, we first assume that the transmission of a packet can be preempted at any time by a packet arrival with higher
Fig. 1. Time-lines of a tagged packet p and another arbitrary packet q in the system. hp and hq are non-zero values.
H.-T. Ngin, C.-K. Tham / Computer Communications 27 (2004) 153–161
sessions in Cq that arrive in the time interval " !# ! sp sp tp þ T 2 W=sp 0; tp þ 1 2 d þ D sq p sq q2p tp þ hp þ T
3.3. Reconciliating STP and WTP
will be transmitted before the tagged packet. Again, notice that for higher (lower) priority class Cq with q . pðq , pÞ and sq . sp ðsq , sp Þ; the resulting time interval is greater (smaller) than ½0; tp ; the corresponding time interval for Cp : In addition, q ¼ p implies that sq ¼ sp and Dq2p ¼ 0: Therefore, the time interval " !# ! sp sp tp þ T 2 W=sp 0; tp þ 1 2 d þ D sq p sq q2p tp þ hp þ T is the general form for both cases of q ¼ p and q – p: We next account for the earlier assumption that the transmission of a packet can be interrupted and preempted, in order to accurately quantify the traffic to be transmitted before the tagged packet. Again defining tp 2 t^p to be the last time before tp that the STP scheduler does not contain packets that are to be transmitted before the tagged packet and Bi ðtÞ as the backlog in the STP scheduler from session i at time t; then: 8 p X P < X X X t^p ¼min zl Bi ðtp 2 zÞ þ Bi : q¼1 i[C q¼pþ1 i[Cq q ( ! sp min tp 2 z; tp þ 1 2 d sq p 9 !)! = sp tp þ T 2 W=sp ð12Þ ¼ 0; z $ 0 þ Dq2p ; sq tp þ hp þ T Denoting Rðtp 2 t^p Þ as the remaining transmission time of some other packet in transmission at time tp 2 t^p ; we are now in a position to write an expression for W p;tp ðtp þ tp Þ; which is given as follows: For all tp ; 0 # tp # dp ; " ! P X X sp p;tp Ai tp 2 t^p ; tp þ 1 2 d W ðtp þ tp Þ ¼ sq p q¼1 i[Cq !# sp tp þ T 2 W=sp þ Dq2p sq tp þ hp þ T þ Rðtp 2 t^p Þ 2 ðt^p þ tp Þ
157
ð13Þ
The first term on the right hand side of Eq. (13) accounts for the arrival intervals derived previously, while the Rðtp 2 t^p Þ term is the remaining transmission time of the packet transmitted at time tp 2 t^p : Since by choice of t^p ; the packet scheduler is continuously backlogged for the entire interval ½tp 2 t^p ; tp þ tp ; the final term accounts for the total workload transmitted during the interval.
Taking W p;tp ðtp þ tp Þ derived for WTP as the reference (see Eq. (6)), we can see that the performance of STP comes closest to WTP when the arrival intervals of STP " ! P X X sp Ai tp 2 t^p ; tp þ 1 2 d sq p q¼1 i[Cq !# sp hp þ W=sp þ Dq2p 1 2 sq t p þ hp þ T tends towards the arrival intervals of WTP " ! # P X X sp Ai tp 2 t^p ; tp þ 1 2 d sq p q¼1 i[C q
Note that sp hp þ W=sp D 12 sq q2p tp þ hp þ T
!
can be a positive or negative value. Therefore, for STP to come closest to WTP, we need to minimize this term for all P classes in the system: ! X P P X s h þ W=s p p p ð14Þ min Dq2p 1 2 tp þ hp þ T p¼1 q¼1 sq This condition can be further simplified by choosing parameters T and W to satisfy T q tp þ hp and W q hp sp ; respectively: ! X P P Dq2p X W ð15Þ sp 1 2 min Ts s q¼1 q p¼1 p Note that the resulting W=T ratio ensures that the values chosen for both W and T can be large because for a specific end result, W will always be a multiple of the T value chosen. Further note that Dq2p is dependent on packet arrival characteristics and s are fixed values chosen by network operators that change infrequently. Therefore, the condition for STP to approximate WTP reduces to: ! X P W ð16Þ min sp 1 2 Tsp p¼1 This is the same condition described earlier in the STP algorithm (see Section 3.1). In the Section 4, a specific implementation making use of Eq. (16) is shown. Simulations are then used to show that STP is a good emulation of WTP. 3.4. Discussion The intuition behind Eq. (7) of STP can be explained by considering the relative priority of two head-of-queue
158
H.-T. Ngin, C.-K. Tham / Computer Communications 27 (2004) 153–161
minimizing the derived workload expressions for STP and WTP, to make the performance of STP closer to WTP than SSTP. 3.5. Implementation complexity The scheduling complexity of an algorithm consists of two key components: Fig. 2. Time-lines of a two class system.
packets using WTP and a simplified version of STP, where W and T are set to zeros to illustrate the reason for having t in the denominator of Eq. (7). We will call this simplified version of STP as Simplified-STP (SSTP). The SSTP computes the priority of a class i head-of-queue packet at time t using pi ðtÞ ¼
wi ðtÞsi t
ð17Þ
Referring to Fig. 2, we consider a two class system where: (a) a class 1 packet arrived at t1 ¼ 0 s and reached its head-of-queue at t1 þ h1 ¼ 2 s. (b) a class 2 packet arrived at t2 ¼ 1 s and reached its head-of-queue at t2 þ h2 ¼ 3 s. In addition, we assumed s1 ¼ 1 and s2 ¼ 2: The priorities computed using WTP is p1 ðt2 þ h2 Þ ¼ ðt2 þ h2 2 t1 Þs1 ¼ 3 s p2 ðt2 þ h2 Þ ¼ h2 s2 ¼ 4 s While the priorities computed using SSTP is p1 ðt1 þ h1 Þ ¼
h1 s 1 ¼1 t 1 þ h1
p2 ðt2 þ h2 Þ ¼
h2 s 2 ¼ 4=3 t 2 þ h2
Comparing the relative priorities of class 1 over class 2, i.e. p1 =p2 ; it is interesting to note that the performance of SSTP is the same as WTP in the above scenario. This is because the t in the denominator of Eq. (17) has scaled the time-line of the class 2 packet to be equivalent to that of the class 1 packet. Note that the same conclusion is reached even if other values are selected for s1 ; s2 ; h1 ; h2 ; and t2 : Unfortunately, SSTP is an exact emulation of WTP only if t1 ¼ 0; which occurs only at the start of a busy period. This can be verified using Eq. (14), where the expression reduces to zero when tp ¼ 0 and T ¼ W ¼ 0: Our initial simulations involving WTP and SSTP indicated that SSTP can be a good emulation of WTP under simple traffic conditions. However, to further enhance the SSTP algorithm, parameters T and W are included, resulting in the proposed STP algorithm. STP is better able to emulate WTP because T and W can be suitably chosen, through
(1) the complexity involved in computing the priority tags and (2) the complexity involved in identifying the highest priority head-of-queue packet to service. For WTP, the tag computation component has a complexity of OðNÞ because the priority for every backlogged class has to be calculated each time a new packet reaches its head-of-queue. Identifying the highest priority head-of-queue packet to schedule requires N 2 1 comparisons because all N priority tags have different values after each round of tag computations. Therefore, the overall complexity of WTP is OðNÞ: For STP, the tag computation component has a complexity of Oð1Þ; which is a reduction in complexity when compared with WTP. Identifying the highest priority headof-queue packet to schedule can be implemented using a sorted priority queue, which translate to a complexity of Oðlog2 NÞ: If the number of service classes is small, then parallel hardware comparators can be used to identify the highest priority head-of-queue packet in the sorted priority queue, effectively reducing the complexity of this component to Oð1Þ: Alternatively, an approximate sorted priority queue can be implemented to reduce the complexity to Oð1Þ [6]. The advantage of STP over WTP is most significant and apparent in a high-speed system with many service classes. Presently, DiffServ has a total of 64 Differentiated Services Codepoints (DSCPs), out of which only 14 have been defined [10,11,12], leaving network operators the freedom to customize the other 50 DSCP values for their own requirements. Therefore, the simplicity of STP will allow network operators greater implementation freedom to deploy fine granularity PDD over flow aggregates. For example, network operators can set SDPs according to siþ1 =s1 ¼ 2i; where 1 # i # N and s1 ¼ 1: This results in N ¼ 17 for sN ¼ 32 or N ¼ 33 for sN ¼ 64:
4. Simulation 4.1. Single node In this section, we use simulations to evaluate how closely STP emulates WTP from a single node perspective. We first investigate the effects of different link utilization by aggregate load and of different class load distributions on
H.-T. Ngin, C.-K. Tham / Computer Communications 27 (2004) 153–161
159
the long term average delay differentiation. We then examine the performance of WTP and STP in short timescales. The simulation scenario is a WTP/STP scheduler that is loaded with traffic from P ¼ 4 sources. In all cases, packet inter-arrivals follow a Pareto distribution with a shape parameter a ¼ 1:9: The packet length distribution is the same for all classes, where 50% of the packets are 40 bytes, 35% are 550 bytes, and 15% are 1500 bytes, giving a good representative of the majority of the packets seen in the Internet [13]. The class load distribution in most cases is set to: Class 1: 40%, Class 2: 30%, Class 3: 20%, Class 4: 10%, difference from this will be specified otherwise. The bandwidth of the network links is 51.84 Mbps. Due to space constraint, we will only show the simulation results for SDPs chosen as si =si21 ¼ 2: To minimize ! P X P X sp W ; 12 TSp s p¼1 q¼1 q we set (1) W ¼ 375 s and T ¼ 100 s for SDPs chosen as si =si21 ¼ 2: 4.1.1. Link utilization by aggregate load Fig. 3 shows the ratio of the average delays between successive classes in moderate and heavy load conditions. Each point in these figures is resulted from averaging over ten simulation run with different seeds, each run being 100 s. The SDPs were chosen as si =si21 ¼ 2: From the results, STP is better than WTP at providing a consistent proportional delay differentiation between successive classes for link utilization less than 90%. However, WTP becomes slightly superior when link utilization exceeds 90%.
Fig. 3. The ratio of average-delays between successive classes with WTP and STP for different link utilizations. The traffic load distribution is Class 1: 40%, Class 2: 30%, Class 3: 20%, Class 4: 10%.
Fig. 4. The ratio of average-delays between successive classes for WTP and STP with different class load distributions. The symbols in this graph are as in Fig. 3. The four numbers in each bar denote the fraction of the four classes in the aggregate packet stream, starting from class 1 up to class 4. The utilization is 90% in all cases.
4.1.2. Class load distribution Fig. 4 shows the ratio of the average delays between successive classes in seven different load distribution cases. The simulation methodology follows that of Section 4.1.1. The link utilization is 90% in all cases. The results show that both WTP and STP schedulers are able to provide the specific delay differentiation ratio in a very precise manner, independent of the class load distribution. 4.1.3. Short timescale behavior The previous two experiments are based on measurements of long-term averaging delays. In this experiment, we will investigate whether WTP and STP schedulers can provide short timescale proportional delay differentiation. The measurements of the ratio of average delays between successive classes are made in consecutive time-intervals of length t; where t is the monitoring timescale. The four t values used in this experiment are 100, 1000, 10,000 and 100,000 ms. At the end of the simulation run, we compute for each time interval the ratios of average delays between successive classes, before averaging these ratios over all pairs of classes to get a single measure R: When one or more classes are not active in a certain time interval, we normalize the ratios of average delays of the active classes in order to compute R: Fig. 5 shows five percentiles of the ratio values obtained from all the monitoring timescale t: The five percentiles are 5, 25, 50, 75 and 95%. The SDPs used are si =si21 ¼ 2 and the link utilization is 90%. From the results, both schedulers are able to provide proportional delay differentiation in the range of 25 and 75%, even for the smallest monitoring timescale. As the monitoring time-interval increases, the performance also improves.
160
H.-T. Ngin, C.-K. Tham / Computer Communications 27 (2004) 153–161
configuration. Once again the performance of STP and WTP are comparable. It is interesting to observe that as the number of nodes that the input traffic traverse increases, the deviations from the SDP ratio reduces for both STP and WTP. In summary, we conclude that the STP is an excellent approximation of WTP because their performance are comparable under all circumstances.
5. Related work
Fig. 5. Five percentiles of R for four values of the monitoring timescale t: The diamonds represent the 50% percentiles (median), the circles represent the 25 and 75% percentiles, while the squares represent 5 and 95% percentiles. SDP is 2.0.
4.2. Multiple nodes In this experiment, the focus is on the end-to-end performance of the packet flows. The issue here is whether local class-based relative differentiation can lead to consistent end-to-end flow-based relative differentiation. Fig. 6 shows the network topology, which is a typical multiple congested nodes network configuration. The number of nodes varies from 1 to 5. The input traffic at the first node is generated by P ¼ 4 sources and traverses all nodes in the network configuration. The traffic characteristics and class load distribution is the same as that of the previous experiments. At each node, we have also included cross-traffic that are generated from C ¼ 4 sources. Their traffic characteristics and class load distribution follows that of the input traffic sources. The SDPs are si =si21 ¼ 2: The link utilization is 90% with the aggregate cross-traffic load taking up 70% of the total traffic at each link. The bandwidth of the network links is 51.85 Mbps. In order to examine the effectiveness of the relative delay differentiation, we ignore propagation and transmission delays, which are common to all packets and focus on queueing delays. Fig. 7 shows the ratio of the average delays between successive classes in multiple congested nodes network
Besides WTP, other more recent schedulers that approximate the PDD model have been proposed. MeanDelay Proportional (MDP) [14] is an algorithm that uses estimate of average class queueing delay instead of actual waiting time of packets wi ðtÞ for scheduling. In Ref. [9], Dovrolis proposed another WTP-extension, called Hybrid Proportional Delay (HPD). HPD uses a combination of waiting-time of class i packet wi ðtÞ and average delay of departed class i packets d i ðtÞ to determine the priority of a given packet. However, both algorithms are more complex than WTP. Another less computation intensive way of achieving proportional delay is to adjust service rate allocations based on the backlog of each class. The Backlog-Proportional Rate (BPR) [2], Proportional Queue Control Mechanism (PQCM) [15], Extended VirtualClock (Ex-VC) [16] and Dynamic Weighted Fair Queueing (DWFQ) [17] are some algorithms that make use of this method. They differ only in the specific method used to calculate the service rates. However, these methods are generally more susceptible to class load variations [9]. Other relative differentiation models that differ slightly from PDM have also been studied and proposed. Bodamer extends on PDD to propose a scheduler that provides proportional delay violation probabilities among classes in the system [18]. Another interesting framework is proposed by Christin and Liebeherr, called Joint Buffer Management and Scheduling (JoBS) [19]. JoBS combines both link scheduling and queue management in a single algorithm. Furthermore, it is able to offer relative and absolute guarantees on both delay and loss. Heuristics are used to modify service rates so that all QoS constraints
Fig. 6. Multiple congested link network configuration.
H.-T. Ngin, C.-K. Tham / Computer Communications 27 (2004) 153–161
Fig. 7. R for different number of nodes in a multiple congested nodes network configuration. The scheduler differentiation parameter is 2.0.
can be met. If this is not possible, then packets are dropped. Recently, the same authors also presented a quantitative assured forwarding service based on linear feedback control theory [20].
6. Conclusion This paper focuses on efficiently achieving Proportional Delay Differentiation (PDD). A new scheduling algorithm called Scaled Time Priority (STP) is proposed to efficiently approximate Waiting Time Priority (WTP), a well-known algorithm for achieving PDD. Specifically, STP is able to provide near proportional delay at a complexity of Oð1Þ; which is lower than WTP’s OðNÞ complexity, where N is the number of service classes in the system. The workload that must be transmitted before an arbitrary packet for both scheduling algorithms are derived to establish that STP is a good approximation of WTP. A number of simulations were also used to justify that STP is comparable to WTP.
References [1] C. Dovrolis, P. Ramanathan, A case for relative differentiated services and the proportional differentiation model, IEEE Network Oct (1999).
161
[2] C. Dovrolis, D. Stiliadis, P. Ramanathan, Proportional differentiated services: delay differentiation and packet scheduling, Proceedings of the ACM SIGCOMM Sep (1999). [3] R. Braden, D. Clark, S. Shenker, Integrated services in the Internet architecture: an overview, IETF RFC 1633 Jun (1994). [4] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss, An architecture for differentiated services, IETF RFC 2475 Dec (1998). [5] J. Liebeherr, D. Wrege, D. Ferrari, Exact admission control for networks with a bounded delay service, IEEE/ACM Transactions on Networking 4 (6) (1996). [6] D. Wrege, J. Liebeherr, A near-optimal packet scheduler for QoS networks, Proceedings of the IEEE INFOCOM (1997). [7] L. Kleinrock, A delay dependent queue discipline, Nav. Res. Log. Quart. 11 (1964) 329 –341. [8] L. Kleinrock, Queueing systems Volume II: computer applications, Wiley, 1976. [9] C. Dovrolis, Proportional Differentiated Services for the Internet, PhD Dissertion, 2000. [10] K. Nicholas, S. Blake, F. Baker, D. Black, Definition of the differentiated services field (DS field) in the IPv4 and IPv6 headers, IETF RFC 2474 Dec (1998). [11] J. Heinanen, F. Baker, W. Weiss, J. Wroclawski, Assured forwarding PHB group, IETF RFC 2597 Jun (1999). [12] B. Davie, A. Charny, J.C.R. Bennett, K. Benson, J.Y. Le Boudec, W. Courtney, S. Davari, V. Firoiu, D. Stiliadis, An expedited forwarding PHB (Per-Hop Behavior), IETF RFC 3246 Mar (2002). [13] S. McCreary, K.C. Claffy, Trends in wide area IP traffic patterns: a view from Ames Internet Exchange, ITC Specialist Seminar Sep (2000) http://www.caida.org/outreach/papers/. [14] T. Nandagopal, N. Venkitaraman, R. Sivakumar, V. Bharghavan, Delay differentiation and adaptation in core stateless networks, Proceedings of the IEEE INFOCOM Mar (2000). [15] Y. Moret, S. Fdida, A proportional queue control mechanism to provide differentiated services, Proceedings of the ISCIS Oct (1998). [16] M. Tufail, G. Jennes, G. Leduc, A scheduler for delay-based service differentiation among AF classes, Proceedings of the IFIP Broadband Communication Nov (1999). [17] C.C. Li, S.L. Tsao, M.C. Chen, Y. Sun, Y.M. Huang, Proportional delay differentiation service based on weighted fair queueing, Proceedings of the IEEE ICCCN Oct (2000). [18] S. Bodamer, A scheduling algorithm for relative delay differentiation, Proceedings of the IEEE HPSR Jun (2000). [19] J. Liebeherr, N. Christin, Rate allocation and buffer management for differentiated services, Computer Networks, Special Issue on the New Internet Architecture 40 (1) (2002) 89 –110. [20] N. Christin, J. Liebeherr, T. Abdelzaher, A quantitative assured forwarding service, Proceedings of the IEEE INFOCOM Jun (2002).