Cache : abstraction, pas optimisation
La sagesse conventionnelle veut que le cache accélère les logiciels. L’auteur soutient que ce n’est qu’une partie de l’histoire. Après avoir travaillé sur le déplacement de données entre le stockage d’objets, le disque et la mémoire, l’auteur propose que le rôle le plus crucial du cache est de simplifier les logiciels. L’article explore les limites des algorithmes de cache prédéfinis (LRU, LFU, etc.) et suggère que le cache agit davantage comme une couche d’abstraction, masquant les détails de stockage sous-jacents, libérant les programmeurs du souci de l’emplacement du niveau de données. Les mécanismes de cache des bases de données et du système d’exploitation illustrent cette abstraction. Bien que le cache puisse présenter des problèmes, comme la mauvaise utilisation du cache de pages du système d’exploitation et fsync, cela ne signifie pas qu’il faille abandonner le cache, mais plutôt le comprendre et l’utiliser mieux.