Le coûteux « octet unique »
Dans le monde de la tech de 2026, toutes les entreprises achètent frénétiquement des serveurs pour obtenir de la puissance de calcul et de la mémoire. Mais dans les centres de données du géant de l’infrastructure web Cloudflare, les ingénieurs ont stoppé l’expansion et se sont penchés sur le code de bas niveau pour traquer ces octets gaspillés.
Le système DNS de Cloudflare, « Big Pineapple », traite chaque jour un volume massif de requêtes réseau mondiales. Ses entrées de cache dépassent les 250 milliards. Face à ce chiffre astronomique, gaspiller un seul octet signifie que le cluster entier consomme 250 Go de mémoire supplémentaire.
Image : Distribution des nœuds de service Cloudflare. Source : Cloudflare Blog
Face aux modèles d’IA qui exigent des téraoctets de VRAM, quelques centaines de gigaoctets peuvent sembler dérisoires. Cependant, pour les systèmes de bas niveau nécessitant des réponses ultra-rapides, une mémoire gonflée entraîne non seulement des factures matérielles onéreuses, mais provoque également une latence inacceptable.
Essorage au niveau du pixel
Face au gaspillage de ressources, ils ont adopté la solution la plus radicale : une optimisation extrême de l’agencement de la mémoire au niveau du langage Rust. C’est comme réorganiser la structure des étagères dans un entrepôt bondé pour libérer de force un grand espace vide.
La pratique conventionnelle consiste à utiliser des tableaux dynamiques (Vec) ou des chaînes de caractères (String) pour stocker des données. Cette méthode s’accompagne d’un champ de « capacité » (capacity), réservant de l’espace pour une expansion future. Les ingénieurs de Cloudflare les ont tous remplacés par des Box<[T]> et Box<str> de longueur fixe, coupant ainsi court au gaspillage de l’espace réservé.
Image : Comparaison de la structure de la mémoire avant et après la suppression du champ de capacité des tableaux dynamiques. Source : Cloudflare Blog
Ils ont également refactorisé la structure des données, fusionnant plusieurs listes initialement dispersées en une seule liste et utilisant des décalages (offsets) pour un positionnement précis. Si le nom de domaine interrogé est le même que le propriétaire de l’enregistrement, le système supprime directement le champ du propriétaire. Grâce à cette combinaison de mesures, l’empreinte mémoire de chaque entrée de cache a été réduite de plus de 50 %.
Gagnant-gagnant pour les performances et les coûts
Cette avarice extrême a produit des rendements stupéfiants. Cinq optimisations consécutives ont libéré cumulativement environ 100 To de mémoire. Cela équivaut à la mémoire totale de 130 serveurs Gen 13.
Cela a non seulement permis d’économiser d’énormes coûts d’acquisition de serveurs, mais les performances globales du système ont également été considérablement améliorées. Des structures de données plus compactes ont conduit à des taux de réussite de cache CPU plus élevés, augmentant finalement le débit d’insertion du système de 43 % et réduisant la latence des requêtes de 19 %.
L’optimisation des systèmes semble être devenue un artisanat de niche à notre époque. Pourtant, les faits prouvent qu’une énergie immense se cache encore dans ces détails de bas niveau souvent négligés.
Le levier oublié
100 To de mémoire ont été récupérés ligne par ligne par des ingénieurs. À l’ère de l’empilement frénétique de matériel, Cloudflare a donné à tout le monde une leçon à l’ancienne.
Tout le monde a l’habitude de résoudre les goulots d’étranglement de la puissance de calcul avec de l’argent, et la qualité de code la plus fondamentale est facilement oubliée. Lorsque nous parlons de modèles à des centaines de milliards de paramètres et de clusters de dizaines de milliers de GPU, nous devrions peut-être baisser les yeux vers ces octets invalides qui dorment dans la mémoire.
Les données intuitives de l’événement de libération de 100 To de mémoire de Cloudflare prouvent un fait. À l’heure où tout le monde brûle du cash dans l’IA, l’optimisation classique des systèmes reste le levier de coûts le plus puissant et le plus négligé. Au lieu d’empiler aveuglément du matériel, il vaut mieux réexaminer l’infrastructure sous nos pieds. L’auteur estime que c’est la réponse la plus percutante que les ingénieurs système puissent donner à notre époque.
Références :
- Cloudflare Blog