doi:10.1016/j.peva.2005.12.004
Copyright © 2006 Elsevier Ltd All rights reserved.
How many servers are best in a dual-priority
system?
aSchool of Computer Science, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PA 15213, United States
bTepper School of Business, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PA 15213, United States
Received 4 August 2004;
revised 26 November 2005.
Available online 20 March 2006.
Abstract
We ask the question, “for minimizing mean response time (sojourn time), which is preferable: one fast server of speed 1, or k slow servers each of speed 1/k?” Our setting is the
system with two priority classes of customers, high priority and low priority, where PH is a phase-type distribution. We find that multiple slow servers are often preferable, and we demonstrate exactly how many servers are preferable as a function of the load and service time distribution. In addition, we find that the optimal number of servers with respect to the high priority jobs may be very different from that preferred by low priority jobs, and we characterize these preferences. We also study the optimal number of servers with respect to overall mean response time, averaged over high and low priority jobs. Lastly, we ascertain the effect of the service demand variability of high priority jobs on low priority jobs.
Keywords: Scheduling; Queueing; Multiserver; Priority; Preemptive;
; Dimensionality reduction; Busy period
Fig. 1. Figure illustrates that the
queue (single class—i.e., all jobs are high priority) is easy to analyze: (a) shows a two-phase PH distribution with Coxian representation; (b) shows the Markov chain that is used to compute the mean response time for an M/PH/2 queue, where PH has the representation shown in (a). The state (nH,i,j) represents the number of jobs in the system (nH) and the current phase of each job in service (i and j). The generalization of this chain to an arbitrary PH service distribution is straightforward.
Fig. 2. The case of a single priority class. (a) The optimal number of servers as a function of the load, ρ, and the variability of the job size distribution, C2. (b) Mean response time, E[T], as a function of the number of servers at various job size variabilities (C2=1,4,16,64) for a fixed ρ=0.6.
Fig. 3. Markov chain for a system with two servers and two priority classes, where all jobs have exponential sizes. The chain in (a) is infinite in two dimensions. The chain in (b) uses busy period transitions and is only infinite in one dimension. In (b), the busy period is represented by a single transition. In (c), the busy period is represented by a two-phase PH distribution (with Coxian representation).
Fig. 4. A 1D infinite Markov chain for the case of two priority classes and three servers, where job sizes have exponential distributions.
Fig. 5. One level of the two-dimensionally infinite Markov chain for a system with two servers and two priority classes, where high priority jobs have PH service times with Coxian representation shown in Fig. 1(a).
Fig. 6. One level of a one-dimensionally infinite Markov chain using generalized busy period transitions to represent a system with two servers and two priority classes, where high priority jobs have PH service times with Coxian representation shown in Fig. 1(a). This is a reduction of the two-dimensionally infinite chain shown in Fig. 5 to a one-dimensionally infinite chain.
Fig. 7. Validation of our analysis against simulation: two-class
system, where ρL=ρH and E[XL]=E[XH]=1. The high priority jobs have a two-phase PH job size distribution with C2=9, shown in Fig. 1(a), and the low priority jobs have exponential service times.
Fig. 8. Comparison of our analysis with simulation and the Buzen–Bondi approximation for
with dual priority. Only response times for low priority jobs are shown. (a) shows the case when high priority jobs have a smaller mean job size than low priority jobs: for k=8, E[XH]=1, E[XL]=10 and for k=2 the job sizes are scaled appropriately (by a factor of 4). (b) shows the case when high priority jobs have a larger mean job size than low priority jobs: for k=8, E[XH]=1,
. In these plots, ρ=0.6.
Fig. 9. Comparison of our results with that of Buzen–Bondi with respect to the question of “how many servers are best?”. The case shown assumes the high priority jobs have a smaller mean job size, E[XH]=1 and E[XL]=10. The load made up by high priority jobs equals that consisting of low priority jobs. Column (a) shows the results from our analysis; column (b) shows the results from the Buzen–Bondi approximation; and column (c) shows the results from simulation.
Fig. 10. How many servers are best (with respect to mean response time) when the two priority classes have the same mean job size? Column (a) shows the case where the load made up by high priority jobs equals that of low priority jobs. Column (b) shows the case where the load made up by high priority jobs is half that of low priority jobs.
Fig. 11. How many servers are best (with respect to mean response time) when the high priority jobs have a smaller mean job size? Column (a) shows the case where the load made up by high priority jobs equals that of low priority jobs. Column (b) shows the case where the load made up by high priority jobs is half that of low priority jobs.
Fig. 12. How many servers are best (with respect to mean response time) when the high priority class has a larger mean job size? Column (a) shows the case where the load made up by high priority jobs equals that of low priority jobs. Column (b) shows the case where the load made up by high priority jobs is half that of low priority jobs.
Fig. 13. Mean response time as a function of the number of servers, which ranges from 1 to 10. The system load in these plots is ρ=0.6. Column (a) shows the case where low priority jobs have a larger mean job size than high priority jobs. Column (b) shows the case where low priority jobs have a smaller mean job size than high priority jobs. (Note that the E[XH] and E[XL] listed are for k=10 and are scaled appropriately for other k.)

Corresponding author. Tel.: +1 412 877 9455.