DiffServ node with join minimum cost queue policy and multiclass traffic Rahul Tandra a , N. Hemachandra b , D. Manjunath a,∗ a b Department of Electrical Engineering, Indian Institute of Technology Bombay, Powai, Mumbai 400 076, India IE and OR Interdisciplinary Programme, Indian Institute of Technology Bombay, Powai, Mumbai 400 076, India Abstract DiffServ, the vehicle for providing relative QoS in the Internet is also easily amenable to simple and effective pricing mechanisms. By pricing access to a relative QoS, we can model a DiffServ node as a ‘Join Minimum Cost Queue’ in which an arriving customer (packet or connection) determines the relative cost as a function of the congestion in the different queues and their access prices and decides to take service from that queue for which the cost is minimum. The Paris Metro pricing system and its work conserving variant called the Tirupati pricing are analyzed in this paper in the presence of multiclass traffic and for static pricing using an infinite buffer model. Extensive numerical results help describe the behavior of the performance measures like mean queue lengths, revenue rates and customer disutility rates as functions of the various system parameters. Two of the more interesting observations are that the disutility and revenue rate are not monotonic or convex functions of price and the revenue rate is very sensitive to the behavior of the delay sensitive class. We also analyze the finite buffer case and study the loss rate, revenue rate and also the convergence of these performance measures to the infinite buffer values as the buffer sizes increase. Keywords: DiffServ; Network pricing; Queue control; Join minimum cost queue; Join shortest queue; Finite buffer queues; Quasi-birth–death processes 1. Introduction Many pricing models to save the Internet from suffering the “tragedy of commons” have been proposed and continue to be proposed. Considering the volume (measured in bytes, packets or connections) of traffic handled by the Internet, it is now clear that these schemes should have computationally simple implementations and be robust. Walrand and Varaiya [25] identify four categories of Internet charges— access, usage, congestion and quality. Falkner et al. [9] is a good overview and bibliography on Internet pricing. It can also be argued that of the four categories above, it is computationally expensive to implement pricing structures for all but the access charges. Nevertheless, there has been a significant amount of literature for the other categories as well. 70 Currence et al. [7] discuss usage based billing in IP networks and also review of some commercial usage based billing products. There is a large body of literature on congestion charges and is based on the seminal work of Kelly and his co-workers. Kelly [17] considers a rate controlled network in which the network has capacity constraints and the users define utility functions on the bandwidth allocated to them and develops the concept of proportional fairness, as opposed to max–min fairness of Bertsekas and Gallager [2]. It is shown that if the users can prescribe a willingness price per unit traffic and the network allocates the bandwidths to the users in a proportionally fair manner, the network optimum is achieved when the price and the allocated bandwidths are in equilibrium. Kelly et al. [18] analyze the fairness and stability of such algorithms and show that the algorithms can be interpreted as rate control algorithms or as congestion feedback based algorithms. La and Anantharam [19] present a window based scheme that can be used for TCP flows in the Internet. Ganesh et al. [12] propose a rate adaptation algorithm for the users based on feedback from the network and show that under this algorithm the allocations converge to the fair rates. Gibbens and Key [14] describe a method for use of such schemes in best effort routers by suitably marking the packets. Absolute end-to-end quality assurance is very difficult and probably infeasible in the Internet. Relative guarantees on a hop-by-hop basis seem more feasible. The DiffServ [3] model for QoS in the Internet is based on this premise. In DiffServ the available bandwidth on a link is divided among multiple classes statically or dynamically. Network nodes maintain separate logical queues for each class for each outgoing link and service them according to a bandwidth sharing policy that can give assurance on per hop QoS for the classes. Priority queues is the simplest way to provide multiclass service but it could lead to starvation of lower priority queues for extended periods of time. Another way of providing per hop QoS would be to have multiple queues with different grades of service from each queue and having an additional control to force a certain arrival profile to each queue to enable the respective QoS from the queues. Pricing seems to be a good vehicle to provide this type of control to modulate the arrival profile. Such a price based control of the arrival profile is described and analyzed in Borkar and Manjunath [4] where a simple learning scheme is used to dynamically adapt the prices to provide a specified average grade of service from each queue in a multiqueue, multiclass traffic system. The queue system of [4] is similar to the Paris Metro pricing (PMP) system for queues [21] except that the pricing is dynamic. In the PMP, the network is logically partitioned in a static manner, each partition is allocated a fixed share of the network resources and the access to each partition is differentially priced. The Olympic pricing scheme (see [1]) is another scheme that is similar in principle. In [13,15] the behavior of PMP under equilibrium conditions is considered and compared with a uniclass pricing system. Taking inspiration from the queue management system in Tirupati, a major pilgrimage center in southern India, Dube et al. [8] propose a work conserving version of PMP called the Tirupati system. They analyze its social optimality and show that the difference between the social cost of the optimally priced system and that of the Tirupati system is K̄ for constants K̄ and . An online dynamic pricing algorithm for a multiqueue system using a dynamic programming equation and reinforcement learning is also described in [8]. It can be argued that the congestion pricing schemes of [12,17–19] provide a mechanism for usage based charges where the network sets the prices and the users adapt their usage based on their willingness to pay. In other words, while price is used to control the transmission rates, the payment is proportional to the usage. The PMP and the Tirupati pricing schemes are also similar in that multiple queues are maintained and the price is set for service from different queues. If the price for service from each of the queues and the congestion in them is posted, an arriving user picks the queue that maximizes its utility, or 71 minimizes its disutility. This is in the same spirit as most Internet pricing mechanisms in practice and will be called the ‘join minimum cost queue’ (JMCQ) system. In this paper we consider such a multiqueue that prescribes only an admission price for each queue and does not charge for the quantum of service. In this paper, we abstract an Internet node as a queuing system and analyze the Tirupati and PMP versions of the JMCQ system under a static pricing regime in the presence of multiclass traffic. The JMCQ system can be seen to be very simply adapted for DiffServ service. Our results are from Markovian queuing analysis similar to the analysis of join shortest queue (JSQ) systems from where we borrow some techniques. The rest of the paper is organized as follows. In the next section we describe our models and assumptions. In Section 3 we describe the performance models for both Tirupati and PMP versions of the JMCQ using an infinite buffer model. Extensive numerical results to study the behavior of mean queue lengths, revenue rates and customer disutility rates as functions of the various system parameters are in Section 4. In Section 5 we analyze the finite buffer case and study the loss rate, revenue rate and also the convergence of these performance measures to the infinite buffer values as the buffer sizes increase. 2. JMCQ with multiclass customers The JMCQ works as follows. There are K > 1 queues. A join price of pi is prescribed for receiving service from queue i. Without loss of generality, we let p1 ≤ p2 ≤ · · · ≤ pK . The total service capacity is µ. We can define a non-work conserving system in which µ is statically partitioned among the K queues—queue i is serviced at rate µi , K µ i=1 i = µ, irrespective of the occupancy of the other queues. This version of JMCQ is akin to the PMP system and will be referred to as such. We can also define a work conserving version which, in its most general form, can use a generalized processor sharing model to service theK queues. Queue i is allocated a weight wi and at any time it will receive service at rate µi = wi µ/( j:Queue j is non-empty wj ). Such a JMCQ is identical to the Tirupati model defined in [8] and we will refer to it as such. We will say that the JMCQ is balanced if the capacity is divided equally among all the queues. Thus for all i, the Tirupati system is balanced if wi = 1 for i = 1, . . . , M, and the PMP is balanced if µi = µ/M. The cost of service from the system is a function of both the join price and the queue congestion. We consider congestion cost in the form of a waiting time cost, which in turn, can be estimated from the occupancy of the queue from which service is to be received. Thus the queue occupancy needs to be posted and made available to the arriving customers. We will denote the number of customers in queue i, 1 ≤ i ≤ K by Ni (t) and let N(t) = [N1 (t), N2 (t), . . . , NK (t)]T be the queue length vector at time t. We consider multiple classes of customers with different classes exhibiting different sensitivities to the join price and waiting time cost. Let M > 1 be the number of customer classes. Class m, m = 1, . . . , M, customer arrivals form a Poisson process of rate λm . The service times for all the customers will have an exponential distribution with unit mean. A class m arrival at time t is informed of N(t − ), the queue vector ‘just before t’. It calculates its cost for service from queue i according to a function ψ(m, Ni (t), pi ) and joins queue i if i minimizes ψ(m, Nj (t − ), pj ) among j = 1, . . . , K. Ties in cost are awarded to the lower priced queue. ψ(·) reflects the sensitivity of the customer of class m to price and delay. Observe that we prescribe only a join price and no price for the quantum of service. This is in the spirit of the Internet in having only a flat “access” charge, no volume charge and being simple to implement. We assume that the customers obtain instantaneous congestion information on arrival and that there is no delay as might be expected in the context of the Internet. An important contribution of this paper is that 72 we explicitly involve a model of customer behavior based upon a cost or “disutility” calculated from the posted prices and congestion levels. Let pim be the join price of queue i for a class m customer. A convex combination of the queue length (the congestion indicator) and price is simple and effective in capturing price and delay sensitivities for different types of traffic. Thus the disutility function that we consider will be of the form ψ(m, Ni (t), pim ) = aim Ni (t) + (1 − aim )pim , aim ∈ (0, 1). (1) The aim will be called the delay sensitivity of class m. We further assume that the service rates for all classes are identical and that prices are not class dependent, a reasonable assumption in the context of the Internet. Therefore, aim = am for m = 1, . . . , M and pim = pi for i = 1, . . . , K and ψ(·) reduces to ψ(m, Ni (t), pi ) = am Ni (t) + (1 − am )pi . In the sequel, unless specified, we consider a system with M = 2 and K = 2. Without loss of generality, we assume a1 > a2 , i.e., class 1 traffic is delay sensitive and class 2 traffic is price sensitive. In the next section we analyze the system with infinite buffers and no balking. 3. The two queue, infinite buffer JMCQ The JMCQ policy is similar to the JSQ policy that has been extensively studied. The exact performance analysis of the JSQ system has been notoriously difficult and only approximations (e.g., [24]), and asymptotic results (e.g., [10]), are available for the general problem. Boxma et al. [5] provide an excellent survey of the analytical models for JSQ. The JMCQ as defined above is further complicated by the use of a cost function by the arrivals and also by the presence of multiple classes of customers. Hence, it is reasonable to expect that exact closed form expressions for performance analysis will be difficult. Therefore, we consider performance bounds in most cases and approximate analysis in some others. We will analyze the behavior of the system revenue rate and the customer disutility rate for various system parameters. We will first summarize some stability results and also describe our method of obtaining computable performance bounds or approximate results from Tandra, et al. [23] and then obtain extensive numerical results. 3.1. Stability and performance bounds The evolution of N(t) is a two-dimensional birth–death process. Given N(t), the departure process is governed by the service policy—non-work conserving PMP or work conserving Tirupati. In the work conserving JMCQ, departure rates from queue 1 (resp. queue 2) when the system is in state [i, 0] (resp. [0, j] will be µ = µ1 + µ2 ). For all other non-empty states, the departure rates will be µ1 from queue 1 and µ2 from queue 2. In the non-work conserving JMCQ, the departure rate will always be µ1 from queue 1 and µ2 from queue 2. The queue into which an arrival state N(t) will join is determined by its class and its delay sensitivity. Let δm ij to be the queue that an arriving class m customer to state [i, j] will join. For example, δ1ij = 1 if ψ(1, i, p1 ) ≤ ψ(1, j, p2 ) and δ1ij = 2 otherwise. Let Q = {qij:kl } and Q̂ = {q̂ij:kl }, i, j, k, l = 0, 1, . . . , be the transition rate matrix of work conserving system and the non-work conserving systems, respectively. The following are the ergodicity conditions for the Markov chain described by the transition rate matrix Q. 73 Theorem 1. 1. For the work conserving JMCQ, the Markov chain described by Q is ergodic if λ1 + λ2 < µ1 + µ2 . √ 2. For the non-work conserving JMCQ, the Markov chain described by Q̂ is ergodic if λ1 +λ2 < µ1 µ2 . 3. Further, for both the work conserving and the non-work conserving systems the Markov chains described by Q and Q̂, respectively, are transient if λ1 + λ2 > µ1 + µ2 . Theorem 1 is proved by choosing appropriate Lyapunov functions in Foster’s criteria [6]. Observe that for PMP pricing scheme, the stability condition is quite weak and we believe that it can be improved. Later in this section we will provide some numerical evidence to show that the non-work conserving √ JMCQ is stable for λ1 + λ2 ≥ µ1 µ2 . When the Markov chain described by Q (resp. Q̂) above is ergodic, a steady state solution π = {πij } (resp. π̂) exists. When the system is in state [i, j], a revenue pi is earned if an arrival joins queue i. Therefore, for the work conserving system, from the law of large numbers, the steady state rate of revenue generation, R, is given by [22] R= πij [λ1 [p1 I(δ1ij = 1) + p2 I(δ1ij = 2)] + λ2 [p1 I(δ2ij = 1) + p2 I(δ2ij = 2)]], (2) i,j where I(·) is the indicator function with the usual meaning of taking on a value 1 if the condition is satisfied and 0 otherwise. Similarly, the disutility rate for class m customers, Dm is given by m Dm = πij λm [I(δm (3) ij = 1)(am i + (1 − am )p1 ) + I(δij = 2)(am j + (1 − am )p2 )]. i,j The revenue rate, R̂, and disutility for class m customers, D̂m , are similarly defined for the non-work conserving system. We now describe the method to obtain bounds and approximate results. First consider the revenue rate, R. We borrow the techniques of [24] to obtain bounds on R by considering a truncated state space. To motivate the truncation, first consider the situation when only one class of customers is present. Let a be the delay sensitivity of this class. Without loss of generality, let p1 < p2 . On the N1 (t)–N2 (t) plane, an attractor line can be defined such that an arrival to the system when the state is on the left of this line will join queue-1 and an arrival to a state on the right of this line will join queue-2. This means that arrivals tend to move the system towards the attractor. The attractor line is defined by the equation N2 = N1 − ((1 − a)/a)(p2 − p1 ), i.e., arrivals will prefer the lower priced queue unless N1 − N2 > ((1 − a)/a)(p2 − p1 ). With multiclass traffic, there will be separate attractors for each class. We argue that for states (i, j) away from the attractor lines πij becomes very small. This motivates us to consider systems similar to the JMCQ but defined over a state space truncated at some distance from the attractors. Specifically, we will consider the state space of the JMCQ truncated to contain only those states for which Tl ≤ N1 − N2 < Tr , Tl ≤ 0 and Tr ≥ ((1 − a2 )/a2 )(p2 − p1 ). We also have the additional constraint that Tl and Tr are integers. Tl and Tr will be called the left truncation threshold and the right truncation threshold, respectively. Let S denote the state space of the original JMCQ system and S the state space obtained after truncation. By suitably modifying the transition rates at the boundaries of the truncated system and by defining quantities similar to those defined by Eqs. (2) and (3) we can obtain bounds and approximations to R and Dm (Fig. 1). 74 N2 left-threshold right-threshold x1 Class 2 Attractor d1 l1 x2 Class 1 Attractor l2 d2 N1 T=(1/a1+1/a22-2)*(p2-p1) Fig. 1. Thin lines are attractors for the two customer classes, a1 > a2 . Thick lines are truncation thresholds. Also shown are two example states on the thresholds and the transitions from them. Transitions marked x are not present in JMCQ. Transitions marked d1 and d2 will make the new system “leave” S. Transitions d1 and d2 are dropped in JMCQu . Transitions l1 and l2 with rates d1 and d2 , respectively, are introduced for JMCQl . The following discussion will be with reference to the work conserving JMCQ. The discussion for the non-work conserving JMCQ is similar except that we will be using a ‘hat’ over the corresponding symbols of the non-work conserving system. We define systems JMCQu and JMCQl over S , like in [24] to give us upper and lower bounds on the mean delay and the mean number in the system for the JMCQ. (u) First consider JMCQu and let Q(u) = {q[i,j]:[k,l] } be its transition rate matrix which is obtained from Q as follows. The transition rates from the states that are between the two truncation threshold lines will be the same as that in the JMCQ system. In the states on the truncation threshold line, an arrival will move the state space towards its attractor and will not cause the system to go out of S . In a state on the threshold line, a departure is disallowed. This means that the non-diagonal elements of Q(u) will be given by (u) q[i,j]:[k,l] = q[i,j]:[k,l] ∀ [i, j] ∈ S , [k, l] ∈ S , [i, j] = [k, l]. (l) The JMCQl will have a transition rate matrix Q(l) = {qij:kl } which is obtained from Q as follows. As with JMCQu , the transition rates from the states between the threshold lines are the same as that in the JMCQ system. Once again, as with the JMCQu , we need to consider only the transition rates corresponding to departures from states on the truncation threshold line. These are modified such that a departure will take away a customer from the other queue. Thus the non-diagonal elements of Q(l) will be q[i,j]:[i−1,j] if [ij] is on the left threshold; k = i − 1, l = j − 1, (l) q[i,j]:[k,l] = q[i,j]:[i,j−1] if [i, j] is on right threshold; k = i − 1, l = j − 1, otherwise. q[i,j]:[k,l] Let D̄um the mean delay for class-m traffic and N̄ui the mean number in queue i in the JMCQu system. Also let Dlm and N̄li be the corresponding quantities for the JMCQl system. To obtain bounds on the revenue rate, we work with the left threshold line passing through the origin, i.e., Tl = 0. Let ST l be the states on the left threshold line except the state [0, 0] and ST r the states on 75 the right threshold line except the state [Tr , 0]. Let πiju be the stationary distribution of JMCQu and define Ru Rl as {πiju [λ1 p1 I(δ1ij = 1) + λ1 p2 I(δ1ij = 2) + λ2 p1 I(δ2ij = 1) + λ2 p2 I(δ2ij = 2)]} Ru = [i,j]∈S + πiju µ1 p1 + (4) [i,j]∈S T r {πijl [λ1 p1 I(δ1ij = 1) + λ1 p2 I(δ1ij = 2) + λ2 p1 I(δ2ij = 1) + λ2 p2 I(δ2ij = 2)]} [i,j]∈S − πiju µ2 p2 , [i,j]∈S T l Rl = πijl µ1 p2 − [i,j]∈S T l πijl µ2 p1 . (5) [i,j]∈ST r Consider the uniformized jump chains of the JMCQu , JMCQ and the JMCQl systems obtained from a Poisson process of rate λ1 + λ2 + µ1 + µ2 . Let t1 , t2 , . . . be the event epochs of this uniformizing process. (u) (u) (l) (l) Also, let [N1k , N2k ], [N1k , N2k ] and [N1k , N2k ] be the state of the JMCQu , JMCQ and the JMCQl systems + at time tk . The following is shown in [23]. Theorem 2. 1. 2. 3. 4. (u) (l) N1k ≥ N1k ≥ N1k for all k ≥ 0. (u) (l) N2k ≥ N2k ≥ N2k for all k ≥ 0. N̄il ≤ N̄i ≤ N̄iu , i = 1, 2. If the left threshold line passes through the origin, Ru ≥ R ≥ Rl . Identical results for the non-work conserving system defined using the transition rate matrix Q̂ can also be shown. The JMCQl and JMCQu systems defined over S can be solved as follows [24]. Rename the states in S as follows: (N1 , N2 ) is renamed as (N1 − N2 , N2 ) for N1 = N2 , . . . , N2 + Tr . Since the system is a two-dimensional birth–death process, the non-zero transition rates are only between “adjacent” states and the transition rate matrix for the JMCQl and JMCQu systems will have the block tridiagonal structure of a quasi-birth–death (QBD) process and the matrix geometric techniques [20] are directly applicable. Also the necessary and sufficient conditions for the stability of the truncated systems can be numerically computed from Theorem 3.1.1 of Neuts [20]. In addition to computing the numerical bounds and approximations of the performance measures we will also use the QBD theory to numerically show √ that the non-work conserving PMP system is possibly stable for λ1 + λ2 > µ1 µ2 . 4. Numerical results We now present a numerical analysis of the work conserving and non-work conserving versions of JMCQ to analyze the dependence of performance measures like mean queue lengths, revenue rate and disutilities on the system parameters like delay sensitivities, arrival and service rates and the join prices. We will use p1 = 0 and p2 = p. Thus price variation will essentially mean a variation of p. Also, unless 76 explicitly mentioned, λ1 = λ2 = 0.5λ, i.e., the arrivals are equally likely to belong to either traffic class. In all our computations using the truncated systems, the right truncation threshold is at two levels to the right of the right attractor line, i.e., Tr = ((1 − a2 )/a2 )p + 2 and 100 levels of the QBD process will be used. In the first part, we will show both the bounds from the analytical model and simulation results. This will help us establish the goodness of the truncation model in addition to studying the behavior of the system. Thereafter, we will usually use one of the bounds to discuss the behavior. 4.1. Queue length analysis First consider the mean queue lengths. To make the bounds very tight, we let the N2 -intercept of the left truncation threshold be greater than 0 and choose Tl = −3. We can do this for queue length bounds since we do not make assumptions about the location of the thresholds in the sample path bounds in Theorem 2. 3.8 Mean length of queue 1 3.6 3.4 3.2 3 Upper Bound Simulation Lower Bound 2.8 2.6 2.4 0 5 10 15 20 25 30 35 30 35 p Queue 1 Mean length of queue 2 1.4 1.2 Upper Bound 1 Simulation Lower Bound 0.8 0.6 0.4 0.2 0 5 10 15 20 25 p Queue 2 Fig. 2. Mean queue lengths in queue 1 and queue 2 as a function of price in the Tirupati system. Bounds and results from a long run simulation model are shown. λ1 = λ2 = 0.4, µ1 = µ2 = 0.5, a1 = 0.8 and a2 = 0.3. 77 Further, we have observed that this improves the queue length bound significantly, as compared to when Tl = 0. The revenue bounds though, as we will see, are fairly tight for Tl = 0. Fig. 2 plots the mean queue length bounds and also the ‘actual’ values from long run simulations for the work conserving Tirupati pricing scheme. The increase of N̄1 and decreases of N̄2 with increase in p is to be expected since, as the price increases more customers tend to join the low priced queue. What is interesting though is that the mean queue length changes significantly every time p increases by 4. This is because (1 − a1 )/a1 = 41 , which means that whenever p2 changes by 4 the attractor line of class 1 shifts by one unit and only then there is a significant change in the value of the mean queue length. Further, if we plot the mean queue lengths when p is multiples of 4, the increase in N̄1 is approximately linear while the decrease in N̄2 is not. Fig. 3 shows the similar results for the PMP system. Now consider the stability of PMP. In the previous example, we have chosen λi and µi that satisfy the stability conditions of Theorem 1. For a PMP system with λ1 = λ2 = 0.4 and µ1 = µ2 = 0.5, we have 3 Mean length of queue 1 2.8 2.6 2.4 2.2 2 1.8 Upper Bound 1.6 Simulation Lower Bound 1.4 1.2 1 0 5 10 15 20 25 30 35 p Queue 1 0.3 Upper Bound Mean length of queue 2 0.25 Simulation 0.2 Lower Bound 0.15 0.1 0.05 0 0 5 10 15 20 25 30 35 p Queue 2 Fig. 3. Mean queue lengths in queue 1 and queue 2 as a function of price in the PMP system. Bounds and results from a long run simulation model are shown. λ1 = λ2 = 0.2, µ1 = µ2 = 0.5, a1 = 0.8 and a2 = 0.3. 78 13 Mean length of queue 1 12 11 10 9 8 7 Upper Bound Simulation Lower Bound 6 5 4 3 0 5 10 15 20 25 30 35 p Queue 1 2.05 Upper Bound Simulation Lower Bound Mean length of queue 2 2 1.95 1.9 1.85 1.8 1.75 1.7 1.65 1.6 51 01 52 02 53 03 5 p Queue 2 Fig. 4. Mean queue length bounds and simulation results for the PMP system when λ = 0.8, µ1 = µ2 = 0.5, i.e., √ λ1 + λ2 > µ1 µ2 . a1 = 0.8 and a2 = 0.3. Mean queue lengths are finite and system is stable. numerically seen that the QBD process corresponding to the upper bound system satisfies Theorem 3.1.1 of [20]. This shows that the upper bound system is stable, which, from the PMP version of Theorem 2, implies that the actual system is also stable. The mean length bounds and the simulation results as a function of p are shown in Fig. 4. They are finite. We have done similar computations for λ1 + λ2 in 0.8–0.95 and have observed that for each case of Theorem 3.1.1 of [20] is satisfied. This leads us to make the following conjecture. Conjecture 1. The PMP system is stable for λ1 + λ2 < µ1 + µ2 . 4.2. Revenue rate analysis Now consider the revenue rates. For the Tirupati system, Ru and Rl are obtained from Eqs. (4) and (5) and the R is obtained from long run simulations. The corresponding quantities for the PMP system, 79 2.2 2 Revenue Rate 1.8 1.6 1.4 1.2 Upper Bound Simulation Lower Bound 1 0.8 0.6 0 5 10 15 20 25 30 35 p Tirupati system, work conserving JMCQ; λ = λ = 0.4. 1 2 0.6 Upper Bound Simulation Lower Bound Revenue Rate 0.55 0.5 0.45 0.4 0.35 0.3 0.25 0.2 0 5 10 15 20 25 30 35 p PMP system, non work conserving JMCQ; λ = λ = 0.2. 1 2 Fig. 5. Revenue rate as a function of the price. Bounds and results from a long run simulation model. For both Tirupati and PMP a1 = 0.8, a2 = 0.3, µ1 = µ2 = 0.5, p1 = 0. Thresholds are Tl = 0 and Tr = ((1 − a2 )/a2 )(p2 − p1 ) + 2. R̂u , R̂l , R̂, are also obtained and plotted in Fig. 5 as a function of the join price. Observe that the bounds are very tight for both the work conserving and non-work conserving systems especially for p in the medium and high ranges. Also, although the revenue rate generally increases with increasing p, it reaches a “maximum” and then decreases, it is neither monotonic nor a convex function of p. The discontinuities at intervals of 4 is seen again. The explanation is similar to that for the mean queue length results. Many a time, especially in a work conserving system, it might be desirable to have µ2 > µ1 . Theorems 1 and 2 will hold even if µ1 = µ2 [23]. In Fig. 6, we choose µ1 = 0.3 and µ2 = 0.7 and compare the revenue rates in the bound systems with the original system. As expected the revenue rate will be considerably higher than when µ1 = µ2 , since higher µ2 ensures that the arrival rate into queue 2 is higher and hence the revenue rate is also higher. Observe that although the difference in the service rates is significant in the Tirupati model, the difference in the revenue rates between the symmetric service and asymmetric 80 2.4 2.2 Revenue Rate 2 1.8 1.6 1.4 Upper bound (0.3,0.7) 1.2 Lower bound (0.3,0.7) 1 Upper bound (0.5,0.5) 0.8 Lower bound (0.5,0.5) 0.6 0 5 10 15 20 25 30 35 p Tirupati system, λ = λ = 0.4, µ1 = 0.3 µ2 = 0.7 1 2 1 0.9 Revenue Rate 0.8 Upper bound (0.3,0.7) 0.7 Lower bound (0.3,0.7) 0.6 Upper bound (0.5,0.5) 0.5 Lower bound (0.5,0.5) 0.4 0.3 0.2 0.1 0 5 10 15 20 25 30 35 p PMP system: λ = λ = 0.19, µ1 = 0.4 µ2 = 0.6 1 2 Fig. 6. Revenue rates as a function of the price for the Tirupati and PMP systems with unequal service rates for the two queues. The revenue rates for µ1 = µ2 = 0.5 are also shown for comparison. service system is not very significant, about 15% at its maximum. Even a small amount of asymmetry causes considerable revenue rate variation in the PMP system. We now focus on the behavior of R as a function of p. Also, since we have now established that the revenue bounds are very tight, to improve the clarity of the figures, we will only show the upper bounds. First, consider the effect of the arrival rates on the shape of the R–p plots shown in Fig. 7. Observe that the plot is approximately “convex” for the Tirupati system for all values of λ that are shown in the figure. For PMP it behaves very differently for λ > 0.5 and R increases monotonically with p. This is explained as follows. Consider the work conserving Tirupati first. When the system is stable and p is large, the occupancy of queue 1 required to force an arrival to join queue 2 is very high and the probability of the 81 6 λ = 0.6 λ = 0.7 λ = 0.8 λ = 0.9 Revenue Rate 5 4 3 2 1 0 0 5 10 15 20 25 30 35 p Tirupati system 10 λ = 0.4 λ = 0.5 λ = 0.6 λ = 0.7 λ = 0.8 9 Revenue Rate 8 7 6 5 4 3 2 1 0 0 5 10 15 20 25 30 35 p PMP system Fig. 7. Comparing revenue rates in PMP and Tirupati systems for λ less than and greater than the service rate of each server of PMP; a1 = 0.8, a2 = 0.3. system being in that state and hence earning revenue, becomes very small. Obviously, this probability decreases with increasing p because the entire service capacity is available for use in queue 1 and the system being stable implies that the probability of the occupancy of queue 1 being large is very small and decreases with increasing p. Thus while for small p there will be some joins into queue 2, this rate will become small for larger p. The explanation is similar for the PMP when λ1 < µ1 . For λ > µ1 , the opposite of above is true, queue 1 will rarely become empty and the system will tend to operate near the attractor lines. Increasing p will only move the attractor lines to the right and not really affect the fact that the system operates around the operating point. Arrivals will join queue 2 at the same rate as when p is lower and R will be an increasing function of p. Next consider the effect of price sensitivity. Fig. 8 shows the revenue rate as a function of the delay sensitivities of the two classes of traffic in the Tirupati system. Although R increases with increasing ai , the following observations are interesting: 82 5 a1 = a1 = a1 = a1 = a1 = 4.5 Revenue Rate 4 3.5 3 0.4 0.6 0.7 0.8 0.9 2.5 2 1.5 1 0.5 0 0 5 10 15 20 25 30 35 p Different a1, same a2 = 0.3 2.4 2.2 Revenue Rate 2 1.8 1.6 a 2 = 0.3 a 2 = 0.4 a 2 = 0.5 a 2 = 0.6 a2 = 0.7 1.4 1.2 1 0.8 0 5 10 15 20 25 30 35 p Same a1 = 0.8, different a2 Fig. 8. Effect of a1 and a2 on revenue rate in the Tirupati system. The top panel is obtained for different a1 with a2 = 0.3 and the bottom panel is for different a2 with a1 = 0.8. For both cases λ = 0.8 and µ1 = µ = 2 = 0.5. 1. The change in the revenue rate due to change in the a1 is much more than that caused by a change a2 . For example, even doubling of a2 from 0.3 to 0.6 does not change the revenue rate appreciably. This is because class 1 traffic is delay sensitive and decreasing a1 will make them less delay sensitive. This will allow more customers to choose to join queue 1, the cheaper queue. Also, since class 2 is price sensitive, increasing a2 will only shift the right attractor line to the left and increase the revenue rate. This increase though is not significant because the price difference between the two queues is high and class 2 customers do not choose to join queue 2 with much higher probability. 2. The price at which the maximum revenue rate is achieved is very nearly the same for the different values a2 whereas it increases for increasing values of a1 . This is because a large fraction of the revenue is derived from the delay sensitive class and any changes in its behavior have a more noticeable effect than those in the price sensitive class. We have also observed that the revenue is more sensitive to the delay sensitive class even when (a1 − a2 ) is small. 83 0.6 a1 = 0.8 a1 = 0.7 a1 = 0.6 a1 = 0.5 Revenue Rate 0.5 0.4 0.3 0.2 0.1 0 0 5 10 15 20 25 30 35 p Different a1, same a2 = 0.3 0.6 a2 = 0.6 a2 = 0.5 a2 = 0.4 a2 = 0.3 Revenue Rate 0.55 0.5 0.45 0.4 0.35 0.3 0 5 10 15 20 25 30 35 p Same a1 = 0.8, different a2 Fig. 9. Effect of a1 and a2 on revenue rate in the PMP system. The top panel is obtained for different a1 with a2 = 0.3 and the bottom panel for different a2 with a1 = 0.8. For both cases λ = 0.4 and µ1 = µ2 = 0.5. Fig. 9 shows the corresponding results for the PMP system. The effects are similar but are significantly more pronounced here with the revenue rate being virtually identical for a2 = 0.4, 0.5 and 0.6. For the PMP, we noticed similar effects when λ = 0.7 except that the revenue rate increases linearly with p. 4.3. Disutility analysis We have not established that the disutility rates obtained from either the JMCQu or the JMCQl systems are bounds on the actual disutility. In the following we will use π(u) , the steady state distribution of the JMCQu system to obtain the disutility rates and treat the results as an approximation of the actual value rather than as an upper bound. Fig. 10 shows the disutility rate of both the classes as a function of p for different λ1 = λ2 = λ/2. The disutility of class 1, the delay sensitive class, is always higher than that of class 2, the price sensitive 84 1.8 1.6 Disutility Rate 1.4 Class 1, lambda =0.8 1.2 Class 2, lambda =0.8 1 Class 1, lambda =0.4 0.8 Class 2, lambda =0.4 0.6 0.4 0.2 0 0 5 10 15 20 25 30 35 p Tirupati system 4 Disutility Rate 3.5 3 2.5 Class 1, lambda =0.7 Class 2, lambda =0.7 2 Class 1, lambda =0.3 1.5 Class 2, lambda =0.3 1 0.5 0 0 5 10 15 20 25 30 35 p PMP system Fig. 10. Disutility rate of both classes in the Tirupati and PMP systems as a function of p for different λ. µ1 = µ2 = 0.5, a1 = 0.8, a2 = 0.3. class. This can be explained as follows. The system will typically be between the attractor lines. For a state [i, j] in this region, let Dijm be the disutility for an arriving class m customer. So, Dij1 − Dij2 = [a1 j + (1 − a1 )p2 ] − [a2 i + (1 − a2 )p1 ]. With p1 > p2 , a1 > a2 and i > j in the above region, the difference is positive for the states where the probability mass is concentrated. For a given λ, the disutility rate is fairly constant for both classes for the range of p that we consider. We also observe that the disutility rate of the delay sensitive class is very sensitive to the load, it increases nearly 10-fold when the arrival rate is doubled from 0.4 to 0.8. However, the price sensitive class is fairly insensitive to increasing λ. The behavior is similar in the PMP except that when λ > µ1 , the disutility rate of class 1 increases monotonically. The effect of a1 and a2 as a function of the disutility rates for the Tirupati and PMP systems is shown in Figs. 11 and 12, respectively. Varying a1 does not affect the disutility of class 2 but it affects the disutility of class 1 significantly. Almost the converse seems to be true when a2 is varied—class 2 is significantly 85 Fig. 11. Effect of a1 and a2 on the disutility rate of both classes in the Tirupati system. λ = 0.8, µ1 = µ2 = 0.5. affected and class 1 is unaffected. Thus varying the delay sensitivity of any of the classes seems to affect the disutilities only of that class. 5. Finite buffer analysis Let queue i have finite buffer space, i.e., at most Bi customers can be in queue i at any time. Many admission mechanisms are possible and we consider that in which an arriving customer calculates its cost for those queues in which Ni < Bi and joins the one that has the minimum cost among them. Since the queues that we consider are typically logical queues, we can assume that there is a total buffer space of B and that the queues share this according to some policy. We will analyze the loss and revenue rate behavior as a function of the buffer size and the buffer sharing policy. 86 0.55 0.5 Disutility Rate 0.45 1, 0.8 1, 0,7 1, 0.6 2, 0.8 2, 0.7 2, 0.6 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 5 10 15 20 25 30 35 p Different a1, same a2 = 0.3 0.55 0.5 1, 0.3 1, 0.4 1, 0.5 Disutility Rate 0.45 0.4 2, 0.5 2, 0.4 2, 0.3 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 5 10 15 20 25 30 35 p Same a1 = 0.8, different a2 Fig. 12. Effect of a1 and a2 on the disutility rate of both classes in the PMP system. λ = 0.4, µ1 = µ2 = 0.5. Optimal buffer sharing policies have been extensively studied in many contexts. See Foschini and Gopinath [11] and Kaufman [16] for some of the early work in this area. Complete sharing and complete partitioning are the two well known buffer sharing policies. The analysis of the JMCQ under both these schemes is similar. The finite buffer JMCQ evolves as a finite state Markov chain which is always stable and the steady state distribution, π, is easily obtained. The revenue, loss and disutility rates and mean queue lengths can be easily obtained. In the following we will analyze the variation of the mean queue length and the revenue rate as a function of the join price of queue 2. We consider the two buffer sharing models separately. Further, in this section we will analyze only the work conserving Tirupati system. The analysis of the PMP system is similar and the results are also similar. For both buffer sharing policies, it is easy to see that the total loss probability for the work conserving Tirupati system is given by the M/M/1/K formula with buffer capacity B, (1 − ρ)ρB /(1 − ρB+1 ), where ρ = (λ1 + λ2 )/(µ1 + µ2 ). 87 5.1. Complete buffer sharing The total buffer capacity is B. An arriving customer is admitted only when the total number in the system is less than B. The state space of the JMCQ system for this model is given by, the set of all states [N1 , N2 ] for which N1 ≥ 0, N2 ≥ 0 and N1 + N2 ≤ B. In the N1 –N2 plane the state space is a right Revenue Rate 1.8 1.75 1.7 a1=0.6 1.65 1.6 30 35 40 45 50 55 60 Buffer size B Revenue Rate 2.5 2.4 2.3 a1=0.7 2.2 30 35 40 45 50 55 60 Revenue Rate Buffer size B 3.35 3.3 a1=0.8 3.25 3.2 30 32 34 36 38 40 42 44 46 48 55 60 50 Buffer size B Different a1, same a2 = 0.3 3.4 Revenue Rate 3.3 3.2 3.1 3 a2 = 0.5 a2 = 0.4 a2 = 0.3 2.9 2.8 15 20 25 30 35 40 45 50 Buffer Size B Same a1 = 0.8, different a2 Fig. 13. Revenue rate as a function of the common buffer size B for different values of a1 with λ1 = λ2 = 0.45; µ1 = µ2 = 0.5, a2 = 0.3, p1 = 0 and p2 = 12. 88 triangle with vertices as [0, 0], [B, 0] and [0, B]. The transition rates for the states is the same as in the infinite buffer case, except that for states on the hypotenuse of the triangle arrivals are disallowed. Fig. 13 shows the revenue rate as a function of the buffer size B for different values of a1 keeping a2 = 0.3. Observe that the effect on the revenue rate is similar to that of the infinite buffer case, changes in a1 affects the revenue rate more significantly than changes in a2 . An important observation is that the finite buffer revenue rate monotonically approaches the infinite buffer revenue rate. The convergence to the infinite buffer values appears to be exponential. It appears that a buffer size of 50 would be reasonable. Note that the loss probability for this case will be 0.0005 for λ = 0.9. 5.2. Complete buffer partitioning In this model queue i is allocated Bi buffers and an arriving customer calculates its disutility for those queues for which Ni < Bi , i = 1, 2 and joins the one with the least disutility among them. The state space for this system is a rectangle with vertices [0, 0], [B1 , 0], [B1 , B2 ] and [0, B2 ]. According to our admission policy, when the system is on the right boundary of the state space, i.e., N1 = B1 and N2 < B2 , customers are forced to join queue 2 even it has a higher disutility. Fig. 14 shows the three-dimensional plot of the revenue rate for different values of B1 and B2 . As expected, the revenue rate is higher than that in the complete sharing model for the same buffer size (B1 + B2 = B). We now investigate how finite buffer revenue rates behave as one of B1 and B2 increase. First consider Fig. 15 which plots the revenue rate against B1 for B2 = 10 and B2 = 19. When B2 = 10 the revenue rate increases monotonically as we vary B1 from 16 to 45. However, when B2 = 19, the revenue rate falls initially till B1 = 22 and then again increases monotonically. This can be explained as follows: for low values of B1 the customers are forced to join the costlier queue when queue 1 is full contributing 3.34 3.32 3.3 Revenue Rate 3.28 3.26 3.24 3.22 3.2 3.18 20 18 45 40 16 35 14 30 25 12 B 2 10 20 15 B 1 Fig. 14. Revenue rate as a function of B1 and B2 . λ1 = λ2 = 0.45, µ1 = µ2 = 0.5, a1 = 0.8, a2 = 0.3, p1 = 0, p2 = 12. Revenue Rate 89 3.3 3.25 B2=10 3.2 15 20 25 30 35 40 45 B1 Revenue Rate 3.32 3.318 3.316 3.314 3.312 3.31 B2=19 3.308 3.306 15 20 25 30 35 40 45 B 1 Fig. 15. Revenue rate as a function of the B1 for two different values of B2 . λ1 = λ2 = 0.45; µ1 = µ2 = 0, 5, a1 = 0.8, a2 = 0.3, p1 = 0, p = 12. to an increase in the revenue. When B1 is around 22 the forcing of customers into queue 2 has very little probability and hence the behavior ‘reverts back to normal’ and the rate increases monotonically thereafter. Thus with complete buffer partitioning, the revenue rate does not approach the infinite buffer values monotonically with increasing B1 when B2 is fixed. Fig. 16 plots the revenue rate against B2 for two different values of B1 . Both the curves are monotonically increasing. In fact, we can argue that with B1 fixed, as B2 is increased, the revenue rate will monotonically increase but converge to less than the infinite buffer value. We also note that when B1 = 16 the convergence is slower than when B1 = 45. 6. Discussion We have analyzed a DiffServ node with multiclass traffic operating as a JMCQ under two service policies: work conserving Tirupati and non-work conserving PMP. Specifically, we have analyzed the behavior of the service provider’s gain (revenue) and the customers’ cost (disutility function of price and delay). Although our disutility function is simple, the qualitative conclusions are fairly general and not expected to vary significantly for more complex disutility functions. Specifically, our observation that the performance measures are very sensitive to the parameters of the more delay sensitive traffic in both the infinite and finite buffer systems is significant. This is in addition to the comparative insensitivity to the parameters of the more price sensitive class. We conclude with the following observation. Higher moments of the stationary distributions also give us important performance measures. However, as we show by an example below, the higher moments of performance measures of the JMCQ systems may have no relation to the corresponding quantities of the JMCQu and JMCQl systems defined over the truncated state space. As an example, consider the variance of the stationary idle times in the work conserving Tirupati system. Let I be the indicator function for the 90 Revenue Rate 3.35 3.3 3.25 3.2 3.15 10 B1 =16 11 12 13 14 15 16 17 18 19 B2 Revenue Rate 3.32 3.315 3.31 3.305 3.3 B1=45 3.295 3.29 10 11 12 13 14 15 16 17 18 19 B 2 Fig. 16. Revenue rate as a function of B2 for two different values of B1 . λ1 = λ2 = 0.45; µ1 = µ2 = 0, 5, a1 = 0.8, a2 = 0.3, p1 = 0, p = 12. random variable denoting the idle period. The stationary probability that the system is idle is π00 . From u l Theorem 2, π00 ≤ π00 ≤ π00 . Let us now try to bound the variance of I, Var(I) = π00 (1 − π00 ). Also, let u l Var(I ) and Var(I ) be the variances of the stationary idle times of the JMCQu and JMCQl of the work conserving systems, respectively. Then, we have l 1. If π00 ≤ 21 then, Var(I u ) ≤ Var(I) ≤ Var(I l ). u l 2. If π00 ≤ 21 and π00 ≥ 21 , then a lower bound for Var(I) is min(Var(I l ), Var(I u )) and an upper bound for Var(I) is 1/4. u 3. Finally, if 21 ≥ π00 , then Var(I u ) ≥ Var(I) ≥ Var(I l ). Identical arguments can be made for the non-work conserving PMP system. The following is a numerical example for the Tirupati system for Case 2 above: for λ1 = λ2 = 0.25, µ1 = µ2 = 0.5, a1 = 0.8, a2 = 0.3, p1 = 0, and p2 = 3, from simulation we obtain π00 = 0.5003, u l = 0.4458 and π00 = 0.5328. and from the solution of JMCQu and JMCQl , respectively, we have π00 l u Thus, Var(I) = 0.25, Var(I ) = 0.2471 and Var(I ) = 0.2489. We believe that the variances of other performance measures of JMCQ, may also not be bounded by the corresponding quantities of new processes that we defined to obtain the bounds on the means. It may be that, altogether new process need to be defined for bounds on the higher moments of the stationary performance measures. References [1] F. Baumgartner, T. Braun, F. Habegger, Differentiated services: a new approach for quality of service in the internet, in: H. van As (Ed.), High Performance Networking, Kluwer Academic Publishers, Dordrecht, 1998, pp. 255–274. 91 [2] D. Bertsekas, R.G. Gallager, Data Networks, 2nd ed., Prentice-Hall, Englewood Cliffs, NJ, 1992. [3] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss, An architecture for differential services, IETF RFC 2475, December 1998. [4] V.S. Borkar, D. Manjunath, Charge Based Control of Diffserv Queues. http://www.ee.iitb.ac.in/∼dmaju/publns/ borkar02.ps.gz. [5] O. Boxma, G. Koole, Z. Liu, Queueing theoretic solution methods for models of parallel and distributed systems, in: O. Boxma, G. Koole (Eds.), Performance Evaluation of Parallel and Distributed Systems—Solution Methods, CWI Tract, vol. 105, CWI, Amsterdam, 1994, pp. 1–24. [6] P. Bremaud, Markov Chains, Gibbs Fields, Monte Carlo Simulation, and Queues, Springer, New York, 1998. [7] M. Currence, A. Kurzon, D. Smud, L. Trias, A Causal Analysis of Usage-based Billing on IP Networks. http://citeseer. nj.nec.com/currence00causal.html. [8] P. Dube, V.S. Borkar, D. Manjunath, Differential join prices for parallel queues: social optimality, dynamic pricing algorithms and application to internet pricing, in: Proceedings of IEEE INFOCOM 2002, June 2002. [9] M. Falkner, M. Devetsikiotis, I. Lambadaris, An overview of pricing concepts for broadband IP networks, IEEE Commun. Surv. 3 (2000) 2–13. [10] R.D. Foley, D.R. McDonald, Join the shortest queue: stability and exact asymptotics, Ann. Appl. Prob. 11 (3) (2001) 569–607. [11] G.J. Foschini, B. Gopinath, Sharing memory optimally, IEEE Trans. Commun. COM-31 (1983) 352–360. [12] A. Ganesh, K. Laevens, R. Steinberg, Dynamics of congestion pricing, in: Proceedings of the IEEE INFOCOM 2001, Anchorage, AK, USA, March 2001. [13] R. Gibbens, R. Mason, R. Steinberg, Internet service classes under competition, IEEE J. Sel. Areas Commun. 18 (12) (2000) 2490–2498. [14] R. Gibbens, P.B. Key, Distributed control and user marking using best effort routers, IEEE Network Mag. 15 (3) (2001) 54–59. [15] R. Jain, R. Mullen, R. Hausman, Analysis of Paris Metro pricing strategy for QoS with a single service provider, in: Proceedings of the Ninth International Workshop on Quality of Service (IWQoS 2001), June 6–8, 2001. [16] J. Kaufman, Blocking in a shared resource environment, IEEE Trans. Commun. COM-29 (1981) 1474–1481. [17] F.P. Kelly, Charging and rate control for elastic traffic, Eur. Trans. Telecommun. 8 (1997) 33–37. [18] F.P. Kelly, A.K. Maulloo, D.H.K. Tan, Rate control for communication networks: shadow prices, proportional fairness and stability, J. Oper. Res. Soc. 49 (1998) 237–252. [19] R.J. La, V. Anantharam, Charge-sensitive TCP and rate control in the internet, in: Proceedings of IEEE INFOCOM 2000, Tel Aviv, Israel, March 26–30, 2000, IEEE Press, Rockville, MD, pp. 1166–1175. [20] M.F. Neuts, Matrix Geometric Solutions in Stochastic Models, Johns Hopkins University Press, Baltimore, MD, 1981. [21] A. Odlyzko, Paris Metro pricing for the internet, in: Proceedings of the ACM Conference on Electronic Commerce, 1999, pp. 140–147. [22] R. Serfozo, Introduction to Stochastic Networks, Springer, Berlin, 2000. [23] R. Tandra, N. Hemachandra, D. Manjunath, Join minimum cost queue for multiclass customers: stability and performance bounds, 2002. http://www.ee.iitb.ac.in/∼dmanju/publns/tandra02.ps.gz. [24] G.J. van Houtum, I.J.B.F. Adan, J. Wessels, W.H.M. Zijm, Performance analysis of parallel identical machines with a generalized shortest queue arrival mechanism, OR Spektrum 23 (2001) 411–428. [25] J. Walrand, P. Varaiya, High Performance Communication Networks, 2nd ed., Morgan Kaufmann, Los Altos, CA, 1999.
© Copyright 2025 Paperzz