Le réseau entre machines virtuelles dans Azure va bénéficier d'un coup d'accélérateur grâce à l'ajout de composants matériels que Microsoft a commencé a déployer dans sa flotte de datacenters. La société a annoncé lundi avoir déployé des centaines de milliers de cartes FGPA (Field-Programmable Gate Arrays) dans ses serveurs dans 15 pays dans le monde sur tous les continents. Ces circuits vont être utilisés dans une variété de services Microsoft et servir pour accélérer le réseau de la plateforme cloud Azure.

La fonction d'accélération réseau (accelerated networking) a été annoncée par Microsoft lundi à l'occasion de sa conférence Ignite à Atlanta. Dans l'un des exemples présentés par la société, la vitesse réseau entre deux machines virtuelles a pu atteindre 256 gigabits par seconde pour un temps de latence de 100 microsecondes, et ce, sans surcoût pour le client final. En plus de l'amélioration de la vitesse réseau, ces cartes FGPA vont pouvoir aussi apporter un gain de puissance supplémentaire pour améliorer la vitesse de traitement de tâches spécifiques dont par exemple la gestion du flux de trafic réseau ou la traduction de textes. 

Un projet dans les tuyaux depuis 2010 

Le directeur technique d'Azure, Mark Russinovich, a indiqué que les circuits FGPA étaient la clef pour permettre au cloud de Microsoft de prendre l'avantage en termes de matériel réseau implémenté dans ses datacenters. Or, ce gain de performance réseau rendu possible par ces circuits FGPA arrive au moment où Oracle a annoncé une évolution notable de son IaaS à OpenWorld qui propose une fonction SDN (software defined network) visant à améliorer la performance de son service.

Le projet d'accélération réseau de Microsoft ne date pas d'hier. Il est porté par Doug Burger, ingénieur en chef de la branche de recherche New Experiences and Technologies de l'entreprise, et remonte à 2010 où il était alors connu sous le nom de code « catapult ». L'équipe a travaillé dessus pour la première fois pour Bing avant d'étendre ses travaux à Azure. 

Google sur les rangs avec sa puce TPU 

Le circuit FGPA est assigné à chaque nouveau serveur Azure et est connecté à sa carte d'interface réseau (NIC), son bus PCIe et au-dessus du commutateur réseau. Cela signifie qu'il est possible pour chaque circuit FGPA de dialoguer avec d'autres sachant que Microsoft associer nombre d'entre eux dans ses datacenters pour de gros travaux, avec de faibles latences. C'est essentiellement important pour des masses d'applications d'apprentissage machine. « Si nous voulons allouer 1 000 FGPA à un seul à un seul réseau neuronal, nous pouvons le faire », a indiqué Doug Burger. « Nous atteignons ce type d'échelle ». Si Microsoft utilise le déploiement FGPA Azure pour traduire dans une autre langue Wikipedia, cela pourrait prendre seulement une dizaine de secondes d'après M. Burger.

Pour l'instant, cette accélération réseau basée sur FGPA est seulement valable pour les instances DS15v2 Azure en régions West Central US et Europe de l'Ouest, compatibles avec Windows Server 2012 R2 et 2016 Technical Preview 5. Une extension du support aux instances Linux est à l'étude, tout comme pour d'autres machines virtuelles. Microsoft n'est pas la seule entreprise à se tourner vers des puces dédiées pour améliorer l'efficacité de ses infrastructures. Google a ainsi présenté il y a quelques mois son Tensor Processing Unit (TPU), un circuit intégré ASIC taillé pour l'accélération de tâches d'apprentissage machine dans le cloud.