Facebook annonce une suite open source de composants du noyau Linux

facebook open source 05 Nov

Pour résoudre certains problèmes de gestion comme le contrôle de l’utilisation des données et l’équilibrage de la charge de travail, Facebook entend élaborer une suite de composants open source du noyau Linux. Le point sur ces éléments avec l’Open Source School !

#1 BPF : outil de traçage et de sécurité

BPF permet aux utilisateurs d’exécuter un petit morceau de code rapidement et en toute sécurité dans le système d’exploitation. Utilisé à l’origine pour le filtrage de paquets, il a depuis été amélioré pour supporter des fonctions de traçage dynamique et de sécurité. Par exemple, il est possible d’écrire un petit programme BPF qui « imprime » chaque fois qu’un utilisateur accède à un fichier particulier.

#2 Btrfs : pour une meilleure protection de données

Btrfs est un système de fichier basé sur le Copy-On-Write (copie sur écriture) qui prend en charge des fonctions telles que les snapshots, la défragmentation en ligne, le pooling et la prise en charge intégrée de plusieurs périphériques. Il possède également des techniques de protection de données qui permettent de détecter certaines défaillances dans le système. Les ingénieurs de Facebook estiment que Btrfs est également en mesure de les aider à mieux contrôler les ressources de leurs centres de données.

#3 Netconsd : identification rapide des défaillances

Netconsd est un « daemon » (logiciel informatique qui s’exécute en arrière-plan) basé sur un UDP (protocole de télécommunication) qui permet de transporter de manière légère les messages Netconsole (service de connexion à distance) Linux. Il reçoit et traite les données log du noyau Linux et les met à disposition sous forme de données structurées. Facebook utilise ce logiciel pour avoir des informations importantes sur ses centres de données, permettant ainsi à ses ingénieurs de production d’identifier rapidement les services défaillants.

#4 Cgroup2 : mieux répartir les ressources systèmes

Cgroup2 fait partie des mécanismes de la nouvelle génération du noyau Linux. Ses fonctions principales sont le regroupement et la structuration de la charge de travail ainsi que le contrôle des ressources systèmes. Équipé par des E/S et une unité centrale de traitement, ce programme permet aussi de gérer la répartition de la mémoire.

#5 PSI : prévention optimale de la pénurie de ressources

PSI (Pressure Stall Information) permet de quantifier et de prévenir les pénuries de ressources au moment opportun en fonction de trois indicateurs essentiels : la mémoire, le CPU et les entrées/sorties. C’est un outil que Facebook utilise en conjonction avec Cgroup2 pour disposer à tout moment d’une image globale de l’utilisation de ses ressources et en assurer la bonne gestion.

#6 Oomd : une meilleure gestion de la mémoire

Dans les centres de données de Facebook, on utilise Oomd en association avec PSI et Cgroup2 pour plus de fiabilité et d’efficacité. Il s’agit d’un « killer » de processus OOM (out-of-memory) qui permet de mettre en pause ou de supprimer les éléments non-essentiels, entraînant un gain d’espace conséquent et une augmentation significative des ressources utilisées.

Vous aussi, intégrez une filière passionnante avec de beaux débouchés professionnels ! L’Open Source School, école de référence du logiciel libre, vous propose sa formation initiale pour vous aider à concrétiser votre projet professionnel !