Reasoning about an [M/G]/1 queue

34 Views Asked by At

I am considering a queue where 1 - 4 requests can be serviced at once (min 1, max 4), but where requests can only be admitted in serial order. Is it reasonable to consider this as though it was an M/G/1 queue (assuming the M/G bit is correct)?

My reasoning runs that if all I am concerned about is how long requests have to wait to begin service then the fact that four are being serviced in parallel is irrelevant if they can only access the service in serial order. As we can simply consider the four being serviced in parallel as though the distribution of service times was other than it is in reality (ie I don't care what request it is that completes to allow my request in, I only care about how long I have to wait for that to happen).

1

There are 1 best solutions below

4
On

I do not think you can model this as an M/G/1 queue. First, in your system, must the server process 4 requests at once? In other words, if the server is idle and a request arrives, does it process the request right away, or wait until 3 more arrive?

If the server must process 4 requests at once, then a request that arrives to an empty system would have to wait for more arrivals, meaning it will wait longer than it would in an M/G/1 queue.

If the server does not need to wait for 4 requests, then suppose the server finishes a batch, and there are 4 requests waiting in the queue. Jobs #2-4 in the queue will get processed right away (along with job #1), but in an M/G/1 queue those jobs would have to wait their turn.

So, I do not think this is equivalent to an M/G/1 queue, even if the only performance measure you care about is wait time in the queue.