Linus torvalds a discuté avec Dave Chinner de la vitesse du système de mise en cache du noyau

Torvalds

En informatique, un cache est une mémoire qui stocke temporairement des copies de données pour réduire le temps d'accès ultérieur. La mise en cache peut réutiliser efficacement les données précédemment récupérées ou traitées.

Sous Linux, le système de mise en cache est principalement appelé "cache de page"mais Des transferts d'E / S directs peuvent également être utilisés. En pratique, les données mises en cache sont généralement stockées sur du matériel à accès rapide, tel que la RAM, et peuvent également être utilisées en conjonction avec un composant logiciel.

Dans la majorité des cas, le noyau Linux fait référence à la "page cache" lors de la lecture ou de l'écriture sur le disque. De nouvelles pages sont ajoutées pour répondre aux demandes de lecture du processus en mode utilisateur.

Si la page n'est pas encore dans le cache, une nouvelle entrée est ajoutée au cache et se termine par les données lues sur le disque. Si suffisamment de mémoire est disponible, la page est mise en cache pendant une période indéfinie et peut être réutilisée par d'autres processus sans accéder au disque.

Les Les concepteurs du noyau Linux ont implémenté la "page cache" pour répondre à deux exigences principales.

  • Premièrement, cela permettra au système de localiser rapidement une page spécifique contenant des données sur un propriétaire spécifique. Pour profiter pleinement du cache Linux, la recherche doit être une opération très rapide.
  • Deuxièmement, les instructions redondantes qui gèrent le cache de page et la lecture anticipée ralentiront les appels de lecture et d'écriture.

Pour ces raisons, Linux offre un moyen simple de contourner les pages de cache: les transferts d'E / S directs.

Torvalds dit à Dave Chinner que son opinion est purement ma ...

Dans un transfert d'E / S direct, le noyau programme le contrôleur de disque pour transférer les données directement vers les pages dans l'espace d'adressage en mode utilisateur d'une application de mise en cache automatique.

Le sujet a toujours été débattu dans la communauté Linux et a fait l'objet d'un différend entre Linus Torvalds et un contributeur du noyau Linux.

En fait, dans un article de la liste de diffusion du noyau Linux, Dave Chinner, un programmeur australien qui gère le système de fichiers XFS créé par Silicon Graphics (SGI) et pris en charge par de nombreuses distributions Linux, ledit cache de page est encore beaucoup plus lent que les transferts d'E / S directs.

«Pour une application hautement compétitive qui traite des données massives dans des fichiers volumineux stockés dans un stockage à haute vitesse, le cache de page est encore beaucoup plus lent que les transferts d'E / S directs», écrit-il dans son rapport. message.

Votre déclaration correspond à celle mentionnée ci-dessus, à savoir que dans certains cas, tels que les bases de données, où la quantité de données mises en cache est trop importante, il serait préférable d'utiliser une solution de contournement: les transferts d'E / S directs.

Cela dit, Linus Torvalds, n'a pas apprécié le commentaire de son collaborateur au sujet de la mise en cache des données dans son système d'exploitation. Ce dernier a qualifié les propos de Dave Chinner de «merde» avant de l'attaquer dans un long message. "Tu as déjà fait cette demande, et c'était déjà une merde complète, et je t'ai appelé à ce sujet aussi", dit-il.

Il a noté que le mot clé dans "cache de page" est "cache" et que cela fonctionne très bien. Les caches fonctionnent, Dave. Quiconque pense que les caches ne fonctionnent pas est incompétent. Environ 99% de tous les accès au système de fichiers sont mis en cache et ils n'effectuent jamais de transferts d'E / S directs.

Le cache de page les gère parfaitement. Lorsque vous dites que le cache de pages est plus lent que le transfert d'E / S directes, c'est parce que vous ne voyez même pas ou ne vous souciez pas de la vitesse des opérations. Ceci est compréhensible car il n'intervient qu'une fois les opérations d'information effectuées », déclare Linus Torvalds sur la liste de diffusion.

Pour lui, quiconque s'oppose à cette idée ne sait absolument rien et Dave Chinner en fait partie.

«Vous faites cette déclaration sans prendre en compte tous les cas que vous ne voyez pas et qui ne vous intéressent pas car le cache de page les a déjà traités pour vous. C'est bien mieux que les transferts d'E / S directs. À quelle fréquence utilisez-vous des mémoires non temporelles lors de la programmation sans E / S? Presque jamais, peut-être? Parce que les caches fonctionnent. "Alors arrêtez avec votre argument stupide et malhonnête, où vous ignorez les effets de la mise en cache", a poursuivi Torvalds.

Quelque part dans ton message Dave Chinner a expliqué que les limites du cache de page deviennent de plus en plus visibles à mesure que les SSD deviennent plus efficaces.. Une chose avec laquelle Torvalds n'est toujours pas d'accord.

«Et non, les disques SSD n'ont pas rendu les caches inutiles», a-t-il déclaré. Cependant, en réponse au long texte de Torvalds, Chinner a expliqué qu'il reste convaincu que le problème qu'il met en évidence est bien réel. Pour Chinner, il est vrai qu'il existe de nombreux cas où le cache de page fonctionne, car il est toujours plus rapide que la plupart des systèmes de stockage.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Michel Mayol dit

    Il a écrit "bullshit" littéralement merde de taureau et se référant au figuré aux arguments FALACIAS que pour une nouvelle sensationnaliste sonne pire et pour se référer au père du noyau "Linux n'est pas unix" mais il les a tous mangés avec mépris, il faut d'abord savoir, même les langues. D'ailleurs FALLACIOUS, fallacieux en anglais, existe mais est rarement utilisé en dehors d'un langage extrêmement formel ou académique

  2.   oscar dit

    Je pense que cela arrive à Linus comme aux gens de VOX, ils ont raison dans ce qu'ils disent, mais ils se perdent.

    1.    poivre dit

      Pour Tolvars je vois que les vacances lui ont été peu utiles, il ne semble pas du tout détendu avec les collaborateurs.
      Quant à ce qu'il dit sur VOX, ils ne perdent à aucun moment leurs formes, c'est simplement un mensonge, ceux qui le critiquent qui ne savent pas où aller perdent leurs formes.

  3.   dfsdf dit

    What a shit traduction