Blocage en tête de ligne - Head-of-line blocking

Le blocage en tête de ligne ( blocage HOL ) dans les réseaux informatiques est un phénomène limitant les performances qui se produit lorsqu'une ligne de paquets est bloquée par le premier paquet. Les exemples incluent les commutateurs réseau mis en mémoire tampon d'entrée , la livraison dans le désordre et les demandes multiples dans le pipeline HTTP .

Commutateurs réseau

Exemple de blocage en tête de ligne : les 1er et 3e flux d'entrée sont en concurrence pour envoyer des paquets à la même interface de sortie. Dans ce cas si la matrice de commutation décide de transférer le paquet du 3ème flux d'entrée, le 1er flux d'entrée ne peut pas être traité dans le même intervalle de temps. Notez que le 1er flux d'entrée bloque un paquet pour l'interface de sortie 3, qui est disponible pour le traitement.

Un commutateur peut être composé de ports d'entrée tamponnés , d'une matrice de commutation et de ports de sortie tamponnés. Si des tampons d'entrée premier entré, premier sorti (FIFO) sont utilisés, seul le paquet le plus ancien est disponible pour le transfert. Les arrivées les plus récentes ne peuvent pas être transférées si le paquet le plus ancien ne peut pas être transféré car sa sortie de destination est occupée. La sortie peut être occupée en cas de conflit de sortie .

Sans blocage HOL, les nouveaux arrivants pourraient potentiellement être transférés autour du paquet le plus ancien bloqué vers leurs destinations respectives. Le blocage HOL peut produire des effets dégradant les performances dans les systèmes à tampon d'entrée.

Ce phénomène limite le débit des commutateurs. Pour les tampons d'entrée FIFO, un modèle simple de cellules de taille fixe vers des destinations uniformément réparties, limite le débit à 58,6 % du total à mesure que le nombre de liens devient important.

Une façon de surmonter cette limitation consiste à utiliser des files d'attente de sortie virtuelles .

Seuls les commutateurs avec tampon d'entrée peuvent subir un blocage HOL. Avec une bande passante interne suffisante, la mise en mémoire tampon d'entrée n'est pas nécessaire ; toute la mise en mémoire tampon est gérée au niveau des sorties et le blocage HOL est évité. Cette architecture sans tampon d'entrée est courante dans les commutateurs Ethernet de petite et moyenne taille .

Livraison hors service

La livraison dans le désordre se produit lorsque les paquets séquencés arrivent dans le désordre. Cela peut se produire en raison de chemins différents empruntés par les paquets ou de paquets abandonnés et renvoyés. Le blocage HOL peut augmenter considérablement la réorganisation des paquets.

La diffusion fiable de messages sur un réseau avec pertes parmi un grand nombre de pairs est un problème difficile. Alors que les algorithmes de diffusion atomique résolvent le problème du point de défaillance unique des serveurs centralisés, ces algorithmes introduisent un problème de blocage en tête de ligne. L'algorithme Bimodal Multicast, un algorithme aléatoire qui utilise un protocole de potins , évite le blocage en tête de ligne en permettant à certains messages d'être reçus dans le désordre.

En HTTP

Une forme de blocage HOL dans HTTP/1.1 se produit lorsque le nombre de requêtes parallèles autorisées dans le navigateur est épuisé et que les requêtes suivantes doivent attendre que les premières se terminent. HTTP/2 résout ce problème via le multiplexage des demandes, qui élimine le blocage HOL au niveau de la couche application, mais HOL existe toujours au niveau de la couche transport (TCP). HTTP/3 utilise QUIC au lieu de TCP, ce qui supprime le blocage HOL dans la couche de transport.

Voir également

Les références