Roman Gushchin (
L'approche proposée permet d'augmenter l'efficacité de l'utilisation de slab, de réduire de 30 à 45 % la taille de la mémoire utilisée pour slab et de réduire considérablement la consommation globale de mémoire du noyau. En réduisant le nombre de dalles non mobiles, il existe également un effet positif en réduisant la fragmentation de la mémoire. Le nouveau contrôleur de mémoire simplifie considérablement le code de comptabilisation des dalles et ne nécessite pas l'utilisation d'algorithmes compliqués pour créer et supprimer dynamiquement des caches de dalle pour chaque groupe de contrôle. Tous les groupes de contrôle de mémoire dans la nouvelle implémentation utilisent un ensemble commun de caches de dalle, et la durée de vie des caches de dalle n'est plus liée à la durée de vie de ceux installés via le groupe de contrôle.
La comptabilité plus précise des ressources mise en œuvre dans le nouveau contrôleur de dalle devrait théoriquement charger davantage le processeur, mais en pratique, les différences se sont révélées insignifiantes. En particulier, le nouveau contrôleur slab est utilisé depuis plusieurs mois sur des serveurs de production Facebook gérant différents types de charges de travail, et aucune régression notable n'a encore été identifiée. Dans le même temps, il y a une réduction significative de la consommation de mémoire - sur certains hôtes, il était possible d'économiser jusqu'à 1 Go de mémoire, mais cet indicateur dépend fortement de la nature de la charge, de la taille totale de la RAM, du nombre de processeurs. et les fonctionnalités du travail avec la mémoire. Essais précédents
Source: opennet.ru