06/11/2018

Facebook publie une suite de composants et d'outils pour le noyau Linux

logo facebook

Le réseau social annonce une nouvelle contribution d’importance au noyau Linux pour les systèmes en production dans le cloud et à grande échelle.

C’est par un billet de blog des développeurs de la firme Facebook que l’annonce a été publiée. Au-delà de l’importance des solutions open source au sein du réseau social, le billet rappel l’importance d’une culture d'ingénierie au sein du réseau social dans l’optique de résoudre les problèmes de production réels ainsi que les principaux défis de l'informatique dans le cloud et à grande échelle.

Pour régler ces problèmes, les développeurs d’applications Facebook travaillent en partenariat avec les développeurs du noyau Linux en exposant les problèmes rencontrés dans les centres de données. Ce partenariat bénéficie finalement à tous les acteurs du secteur.

La firme annonce donc la publication d’une suite de composants du noyau Linux en open source et des outils connexes permettant de résoudre les problèmes critiques de gestion de flotte. Cette suite inclut le contrôle et l’utilisation des ressources, l'isolation et l’équilibrage de la charge de travail, la mesure, la surveillance des systèmes. Ces composants sont aujourd’hui utilisés en production à grande échelle dans toute l'infrastructure de Facebook, ainsi que dans de nombreuses autres organisations.

La firme commente la publication ainsi : «Les composants du noyau et les outils inclus dans cette version peuvent être adaptés pour résoudre un nombre pratiquement illimité de problèmes de production [...] Nous pensons que cet ensemble de services et de produits sera utile pour tout développeur d'applications développant des applications destinées à des millions d'utilisateurs sur plusieurs plates-formes.»

ilustration_FacebookLinux

BPF

BPF est un moteur d’exécution de code très flexible et efficace intégré au noyau Linux. Il permet l’exécution de bytecode à divers points de raccordement, ce qui permet de modifier de manière sûre et simple les comportements du noyau avec du code personnalisé. Bien qu'il soit largement utilisé pour le filtrage de paquets, le jeu d'instructions de BPF est générique et suffisamment flexible pour prendre en charge et permettre une grande variété de cas d'utilisation autres que la mise en réseau, tels que le traçage et la sécurité (par exemple, le sandboxing).

Au sein de Facebook, BPF joue par exemple un rôle de premier plan dans les systèmes d'optimisation du trafic pour l’équilibrage de charge.

Btrfs

Btrfs est un système de fichiers de nouvelle génération conçu pour les centres de données actuels. Il s'agit d'un système de fichiers de copie sur écriture (CoW) axé sur la mise en œuvre de fonctionnalités avancées, la tolérance aux pannes, la réparation et la facilité d'administration. Btrfs est conçu pour traiter et gérer des sous-systèmes de stockage volumineux et prend en charge des fonctionnalités telles que les instantanés, la défragmentation en ligne, le regroupement et la prise en charge intégrée de plusieurs périphériques.

Netconsd

Netconsd est un démon netconsole basé sur le protocole UDP qui fournit un transport léger pour les messages Linux netconsole. Il reçoit et traite les données de journal du noyau Linux et les transmet sous forme de données structurées de manière à aider les ingénieurs de production à identifier rapidement les problèmes de la flotte.

Cgroup2

Cgroup2 est le mécanisme de noyau Linux de nouvelle génération pour regrouper et structurer les charges de travail et pour contrôler la quantité de ressources système affectées à chaque groupe. Il possède des contrôleurs pour la mémoire, les E/S, l’unité centrale de traitement, etc. Il permet également d'isoler les charges de travail, de définir des priorités et de configurer la distribution des ressources pour chacune d'entre elles.

PSI

Les informations de blocage de pression ( PSI ) fournissent pour la première fois un moyen canonique de quantifier les pénuries de ressources avec de nouvelles métriques de pression pour trois ressources principales: la mémoire, le processeur et les E / S. Ces métriques de pression, associées à d'autres outils du noyau et de l'espace utilisateur faisant partie de cette version open source, permettent de détecter les pénuries de ressources pendant le développement et la réponse intelligente. Les statistiques PSI fournissent une alerte précoce en cas de pénurie imminente de ressources, permettant des réponses plus proactives, détaillées et nuancées.

Oomd

Oomd est un tueur de processus de mémoire MOO (mémoire insuffisante) en espace utilisateur qui agit en prenant davantage conscience du contexte et de la priorité des processus exécutés sur un système. Il permet de configurer les réponses aux conditions du MOO, telles que suspendre ou supprimer des éléments non essentiels, réaffecter de la mémoire dans le système ou d’autres actions.

Source : code.fb.com

Actualités