Les Huge pages ou comment améliorer les performances de votre système

Magazine
Marque
GNU/Linux Magazine
Numéro
128
Mois de parution
juin 2010


Résumé
Le Kernel Corner propose ce mois-ci un périple autour du mécanisme de pagination, mécanisme qui autorise la mise en oeuvre d'une mémoire virtuelle par notre système d'exploitation. Cette brève se penche plus particulièrement sur une spécificité de ce mécanisme : les Huge pages. Après quelques rappels techniques, nous exposons les bénéfices qui peuvent découler de l'utilisation de telles pages. Nous présentons différents moyens pour les employer et introduisons enfin les travaux en cours dans ce domaine dont devrait profiter prochainement Linux. Bien que les huge pages ne soient pas l'apanage d'une architecture en particulier, nous articulons notre discours sur la plateforme x86.

L'architecture x86 propose deux mécanismes évolués pour adresser les données en mémoire : la segmentation et la pagination (toutes deux constituent la MMU – Memory Management Unit). Alors que la segmentation est obligatoire, la pagination reste optionnelle. Contrairement à l'unité de segmentation, celle de pagination est présente sur la plupart des types d'architectures. Comme Linux est un noyau multi-plateforme, l'unité de segmentation est seulement utilisée dans son mode basique (le mode flat – un seul segment de mémoire est utilisé, cf. Kernel Corner du GLMF 112). Ceci permet de se passer facilement de cette unité pour n'utiliser que le seul mécanisme de pagination. Le sujet de cette brève est directement lié au mécanisme de pagination, c'est pourquoi nous commençons par le présenter. Les bénéfices liés à l'utilisation des Huge pages sont alors expliqués et différentes façons pour les employer sont données. Enfin nous abordons le futur des Huge pages dans Linux…

La suite est réservée aux abonnés. Il vous reste 96% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Par le(s) même(s) auteur(s)

Fuddly : introduction de l’outil et développement d’un protocole

Magazine
Marque
MISC
Numéro
103
Mois de parution
mai 2019
Spécialité(s)
Résumé

Cet article présente Fuddly, un framework de fuzzing et de manipulation de données, écrit en python sous GPLv3, qui fournit de nombreuses briques que l’on retrouve dans d’autres framework de fuzzing, mais qui se différencie par la flexibilité de représentation des données et la diversité des altérations qu’il rend possible.

L'Infrastructure Linux Gadget USB

Magazine
Marque
Open Silicium
Numéro
14
Mois de parution
mars 2015
Spécialité(s)
Résumé

L'infrastructure Gadget USB du noyau Linux facilite la création de périphériques USB, en proposant un cadre et un certain nombre de primitives qui permettent d'une part d'abstraire les contrôleurs matériels de périphériques USB, et d'autre part d'en utiliser les ressources et fonctionnalités afin de créer n'importe quelle fonction USB désirée : qu'elle réponde aux standards (tels que « Mass Storage », « CDC Eth »…), qu'elle soit l'incarnation de vos besoins particuliers, ou bien encore qu'elle soit une combinaison des deux.

Kernel Corner : Interviews A. Morton, G. Kroah-Hartmanet T. Heo

Magazine
Marque
GNU/Linux Magazine
Numéro
166
Mois de parution
décembre 2013
Spécialité(s)
Résumé
Nous avons le plaisir de vous présenter dans un première partie quelques pensées de Andrew Morton et de Greg Kroah-Hartman (deux figures de renom dans la communauté noyau) sur la maturité du noyau Linux et de sa communauté, sur l'importance de l'adaptation continue de Linux à son environnement, ainsi que sur des sujets liés à la maintenabilité du noyau vis-à-vis de la flexibilité que l'ABI peut apporter à l'espace utilisateur. Nous finissons par un éclairage de Tejun Heo (mainteneur des control groups) sur la refonte de l'infrastructure des control groups (en cours d'intégration depuis le 3.10 et accessible via l'option de montage « __DEVEL__sane_behavior »), où le sujet de la flexibilité est au cœur des décisions prises.

Les listes de lecture

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.
11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Plus de listes de lecture