Réduire les retards dans les réseaux sans fil
Les chercheurs du MIT ont conçu un système de contrôle de l’encombrement des réseaux sans fil qui pourrait contribuer à réduire les temps de latence et à améliorer la qualité de la diffusion vidéo en continu, du chat vidéo, des jeux mobiles et d’autres services web.
Pour assurer le bon fonctionnement des services web, les systèmes de contrôle de l’encombrement déduisent des informations sur la capacité de la bande passante et l’encombrement d’un réseau à partir des informations fournies par les routeurs du réseau, qui sont codées en paquets de données. Ces informations déterminent la vitesse à laquelle les paquets de données sont envoyés à travers le réseau.
Décider d’un bon taux d’envoi peut être un exercice d’équilibre difficile. Les expéditeurs ne veulent pas être trop conservateurs : Si la capacité d’un réseau varie constamment de, disons, 2 mégaoctets par seconde à 500 kilooctets par seconde, l’expéditeur pourrait toujours envoyer du trafic au débit le plus bas. Mais alors, votre vidéo Netflix, par exemple, sera d’une qualité inutilement médiocre. D’un autre côté, si l’expéditeur maintient constamment un débit élevé, même lorsque la capacité du réseau baisse, il pourrait submerger le réseau, créant ainsi une file d’attente massive de paquets de données en attente de livraison. Les paquets en file d’attente peuvent augmenter le retard du réseau, provoquant, par exemple, le gel de votre appel Skype.
Les choses se compliquent encore plus dans les réseaux sans fil, qui ont des « liaisons variables dans le temps », avec des changements de capacité rapides et imprévisibles. En fonction de divers facteurs, tels que le nombre d’utilisateurs du réseau, l’emplacement des tours de téléphonie cellulaire et même les bâtiments environnants, les capacités peuvent doubler ou tomber à zéro en quelques fractions de seconde. Dans un document présenté au symposium USENIX sur la conception et la mise en œuvre des systèmes en réseau, les chercheurs ont présenté « Accel-Brake Control » (ABC), un système simple qui permet d’augmenter le débit d’environ 50 % et de réduire de moitié les retards du réseau sur des liaisons à durée variable.
Le système repose sur un nouvel algorithme qui permet aux routeurs de communiquer explicitement le nombre de paquets de données qui devraient circuler sur un réseau pour éviter les encombrements mais utiliser pleinement le réseau. Il fournit ces informations détaillées à partir des goulets d’étranglement – tels que les paquets mis en file d’attente entre les tours de téléphonie cellulaire et les expéditeurs – en réorientant un seul bit déjà disponible dans les paquets Internet. Les chercheurs sont déjà en pourparlers avec les opérateurs de réseaux mobiles pour tester le système.
« Dans les réseaux cellulaires, votre fraction de capacité de données change rapidement, ce qui entraîne des retards dans votre service. Les systèmes traditionnels sont trop lents à s’adapter à ces changements », déclare le premier auteur, Prateesh Goyal, étudiant diplômé du CSAIL. « ABC fournit des informations détaillées sur ces changements, qu’ils soient à la hausse ou à la baisse, en utilisant un seul bit de données ».
Anup Agarwal, aujourd’hui étudiant de troisième cycle à l’université Carnegie Melon, Ravi Netravali, aujourd’hui professeur adjoint d’informatique à l’université de Californie à Los Angeles, Mohammad Alizadeh, professeur associé au département de génie électrique du MIT (EECS) et au CSAIL, et Hari Balakrishnan, professeur Fujitsu au sein du département EECS, se joignent à M. Goyal sur le papier. Les auteurs ont tous été membres du groupe « Réseaux et systèmes mobiles » du CSAIL.
Obtenir un contrôle explicite
Les systèmes traditionnels de contrôle de la congestion reposent sur les pertes de paquets ou sur les informations provenant d’un seul bit de « congestion » dans les paquets Internet pour déduire la congestion et ralentir. Un routeur, tel qu’une station de base, marque ce bit pour alerter un expéditeur – par exemple un serveur vidéo – que les paquets de données qu’il a envoyés sont dans une longue file d’attente, signalant ainsi un encombrement. En réponse, l’expéditeur réduira alors son débit en envoyant moins de paquets. L’expéditeur réduit également son débit s’il détecte une tendance à la chute de paquets avant d’atteindre le destinataire.
Pour tenter de fournir davantage d’informations sur les liens bloqués sur un chemin de réseau, les chercheurs ont proposé des schémas « explicites » qui incluent plusieurs bits dans des paquets qui spécifient les taux actuels. Mais cette approche impliquerait de changer complètement la façon dont l’internet envoie des données, et elle s’est avérée impossible à déployer.
« C’est une tâche difficile », dit Alizadeh. « Il faudrait apporter des modifications invasives au protocole Internet (IP) standard pour l’envoi de paquets de données. Il faudrait convaincre tous les acteurs de l’Internet, les opérateurs de réseaux mobiles, les fournisseurs d’accès Internet et les tours de téléphonie mobile de changer leur façon d’envoyer et de recevoir des paquets de données. Cela n’arrivera pas ».
Avec l’ABC, les chercheurs utilisent toujours le bit unique disponible dans chaque paquet de données, mais ils le font de telle manière que les bits, agrégés sur plusieurs paquets de données, peuvent fournir aux expéditeurs les informations nécessaires sur le débit en temps réel. Le système suit chaque paquet de données dans une boucle aller-retour, de l’émetteur à la station de base et au récepteur. La station de base marque le bit dans chaque paquet avec « accélérer » ou « freiner », en fonction de la largeur de bande actuelle du réseau. Lorsque le paquet est reçu, le bit marqué indique à l’expéditeur d’augmenter ou de diminuer les paquets « en vol » – paquets envoyés mais non reçus – qui peuvent se trouver dans le réseau.
S’il reçoit une commande d’accélération, cela signifie que le paquet a été traité à temps et que le réseau dispose d’une capacité de réserve. L’expéditeur envoie alors deux paquets : un pour remplacer le paquet reçu et un autre pour utiliser la capacité de réserve. Lorsqu’il reçoit l’ordre de freiner, l’expéditeur diminue ses paquets en vol d’un paquet – ce qui signifie qu’il ne remplace pas le paquet qui a été reçu.
Utilisé sur tous les paquets du réseau, ce petit bout d’information devient un puissant outil de retour d’information qui indique aux expéditeurs leur taux d’envoi avec une grande précision. En quelques centaines de millisecondes, il peut faire varier le taux d’un expéditeur entre zéro et le double. « On pourrait penser qu’un bit ne transporte pas assez d’informations », explique M. Alizadeh. « Mais, en agrégeant la rétroaction d’un seul bit sur un flux de paquets, nous pouvons obtenir le même effet que celui d’un signal multibit ».
Garder une longueur d’avance
Au cœur de l’ABC se trouve un algorithme qui prédit le taux global des émetteurs un aller-retour à l’avance pour mieux calculer le retour d’accélération/freinage.
L’idée est qu’une station de base équipée d’un système ABC sait comment les expéditeurs se comporteront – en maintenant, augmentant ou diminuant leurs paquets en vol – en fonction de la façon dont elle a marqué le paquet qu’elle a envoyé à un récepteur. Au moment où la station de base envoie un paquet, elle sait combien de paquets elle recevra de l’expéditeur en un aller-retour exactement dans le futur. Elle utilise cette information pour marquer les paquets afin de faire correspondre plus précisément le débit de l’expéditeur à la capacité actuelle du réseau.
Dans les simulations de réseaux cellulaires, par rapport aux systèmes traditionnels de contrôle de la congestion, ABC atteint un débit supérieur d’environ 30 à 40 % pour des délais à peu près identiques. Il peut également réduire les retards d’environ 200 à 400 % en maintenant le même débit que les systèmes traditionnels. Par rapport aux systèmes explicites existants qui n’ont pas été conçus pour des liaisons à durée variable, ABC réduit les retards de moitié pour un même débit. « Fondamentalement, les systèmes existants ont un faible débit et des délais réduits, ou un débit élevé et des délais élevés, alors que le système ABC permet un débit élevé avec des délais réduits », explique M. Goyal.
Ensuite, les chercheurs essaient de voir si les applications et les services web peuvent utiliser l’ABC pour mieux contrôler la qualité du contenu. Par exemple, « un fournisseur de contenu vidéo pourrait utiliser les informations d’ABC sur l’encombrement et les débits de données pour choisir la résolution de la vidéo en continu de manière plus intelligente », explique M. Alizadeh. « S’il ne dispose pas d’une capacité suffisante, le serveur vidéo pourrait abaisser temporairement la résolution, afin que la vidéo continue à être diffusée avec la meilleure qualité possible sans être figée ».