De plus en plus, chacun de ces composants est géré par un programme différent s'exécutant sur un serveur différent du centre de données du site web. Cela réduit le temps de traitement, mais aggrave un autre problème : la répartition équitable de la bande passante réseau entre les programmes.
De nombreux sites web regroupent tous les composants d'une page avant de les envoyer à l'utilisateur. Par conséquent, si un seul programme se voit allouer une bande passante insuffisante sur le réseau du centre de données, le reste de la page, et l'utilisateur, risquent d'attendre le chargement de leur composant.
Lors du symposium Usenix sur la conception et la mise en œuvre de systèmes en réseau, des chercheurs du Laboratoire d'informatique et d'intelligence artificielle (CSAIL) du MIT présentent un nouveau système d'allocation de bande passante pour les réseaux de centres de données. Lors des tests, le système a maintenu le même débit de données global, ou « débit réseau », que les systèmes actuellement utilisés, tout en allouant la bande passante de manière beaucoup plus équitable, ce qui a permis de réaliser le téléchargement de tous les composants de la page jusqu'à quatre fois plus rapidement.
« Il existe des moyens simples d'optimiser les performances tout en répartissant les ressources de manière très inégale », explique Hari Balakrishnan, professeur de génie électrique et d'informatique à l'université Fujitsu et l'un des deux principaux auteurs de l'article décrivant le nouveau système. « Ce que nous avons démontré, c'est une méthode permettant de converger très rapidement vers une allocation optimale. ».
La plupart des réseaux régulent le trafic de données à l'aide d'une version du protocole TCP (Transmission Control Protocol). Lorsque le trafic devient trop important, certains paquets de données n'atteignent pas leur destination. Avec TCP, lorsqu'un expéditeur constate que ses paquets ne sont pas reçus, il réduit son débit de transmission, puis l'augmente progressivement. Avec le temps, ce processus atteint un point d'équilibre où la bande passante du réseau est répartie de manière optimale entre les expéditeurs.
Mais dans le centre de données d'un grand site web, ce délai est souvent insuffisant. « Les choses évoluent si rapidement sur le réseau que ce mécanisme est inadapté », explique Perry. « Il faut souvent tellement de temps que les débits de transmission ne convergent jamais, et c'est peine perdue. »
Le protocole TCP fait peser l'entière responsabilité de la régulation du trafic sur les utilisateurs finaux, car il a été conçu pour l'Internet public, qui relie des milliers de réseaux plus petits et indépendants. Centraliser le contrôle d'un réseau aussi vaste semblait impossible, tant sur le plan politique que technique.
Mais dans un centre de données, contrôlé par un seul opérateur, et grâce à l'augmentation des débits de connexion et de la puissance des processeurs au cours de la dernière décennie, une régulation centralisée est devenue envisageable.
Baptisé Flowtune, il repose sur une solution de marché pour l'allocation de bande passante. Les opérateurs attribuent des valeurs différentes aux augmentations des débits de transmission des données envoyées par différents programmes. Par exemple, doubler le débit de transmission de l'image principale d'une page web peut valoir 50 points, tandis que doubler le débit de transmission de données analytiques consultées une ou deux fois par jour ne vaut que 5 points.
Offre et demande :
comme sur tout marché performant, chaque maillon du réseau fixe un « prix » en fonction de la « demande », c’est-à-dire du volume de données que les expéditeurs souhaitent transmettre collectivement. Pour chaque paire d’ordinateurs (expéditeur et destinataire), Flowtune calcule le débit de transmission qui maximise le « profit total », soit la différence entre la valeur des débits de transmission supplémentaires (50 points pour l’image contre 5 pour les données analytiques) et le coût de la bande passante requise sur l’ensemble des liens intermédiaires.
La maximisation du profit modifiant toutefois la demande sur les liens, Flowtune recalcule continuellement les prix et, en conséquence, les profits maximaux, en allouant les débits de transmission résultants aux serveurs qui envoient les données sur le réseau.
L’article décrit également une nouvelle procédure développée par les chercheurs pour répartir les calculs de Flowtune sur les cœurs d’un ordinateur multicœur afin d’en accroître l’efficacité. Lors des expériences, les chercheurs ont comparé Flowtune à une variante TCP largement utilisée, en utilisant des données réelles de centres de données.
Selon l'ensemble de données, Flowtune a traité les 1 % de requêtes de données les plus lentes neuf à onze fois plus rapidement que le système existant.
Par Larry Hardesty, service de presse du MIT
