Queueing Theory: Difference between revisions
Jump to navigation
Jump to search
Line 14: | Line 14: | ||
This section discusses queueing for pipelines. | This section discusses queueing for pipelines. | ||
A [[Go_Pipelines#Overview|pipeline]] consists in a series of stages, which process a stream of data. Without buffers (queues) between stages, a slow stage will block the upstream stages from working. This is because a slow stage | A [[Go_Pipelines#Overview|pipeline]] consists in a series of stages, which process a stream of data. Without buffers (queues) between stages, a slow stage will block the upstream stages from working. This is because a slow stage will be unable to process, thus accept a new stream element from the upstream stage, making the upstream stage unable to hand over the stream element, thus blocking it. The delay will propagate upstream, possibly all the way to the pipeline input, preventing new stream elements to be processed altogether. | ||
'''Decoupling''' stages. | '''Decoupling''' stages. | ||
==Queue Tuning== | ==Queue Tuning== |
Revision as of 17:58, 7 February 2024
Internal
TODO
TODO: 2018.07.20 - The Essential Guide to Queueing Theory.pdf in Learning.
Overview
Queueing in Pipelines
This section discusses queueing for pipelines.
A pipeline consists in a series of stages, which process a stream of data. Without buffers (queues) between stages, a slow stage will block the upstream stages from working. This is because a slow stage will be unable to process, thus accept a new stream element from the upstream stage, making the upstream stage unable to hand over the stream element, thus blocking it. The delay will propagate upstream, possibly all the way to the pipeline input, preventing new stream elements to be processed altogether.
Decoupling stages.