Fork-Join Queue

Note that for every job entering the Fork-Join queue, only one job leaves the queue. This happens even though the job may be decomposed into several sub-jobs, one each for each of the sibling queues.
It is possible to have a Fork-Join queue either with or without a synchronizing queue. (See the following slides.)
Fork-Join Queue without Synchronizing Queue
In this case, a sub-job finishing service at a sibling queue is forced to wait at that queue (blocking its server, i.e. new job cannot enter the fork-join node) until all the other sub-jobs also finish their service at their respective sibling queues.
Once all the sub-jobs finish service at their respective sibling queues, they are combined and the actual job finally leaves the Fork-Join queue.
