Sponsored Links
-->

Monday, June 11, 2018

Head of Line Blocking - YouTube
src: i.ytimg.com

Head-of-line blocking (HOL blocking) in computer networking is a performance-limiting phenomenon that occurs when a line of packets is held up by the first packet. Examples include input buffered network switches, out-of-order delivery and multiple requests in HTTP pipelining.


Video Head-of-line blocking



Switches

A switch may be composed of buffered input ports, a switch fabric and buffered output ports. If first-in first-out (FIFO) input buffers are used, only the oldest packet is available for forwarding. More recent arrivals cannot be forwarded if the oldest packet cannot be forwarded because its destination output is busy. The output may be busy if there is output contention (see diagram) or when the output buffer is full due to congestion (for example the combined rate of multiple inputs exceeds the output rate).

Without HOL blocking, the new arrivals could potentially be forwarded around the stuck oldest packet to their respective destinations. The phenomenon can have severe performance-degrading effects in input-buffered systems.

This phenomenon limits the throughput of switches. For FIFO input buffers, a simple model of fixed-sized cells to uniformly distributed destinations, causes the throughput to be limited to 58.6% of the total as the number of links becomes large.

One way to overcome this limitation is by using virtual output queues.

Only switches with input buffering can suffer HOL blocking. With sufficient internal bandwidth, input buffering is unnecessary; all buffering is handled at outputs and HOL blocking is avoided. This no-input-buffering architecture is common in small to medium-sized ethernet switches.


Maps Head-of-line blocking



Out-of-order delivery

Out-of-order delivery occurs when sequenced packets arrive out of order. This may happen due to different paths taken by the packets or from packets being dropped and resent. HOL blocking can significantly increase packet reordering.

Reliably broadcasting messages across a lossy network among a large number of peers is a difficult problem. While atomic broadcast algorithms solve the single point of failure problem of centralized servers, those algorithms introduce a head-of-line blocking problem. The Bimodal Multicast algorithm, a randomized algorithm that uses a gossip protocol, avoids head-of-line blocking by allowing some messages to be received out-of-order.


转载] TCP协议缺陷不完全记录
src: bbsmax.ikafan.com


See also

  • HTTP pipelining
  • Bufferbloat
  • Network scheduler
  • Pipeline stall
  • Queue
  • FIFO

Chris Fallin Carnegie Mellon University - ppt download
src: slideplayer.com


References

Source of article : Wikipedia