La fondation Linux s’empare des puces DPU pour les standardiser
Les DPU, lancés récemment pour accélérer les communications entre serveurs, fonctionnent avec des logiciels propriétaires. La fondation veut en faire une technologie générique utilisable par les entreprises.
Les DPU, ces contrôleurs qui accélèrent l’encodage et le décodage des données avant de les envoyer en réseau ou vers des baies de stockage, vont être standardisés. La Fondation Linux vient de lancer en ce sens le projet Open Programmable Infrastructure (OPI). Celui-ci doit définir la pile logicielle et les API qui serviront à piloter toutes les variantes de DPU. Cela servira à doter les systèmes d’exploitation et les applications de moyens directs pour tirer parti de cette accélération matérielle.
Le projet OPI est censé bâtir une communauté de fournisseurs, parmi lesquels on trouvera des fabricants de puces, de cartes contrôleurs, d’équipements réseau, de serveurs, de baies de stockage, ainsi que des éditeurs de logiciels, des laboratoires de tests, ou encore des associations d’utilisateurs. Les membres fondateurs de la communauté comprennent Dell Technologies, F5, Marvell, Nvidia, Intel et Red Hat.
Les DPU (Data Processing Unit) sont les nouvelles puces de calcul que l’on trouve essentiellement sur les cartes réseau répondant à la dénomination SmartNIC, littéralement des cartes réseau (Network Interface Cards, ou « NIC ») intelligentes (« smart »). Intel préfère appeler les DPU qu’il fabrique des IPU (Infrastructure Processing Unit), suggérant que les siens pourraient équiper d’autres types de cartes électroniques, par exemple des cartes mères ou des contrôleurs de stockage.
Un DPU décharge le processeur central de sa machine hôte des fonctions d’empaquetage, de filtrage, ou encore de chiffrement des données. Il se charge typiquement d’accoler aux données toutes les informations nécessaires à un protocole de communication, qu’il s’agisse de TCP/IP pour du réseau local, comme de NVMe pour l’accès à une baie de SSD dans le datacenter. Utiliser un tel composant libère de la puissance de calcul dans les serveurs au bénéfice des applications et accélère les communications elles-mêmes en réduisant la latence.
Étendre l’usage des DPU au-delà des hyperscalers
Les plus gros utilisateurs de DPU sont aujourd’hui les fournisseurs de cloud, en particulier les hyperscalers (AWS, Azure, GCP...). Ces puces répondent à leurs contraintes de latence et de sécurité dans le contexte de la circulation massive des données entre leurs éléments d’infrastructure. Les grands opérateurs de cloud public développent traditionnellement eux-mêmes les modules logiciels qui leur permettent de piloter l’infrastructure. C’est en ce sens qu’ils ont réussi à déployer des DPU, alors que ceux-ci sont dépourvus d’API standard.
Les entreprises, en revanche, ne sauront pas tirer parti des DPU tant que le marché ne leur apportera pas des outils afin de les relier à leurs applications et autres traitements particuliers. À date, chaque fabricant de DPU livre son produit avec une pile logicielle propriétaire, par-dessus laquelle chacun doit développer des processus pour que la solution serve un usage spécifique. C’est un problème également pour les fabricants d’équipements, qui peinent à écrire les couches logicielles rapidement et, surtout, courent le risque que leur produit ne soit interopérable avec aucune autre solution.
Brandon HoffAnalyste, IDC
En normalisant l’accès aux DPU, le projet OPI doit dynamiser l’écosystème. Ses développements devraient par ailleurs ouvrir la voie à des consoles d’orchestration, dédiées au transfert des données, qui pourraient devenir l’une des chevilles ouvrières du cloud hybride.
« Quand les DPU seront faciles à utiliser, ils seront omniprésents. Cela dit, il faudra sans doute attendre trois à cinq ans avant qu’une API et une couche logicielle soient normalisées. En encore autant avant que les DPU soient largement répandus, qu’on les trouve embarqués dans des équipements classiques », estime Brandon Hoff, analyste chez IDC.
Selon les analystes, les DPU seront d’abord utilisés là où les débits réseau sont nécessairement élevés : routage 5G, Deep learning, Blockchains, etc. Mais ils apporteront à terme plus d’optimisation du trafic dans tous les datacenters.
Mettre les DPU sur des rails techniques
Dans un premier temps, les travaux de l’OPI vont déjà servir à mettre les DPU sur des rails. Ils vont ainsi définir quelles fonctions exactement un DPU est censé apporter et comment ces fonctions doivent être accessibles. Ils vont aussi intégrer le principe d’un DPU dans le noyau Linux, condition sine qua non pour que le processeur d’un serveur considère que certains traitements de données pourront se faire en dehors de ses circuits.
Par extension, l’OPI va implémenter la gestion d’un DPU au sein du switch virtuel Open vSwitch et du kit de développement réseau DPDK (Data Plane Development Kit). Il s’agit notamment de pouvoir segmenter la puissance d’un DPU entre plusieurs machines virtuelles.
Concernant les outils, le projet OPI construira les pilotes de base et les logiciels avec l’Infrastructure Programmer Development Kit (IPDK). Il s’agit d’un framework Open source précédemment mis au point pour gérer l’infrastructure réseau ; il est pour l’occasion devenu lui-même un sous-projet au sein d’OPI. Le groupe a par ailleurs accès au kit de développement DOCA, que son contributeur Nvidia a mis en Open source. Nvidia étant l’un des principaux fabricants de DPU, DOCA est à l’heure actuelle l’une des meilleures sources de bibliothèques de programmation et de documentations.