In queueing theory, a discipline within the mathematical theory of probability, a fork–join queue is a queue where incoming jobs are split on arrival for service by numerous servers and joined before departure. The model is often used for parallel computations or systems where products need to be obtained simultaneously from different suppliers (in a warehouse or manufacturing setting). The key quantity of interest in this model is usually the time taken to service a complete job. The model has been described as a "key model for the performance analysis of parallel and distributed systems." Few analytical results exist for fork–join queues, but various approximations are known. The situation where jobs arrive according to a Poisson process and service times are exponentially distributed is sometimes referred to as a Flatto–Hahn–Wright model or FHW model. Definition On arrival at the fork point, a job is split into N sub-jobs which are served by each of the N servers. After service, sub-job wait until all other sub-jobs have also been processed. The sub-jobs are then rejoined and leave the system. For the fork–join queue to be stable the input rate must be strictly less than sum of the service rates at the service nodes. Applications Fork–join queues have been used to model zoned RAID systems, parallel computations and for modelling order fulfilment in warehouses. Response time The response time (or sojourn time) is the total amount of time a job spends in the system. Distribution Ko and Serfozo give an approximation for the response time distribution when service times are exponentially distributed and jobs arrive either according to a Poisson process or a general distribution. QIu, Pérez and Harrison give an approximation method when service times have a phase-type distribution. Average response time An exact formula for the average response time is only known in the case of two servers (N=2) with exponentially distributed service times (where each server is an M/M/1 queue). In this situation, the response time (total time a job spends in the system) is where is the utilization. is the arrival rate of jobs to all the nodes. is the service rate across all the nodes. In the situation where nodes are M/M/1 queues and N > 2, Varki's modification of mean value analysis can also be used to give an approximate value for the average response time. For general service times (where each node is an M/G/1