← Derniers articles
🤖 AI

OpenURMA: A Clean-Room Open Implementation of the Unified Bus Protocol

Ce papier présente OpenURMA, la première implémentation open-source en chambre blanche du protocole Unified Bus de Huawei, qui démontre, par le biais de simulations RTL, SystemC et gem5, que le découplage de l'état par application de l'état de transport réduit la latence de récupération distante de 64 octets d'un facteur 4,37 et augmente le débit d'un facteur 2,80 par rapport aux bases traditionnelles RoCEv2.

Auteurs originaux : Bojie Li

Publié 2026-05-28
📖 7 min de lecture🧠 Analyse approfondie

Auteurs originaux : Bojie Li

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Le Grand Problème : Le Goulot d'Étranglement des « Périphériques »

Imaginez un centre de données moderne comme un immense immeuble de bureaux où des milliers d'employés (les applications) doivent communiquer instantanément entre eux.

Actuellement, la façon standard dont ils communiquent est la suivante :

  1. Le Problème des Périphériques : La carte réseau (NIC) est traitée comme un périphérique, similaire à une imprimante ou une souris branchées à un ordinateur. Elle se trouve « à l'extérieur » du cerveau principal (le CPU).
  2. Le Système de File d'Attente : Pour envoyer un message, un employé doit écrire un mot (une « demande de travail » ou « Work Request »), le porter jusqu'à la boîte aux lettres de la carte réseau (la « sonnette » ou « Doorbell »), et attendre. La carte réseau le récupère ensuite, le traite, et écrit un mot « Terminé » de retour dans la boîte aux lettres.
  3. L'Embouteillage : Parce que la carte réseau est « à l'extérieur », chaque mot doit traverser une autoroute bondée (le bus PCIe) quatre fois juste pour être envoyé et confirmé.
  4. La Crise de Mémoire : La carte réseau doit conserver un dossier personnel pour chaque paire d'employés qui communiquent entre eux. Si vous avez 1 000 employés parlant à 1 000 autres, la carte a besoin de 1 million de dossiers. Elle manque d'espace de bureau (mémoire sur puce) et doit commencer à courir vers l'armoire à dossiers au sous-sol (la RAM de l'hôte) pour saisir des fichiers. Cela ralentit tout à une allure de tortue.

Le Résultat : Même si les câbles internet (le « fil ») sont incroyablement rapides, tout le système est bloqué dans les embouteillages à cause de la façon dont la carte réseau est connectée et organisée.


La Solution : Le Bus Unifié (UB) de Huawei

Huawei a proposé une nouvelle conception appelée Bus Unifié (UB) (dans leur puce Ascend 950) pour résoudre ce problème. Ils n'ont pas simplement réparé l'ancien système ; ils ont changé les règles de la route.

1. Déplacer le Bureau à l'Intérieur de l'Immeuble
Au lieu que la carte réseau soit un périphérique à l'extérieur de l'immeuble, UB place le contrôleur réseau à l'intérieur de l'immeuble dans le couloir principal (le bus sur puce).

  • Analogie : Au lieu de marcher jusqu'au hall pour envoyer une lettre, vous pouvez maintenant simplement la remettre à un collègue qui se tient juste à côté de votre bureau. Vous n'avez pas besoin de traverser l'autoroute quatre fois ; vous faites juste un pas.

2. Diviser le Système de Classement
L'ancien système conservait un seul énorme dossier pour chaque paire de personnes qui communiquent. UB divise cela :

  • Jetty : Une petite carte pour votre côté de la conversation.
  • Canal TP : Une carte partagée pour le côté de l'autre personne.
  • Analogie : Au lieu d'avoir besoin d'un dossier unique pour chaque paire de personnes (ce qui explose en taille), vous avez juste besoin d'une carte pour vous-même et d'une carte partagée pour la personne à qui vous parlez. Le nombre total de dossiers croît lentement (de manière additive) au lieu d'exploser (de manière multiplicative). Cela empêche l'espace de bureau de la carte réseau de déborder.

3. Le Raccourci « Chargement/Stockage » (Load/Store)
Parce que le contrôleur est maintenant à l'intérieur de l'immeuble, le CPU peut lui parler directement en utilisant des instructions standard (comme LOAD ou STORE), exactement comme lire une variable dans un programme.

  • Analogie : Vous n'avez pas besoin de remplir un formulaire, de marcher jusqu'à la boîte aux lettres et d'attendre un reçu. Vous saisissez simplement les données dont vous avez besoin instantanément.

4. Règles Optionnelles (Tri par Adhésion / Opt-in Ordering)
L'ancien système imposait des règles strictes : « Vous devez recevoir les messages dans l'ordre exact où ils ont été envoyés, peu importe ce qui se passe. » C'est lent et inutile pour de nombreuses tâches.

  • Analogie : UB dit : « Nous pouvons livrer les messages aussi vite que possible. Si vous avez vraiment besoin qu'ils soient dans l'ordre, levez simplement la main et nous ralentirons pour les trier. Si cela ne vous importe pas, nous les déposerons simplement dans votre boîte de réception à mesure qu'ils arrivent. » Cela économise du temps pour tous ceux qui n'ont pas besoin d'un ordre strict.

Ce Que OpenURMA a Fait

La puce de Huawei existe, mais c'est une « boîte noire ». Personne ne peut voir comment elle fonctionne à l'intérieur, la mesurer ou construire dessus.

OpenURMA est la première implémentation open-source en chambre blanche de ce nouveau système.

  • « Chambre blanche » signifie qu'ils l'ont construite à partir de zéro en utilisant uniquement le manuel de règles public (la spécification), sans regarder le code secret de Huawei.
  • Ils ont construit trois versions pour le tester :
    1. RTL : Le plan réel pour les puces matérielles (testé sur une carte FPGA).
    2. SystemC : Une simulation informatique ultra-détaillée du réseau.
    3. gem5 : Une simulation informatique complète exécutant un véritable système d'exploitation.

Ils ont comparé leur nouveau système (OpenURMA) avec l'ancien standard (RoCEv2) en utilisant exactement les mêmes outils pour assurer une confrontation équitable.


Les Résultats : À Quel Point C'est Plus Rapide ?

Le document revendique des améliorations massives, spécifiquement pour les opérations petites et rapides (comme récupérer un tout petit morceau de données) :

  • Vitesse : Le nouveau système est 4,37 fois plus rapide (environ 500 nanosecondes) que l'ancien système (environ 2 186 nanosecondes) pour une récupération de données standard.
  • Débit : Il peut traiter 2,8 fois plus de données par seconde.
  • Efficacité : Il utilise très peu d'espace sur la puce (seulement environ 14 % de l'espace disponible sur une carte de test).
  • Évolutivité : À mesure que vous ajoutez plus d'utilisateurs (de 1 à 1 024), l'ancien système ralentit drastiquement car il manque d'espace de bureau. Le nouveau système reste rapide et stable car son système de classement est efficace.

Pourquoi Cela Compte (Selon le Document)

Le document soutient que la façon actuelle dont nous connectons les ordinateurs dans les centres de données (traitant la carte réseau comme un périphérique) est fondamentalement brisée pour les charges de travail modernes d'IA et de big data.

  • L'Alternative « Cohérente » : Il existe d'autres technologies (comme CXL ou NVLink) qui tentent de rendre la mémoire « partagée » et « cohérente ». Cependant, le document soutient que ces technologies s'effondrent lorsque vous essayez de les mettre à l'échelle vers de grands clusters (de nombreux racks de serveurs) car elles nécessitent trop de suivi d'état et ne peuvent pas bien gérer les erreurs réseau.
  • L'Avantage du UB : UB accepte que le réseau n'est pas parfait et ne tente pas d'imposer une « cohérence parfaite » dans tout l'immeuble. Au lieu de cela, il donne à l'application les outils pour gérer l'ordre uniquement lorsque cela est nécessaire, lui permettant de s'étendre à des milliers de serveurs sans l'effondrement des performances observé dans d'autres systèmes.

Résumé

Imaginez l'ancien système comme un bureau de poste où vous devez marcher jusqu'au comptoir, remplir un formulaire, attendre dans la file et obtenir un reçu pour chaque lettre unique.
Imaginez le nouveau système OpenURMA comme un messager privé qui s'assoit juste à côté de vous, sait exactement à qui vous parlez, et peut déposer une lettre dans votre main instantanément sans aucune paperasse, sauf si vous demandez spécifiquement un reçu.

Le document prouve que cette nouvelle façon d'organiser le réseau n'est pas juste une théorie, mais une conception ouverte et fonctionnelle qui est significativement plus rapide et plus évolutive que ce que nous utilisons aujourd'hui.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →