Consider an M/M/ queue with two priority classes (high and low), where high priority jobs have nonpreemptive priority over low priority jobs. That is, a high priority job can move ahead of all the low priority jobs waiting in the queue, but low priority jobs in service are not interrupted by high priority jobs.
The number of jobs in this system can be modeled as a GFB process. Here, we define the background process so that it tracks the number of high priority jobs waiting in the queue or in service, , as well as the number of low priority jobs in service. Specifically, level in the background process consists of states with . Also, we define the foreground process so that it tracks the number of low priority jobs waiting in the queue, . Specifically, level in the foreground process is the state with . Note that the number of low priority jobs in service is captured in the background process and not in the foreground process.
|
As long as (there are enough high priority jobs to occupy all the servers), the foreground and background processes can be modeled as QBD processes, respectively. Figure 3.19 shows a part of the foreground and background processes when the number of servers . Figure 3.19(a) shows the background process when . It tracks as well as the number of low priority jobs in service. When there are low priority jobs in service, servers are serving high priority jobs, and high priority jobs are completed with rate for . Figure 3.19(b) shows the foreground process given . Since all the servers are occupied, no low priority jobs waiting in the queue start receiving service, and the number of low priority jobs in the queue increases with rate . Observe that both Markov chains in Figures 3.18(a)-(b) are QBD processes. Also, any transition from level to level is (from level ) to level in the background process, since is never incremented more than one at a time. Further, any transition changes the level of the foreground process by at most one, since any event (job arrival, or job completion) changes the number of low priority jobs in the queue by at most one. Thus, these foreground and background processes constitute a GFB process.