Kangaroo : Mise en cache flash efficace de milliards d’objets minuscules

2025-05-22
Kangaroo : Mise en cache flash efficace de milliards d’objets minuscules

Facebook et l’université Carnegie Mellon ont collaboré à la création de Kangaroo, un nouveau cache flash conçu pour la mise en cache efficace d’objets minuscules (environ 100 octets ou moins). En s’attaquant aux limites des conceptions de caches flash existantes, Kangaroo minimise l’utilisation de la DRAM et l’amplification des écritures. Implémenté dans le moteur de cache open source CacheLib de Facebook, il s’intègre facilement. Des tests utilisant des traces de charges de travail de mise en cache de graphe social de production de Facebook et de Twitter montrent que Kangaroo réduit les ratés de cache de 29 %, réduisant ainsi considérablement la charge des systèmes de stockage backend et s’avérant très efficace pour les applications gérant un grand nombre d’objets de petite taille, comme les médias sociaux.

Lire plus

Meta open source Pyrefly : un vérificateur de types Python en Rust

2025-05-17
Meta open source Pyrefly : un vérificateur de types Python en Rust

Meta a publié une version alpha de Pyrefly, un vérificateur de types Python open source et une extension IDE développée en Rust. Pyrefly vise à améliorer la cohérence des types dans le code Python, aidant à détecter les erreurs avant l'exécution. Il prend en charge l'intégration IDE et l'utilisation en ligne de commande, en priorisant les performances et l'inférence de types, fonctionnant efficacement même sur du code non annoté. Évoluant à partir de Pyre de Meta, Pyrefly vise à être un vérificateur de types plus puissant et extensible, collaborant avec la communauté Python pour améliorer le système de types Python.

Lire plus
Développement

Le traitement privé de WhatsApp : IA avec confidentialité de bout en bout

2025-05-02
Le traitement privé de WhatsApp : IA avec confidentialité de bout en bout

WhatsApp dévoile le Traitement Privé, une fonctionnalité optionnelle permettant le traitement des messages par IA dans un environnement sécurisé et confidentiel. En utilisant des environnements d’exécution fiables (TEE), cette technologie permet aux utilisateurs de demander des fonctionnalités basées sur l’IA, telles que la synthèse de messages, sans que Meta ou WhatsApp n’aient accès à leurs données. Conçu sur les principes d’optionalité, de transparence et de contrôle de l’utilisateur, le Traitement Privé met en œuvre des mesures de sécurité robustes, notamment le traitement confidentiel, la transparence vérifiable et la non-ciblage. WhatsApp publie des composants du Traitement Privé et étend son programme de primes aux bogues pour favoriser la recherche en sécurité indépendante, garantissant que la confidentialité de l’utilisateur reste primordiale.

Lire plus
Développement

Strobelight de Meta : un orchestrateur de profilage qui permet d’économiser 15 000 serveurs

2025-03-07
Strobelight de Meta : un orchestrateur de profilage qui permet d’économiser 15 000 serveurs

Meta a dévoilé Strobelight, un puissant orchestrateur de profilage qui combine plusieurs technologies (dont beaucoup sont open source) pour améliorer l’efficacité de son immense parc de serveurs. Strobelight n’est pas un simple profileur, mais un orchestrateur de nombreux profileurs qui collectent des données détaillées sur l’utilisation du processeur, l’allocation de mémoire et d’autres indicateurs de performance. Visualisé à l’aide d’outils comme Scuba et Tracery, Strobelight a déjà permis de réaliser des économies considérables, équivalentes à 15 000 serveurs par an. Une simple modification d’un caractère dans une ligne de code (&) a permis d’obtenir ce gain spectaculaire. Strobelight utilise la technologie eBPF efficace, des profileurs personnalisés flexibles, une collecte automatique des données et un échantillonnage dynamique pour des performances optimales.

Lire plus

Glean de Meta : Indexation de code à grande échelle

2025-01-01
Glean de Meta : Indexation de code à grande échelle

Meta a publié Glean, un système d'indexation de code open source conçu pour l'efficacité et l'évolutivité. Glean collecte et traite les informations du code source, les fournissant aux outils de développement via un langage de requête flexible appelé Angle. Son indexation incrémentale innovante répond aux défis des bases de code massives, permettant des fonctionnalités telles que la navigation de code, la recherche et la génération de documentation. La polyvalence de Glean prend en charge divers langages et schémas de données personnalisés, ce qui en fait un atout précieux pour les développeurs.

Lire plus
Développement indexation de code

Meta lutte contre le spam à grande échelle avec Haskell

2024-12-22
Meta lutte contre le spam à grande échelle avec Haskell

Le système Sigma de Meta, une arme cruciale dans la lutte contre le spam et les logiciels malveillants, a subi une refonte de deux ans. Le système a été réécrit en Haskell, un choix moins courant pour les systèmes de production à grande échelle, atteignant plus d'un million de requêtes par seconde. Le passage à Haskell a tiré parti de sa nature purement fonctionnelle et fortement typée, et le framework Haxl a permis le regroupement automatique et la récupération de données concurrente. Des améliorations de performance de 20 à 30 % par rapport au système précédent basé sur FXL ont été observées. Le projet a également inclus des contributions significatives au compilateur GHC, en résolvant plusieurs bogues.

Lire plus
Développement Filtrage de Spam

Traduction massive de Java vers Kotlin chez Meta : surmonter des millions de lignes de code

2024-12-22
Traduction massive de Java vers Kotlin chez Meta : surmonter des millions de lignes de code

Meta a entrepris un effort de plusieurs années pour traduire son immense base de code Android de Java vers Kotlin. Cet article détaille comment Meta a construit Kotlinator, un outil d’automatisation, pour surmonter des défis tels que les vitesses de compilation lentes et les linters insuffisants, réussissant à convertir plus de la moitié de son code. Kotlinator comprend plusieurs phases : prétraitement, conversion J2K sans tête, postraitement et correction d’erreurs. Meta a également collaboré avec JetBrains pour améliorer J2K et a rendu certaines parties du processus open source pour favoriser la collaboration communautaire. L’article met en lumière la gestion de la sécurité Null et diverses questions de code rencontrées et résolues lors de la conversion.

Lire plus
Développement migration de code