I'm interested in modeling a server application where the normal flow of data is as follows:
Server A -> Server B -> Server C -> Server B -> Server A
That is to say, a job originating from A makes a round trip to B and C, and back to A via the same path.
This essentially means that each server is consuming two queues and producing to two queues.
What I'd like to investigate is the effect of different servicing schemes in each server, given information about the rate at which A produces jobs and the service times for servers B and C.
For example, two simple schemes would be:
- Round robin consumption of the two queues
- Greedily consume from each queue until no more jobs are available, and then switch to the next queue.
I've done some reading on queuing theory, but most of the examples I've been able to find deal with consumption of a single queue. It seems like this scenario is some combination of multiple queues / tandem queues? I'd appreciate a nudge in the right direction to continue researching this.