Queueing Theory: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 12: Line 12:
=Queueing in Pipelines=
=Queueing in 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 is unable to process a new stream element, 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.
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 is unable to process a new stream element, 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.

Revision as of 17:56, 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 is unable to process a new stream element, 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.