A Stochastic Fluid Model Approach to the Stationary Distribution of the Maximum Priority Process
1 Introduction
In traditional priority queues, we assume that every customer upon arrival has a fixed, class-dependent priority, and that a customer may not commence service if a customer with a higher priority is present in the queue. However, in situations where a performance target in terms of the tails of the class-dependent waiting time distributions has to be met, such models of priority queueing may not be satisfactory. In fact, there could be situations where high priority classes easily meet their performance target for the maximum waiting time, while lower classes do not.
Kleinrock introduced a time-dependent priority queue in [5], and derived results for a delay dependent priority system in which a customer’s priority is increasing, from zero, linearly with time in proportion to a rate assigned to the customer’s priority class. The advantage of such priority structure is that it provides a number of degrees of freedom with which to manipulate the relative waiting times for each customer class. Upon a departure, the customer with highest priority in queue (if any) commences service.
Stanford, Taylor and Ziedins [9] pointed out that the performance of many queues, particularly in the healthcare and human services sectors, is specified in terms of tails of waiting time distributions for customers of different classes. They used this time-dependent priority queue, which they referred to as the accumulating priority queue, and derived its waiting time distributions, rather than just the mean waiting times. They did this via an associated stochastic process, the so-called maximum priority process.
Here, we are interested in the stationary distribution at the times of commencement of service of this maximum priority process. Until now, there has been no explicit expression for this distribution. Building on the ideas in Dams [4], we construct a mapping of the maximum priority process in [9] to a tandem fluid queue analysed by O’Reilly and Scheinhardt in [6, 7]. In the future paper we will present expressions for this stationary distribution using techniques derived in [6, 7] and also in [1, 2, 3, 8].
2 Model and preliminaries
In this section we consider the accumulating priority queue introduced in [9], in which two classes of customers accumulate priority over time at linear and class-dependent rates. We give the details of the construction of this process and describe the related maximum priority process. The latter is the key focus for this article.
2.1 Accumulating priority queue
Consider a single-server queue with Poisson arrivals such that customers of class arrive to the queue at rate . Service times of different customers are independent of each other and of the arrival process, and are distributed according to some generic random variable ;also, let be the service time of the arriving customer. We assume that the system is stable.
Upon arrival to the queue, a customer of class starts accumulating priority at rate . We assume , so that class customers accumulate priority at a higher rate than class customers. After completion of a service, the server starts serving the customer with the highest accumulated priority, regardless of their class.
Let denote the time of the arrival, and let be the customer class of the arrival. Then we define the accumulated priority function by
(1) |
Thus, denotes the priority accumulated by the customer up to time . Note that is the rate of the arriving customer. Also note that if the customer arrived after time , that is when , then the accumulating priority at time is set to .
Let be the function recording the position in the arrival sequence of the customer to be served. For example, if the third customer to be served was the fourth arrival then .
Let be the time at which the arrival starts service and be the departure time of this customer, with clearly . The time at which the customer commences service is therefore and the departure time of this customer is . For an illustration, see Figure 1 where five arrivals are shown with their corresponding start-of-service times and departure times for , and their accumulated priority functions starting in 0 at and increasing at rate (the meaning of will be given shortly).
After departure of a customer there are two possibilities. Either the queue is empty, or the queue is non-empty and the customer with the highest priority commences service. Thus
(2) |
where we use the minimum function to account for the possibility that the set in (2) contains more than one element, though the probability of this occurring is .
Finally we define the accumulating priority process by
where i.e., is the priority of the customer being served at time , or 0 if there are no customers present at time .
2.2 Maximum priority process
In this section we describe the maximum priority process , as defined in [9], that corresponds to the accumulating priority queue of Section 2.1. This process records for each time the least upper bounds and on the accumulated priority of any customers of classes and that might be present in the system, given the history of the process up to the time at which the customer in service entered service (i.e., up to the last departure before time ). An example, corresponding to Figure 1, of a sample path of the maximum priority process is shown in Figure 2, where we observe that and grow at class-dependent rates during service, with always and possibly observing a downward jump at a service completion. The figure may prove helpful when reading the following recursive definition, and the explanation that follows.
Definition 1
We define the maximum priority process for the two-class accumulating priority queue, was follows.
-
1.
For an empty queue at time , we let 0.
-
2.
For a non-empty queue, at the departure times , we let
-
3.
For a non-empty queue during the service at time , that is for , for , we let
From this definition it is clear that between jumps and indeed increase at rates and respectively, unless the queue is empty. We will now consider the service completions in some more detail. It is clear that always makes a downward jump, since the accumulated priority of the departing customer is always higher than that of the next customer to be served. On the other hand, for there are two possibilities since this may experience a downward jump, or it may not, depending on whether the next customer to be taken into service is, in the terminology of [9], ‘accredited’ or not. In fact we will distinguish three different types of behaviour at departure times, as follows.
Type 1 jump: the next customer to be served is ‘accredited’, meaning its current priority lies in . In this case remains unchanged, while jumps down to the current priority of the (accredited) customer who is currently taken into service, since other class 1 customers can at most have accumulated this amount of priority. Notice that in this case the (accredited) customer taken into service can only be of class 1 (since all class 2 customers have current priority ). An example can be seen in Figure 2 at the second departure (at time ).
Type 2 jump: the next customer to be served is ‘unaccredited’, which means its current priority lies in . In this case some customers are still present in the queue, but all of them have a current priority lower than the priority of the next (unaccredited) customer who is currently taken into service, and therefore lower than the value of . Thus, both and make a downward jump to the current priority of the customer taken into service. This customer can be either of class 1 or of class 2. Examples can be seen in Figure 2 at respectively the first departure (at time ) and the third departure (at time ).
Type 3 jump: the next customer to be served is not present yet. In this case the queue is empty after the departure, so an idle period starts and both and are set to the value 0 where they will stay until the next busy period starts. An example can be seen in Figure 2 at the fourth departure (at time ).
2.3 State space and sample paths
We summarize the behaviour of the maximum priority process by giving a graphic illustration of the state space and a sample path, see Figure 3. The grey area indicates the states that can possibly be visited by , when the process starts from the origin (i.e., when the queue starts empty). The depicted sample path is the same as (the first part of) that in Figure 2. The dashed parts correspond to downward jumps, which are instantaneous; here the first downward jump is of type 2 and the second one is of type 1. A jump of type 3 is not depicted, but would be similar to the jump of type 2, with the dashed line extending to the origin.
Our goal is to find the stationary distribution of the process embedded at times right after a jump. From Figure 3 we see that at such times the process can only be in the (shaded) set , or on the semi-line , or at the origin. Therefore, this stationary distribution can be given in terms of a two-dimensional density function on , a one-dimensional density on and a point mass in . In order to find the densities and and the probability in the next section, we define
(3) |
and work with the transformed process , see Figure 4.
3 Tandem fluid queue process
Consider two fluid queues, collecting fluid in buffers and . The level variables recording the content of the buffers at time are given by and , respectively. These level variables are driven by the same background continuous-time Markov chain, denoted by with some finite state space and irreducible generator .
The first level variable has a lower boundary at level , and depends on and real-valued fluid rates , for all , as follows. Whenever the level in the buffer changes at rate , unless the buffer is empty and , in which case the level of the fluid stays at until switches to another state with . That is,
(4) | |||||
(5) |
For convenience we assume for all and partition the state space as , where , . We refer to as the up-phases and as the down-phases (referring to the change of level in buffer ).
The second fluid queue depends on , and rates and (where the signs and refer to the change of level in buffer ), as follows. When the first buffer is non-empty, the level in the second buffer changes at non-negative fluid rates . However, when the first buffer is empty, the level in the second buffer changes at negative fluid rates , unless the second buffer is empty (where is only needed for ). This leads to
Note that can only happen at times when also and . As soon as switches to a state in , the process , and hence also , will start increasing.
The joint fluid queue process is denoted as ; a possible sample path is given in Figure 5. The stationary distribution of this process was derived in [6, 7], see Theorem 3.2 in [7]. In fact, in [6, 7] it was assumed that , rather than as we do in the above. However the result in [7] also holds if .
4 Mapping
Comparison of Figure 4 for the (transformed) maximum priority process described in Section 2 and Figure 5 for the tandem fluid queue process suggests a relation between the two. In this section we show such a relation indeed exists. In particular we introduce a tandem fluid queue with a single down phase and a specific choice for its parameters, such that during up-phases it behaves like the process in Figure 4 during times at which the maximum priorities increase, i.e. during service times. Also the fluid levels will decrease while in the down-phase (during an exponential amount of time with parameter 1), in such a way that the total decrease during this time matches the downward jumps in Figure 4.
We first consider the case in which service times of both customer classes are exponential with parameter in Section 4.1, and then give the mapping for the more general case in which service times are phase-type in Section 4.2.
4.1 Exponential service times
Let be the background continuous-time Markov chain with state space , where state is referred to as the up-phase, and state as the down-phase. In our mapping, these phases correspond to the service time and the jump down in the process of Section 2, respectively. The generator of this chain is assumed to be
(6) |
Note that the distribution of the time spent in phase is the same as the distribution of the service time in the process .
To this end we choose the fluid rates of the tandem fluid queue as follows (note that defining is not needed),
(7) | ||||||||
(8) |
As a result we have the following.
Lemma 2
By assuming the rates (7)–(8) the desired properties are met, i.e.,
-
1.
The distributions of shift in and during service times are equivalent to that of shift in and during an up-phase , respectively.
-
2.
The distributions of jumps in and at the end of the service times are equivalent to that of shift in and at the end of the down phase , respectively.
4.2 Phase-type service times
Let the service times now have a phase type distribution where is the phase space of the phase type distribution for the service times, and and are the corresponding intitial distribution and generator, respectively. To specify the fluid tandem model we first let where . Thus, as before we have a single ‘down phase’, but we now have multiple up-phases.
The generator matrix T of the process on is given in block matrix form as
(9) |
where is as just introduced, , , and and . For the fluid rates we have the same values as before but now in matrix form. Writing for the identity matrix we have
(10) | ||||||
(11) | ||||||
(20) |
One can now easily verify that the following holds.
This enables us to find the stationary distribution i.e. the densities on , on , and the point mass in .
References
- [1] N. G. Bean, M. O’Reilly, and P. G. Taylor. Algorithms for the laplace-stieltjes transforms of first return times for stochastic fluid flows. Methodology and Computing in Applied Probability, 10(3):381–408, 2008.
- [2] N. G. Bean and M. M. O’Reilly. A stochastic two-dimensional fluid model. Stochastic Models, 29(1):31–63, 2013.
- [3] N. G. Bean, M. M. O’Reilly, and P. G. Taylor. Hitting probabilities and hitting times for stochastic fluid flows. Stochastic Processes and their Applications, 115(9):1530–1556, 2005.
- [4] D. J. J. Dams. Stationary waiting time distribution of the maximum priority process in the accumulating priority queue. Internship Dissertation, University of Melbourne, 2013.
- [5] L. Kleinrock. A delay dependent queue discipline. Naval Research Logistics Quarterly, 11(3-4):329–341, 1964.
- [6] M. M. O’Reilly and W. Scheinhardt. Analysis of tandem fluid queues. Proceedings of the Ninth International Conference on Matrix-Analytic Methods in Stochastic Models, pages 85–92, 2016.
- [7] M. M. O’Reilly and W. Scheinhardt. Stationary distributions for a class of markov-modulated tandem fluid queues. Stochastic Models, 33(4):524–550, 2017.
- [8] A. Samuelson, M. M. O’Reilly, and N. G. Bean. On the generalized reward generator for stochastic fluid models: A new equation for . Stochastic Models, 33(4):495–523, 2017.
- [9] D. A. Stanford, P. Taylor, and I. Ziedins. Waiting time distributions in the accumulating priority queue. Queueing Systems, 77(3):297–330, 2014.