Linux équivalent à ReadyBoost?

19

Existe-t-il un module du noyau ou un autre correctif ou quelque chose de similaire au ReadyBoost de Windows ?

Fondamentalement, je recherche quelque chose qui permet de mettre en cache les lectures de disque sur un lecteur Flash.

Nathan Osman
la source
Le lecteur flash avec USB 2.0 est vraiment lent, je ne sais pas pourquoi vous voulez faire ça.
daisy
1
@ warl0ck, je ne suis pas d'accord, même avec USB 2.0. L'USB 2.0 sur un bus non contrôlé a une bande passante de 480 mbit / sec == 60 Mo / sec. Même en réduisant, disons 20 Mo / s de surcharge, c'est toujours une vitesse importante. Peu importe que l'USB 3.0 devienne populaire et dispose d'une capacité de 5 Gbit / s. Peu importe que décharger quoi que ce soit de votre disque dur en vaut la peine; Si vous avez 1 Go de merde à lire sur le disque et que 200 Mo sont mis en cache sur un cache readyboost, cela représente 200 Mo de moins qui doivent être lus à partir du disque et peuvent se produire parallèlement aux lectures du disque dur.
antiduh

Réponses:

17

Bcache pourrait être exactement ce que vous cherchez:

Bcache est un cache de couche de bloc noyau Linux. Il permet à une ou plusieurs unités de disque rapides telles que des unités SSD basées sur Flash de faire office de cache pour une ou plusieurs unités de disque dur plus lentes.

J'attends avec impatience son inclusion dans la ligne principale de Linux, mais malheureusement, il n'est toujours pas tout à fait là .

Quelques informations agréables et lisibles sont également disponibles ici:

Essayez-le et voyez comment cela fonctionne sur votre système!

svenx
la source
5

Il n'y en a pas, et cela n'a plus vraiment de sens.

ReadyBoost était utile pendant une courte période lorsque les machines étaient limitées en RAM, les lecteurs étaient lents et le flash était bon marché. Avec la RAM si bon marché maintenant, il est beaucoup plus logique d'utiliser à la place de la RAM.

Les lecteurs flash typiques ont de nos jours des vitesses d'écriture d'environ 5 Mo / s et des vitesses de lecture d'environ 20 Mo / s. Comparez cela aux 50 Mo / s de lecture et d'écriture de votre disque dur et cela ne semble pas être très utile.

Les avantages réels de ReadyBoost en termes de performances ne sont visibles que sur les systèmes fortement limités en mémoire.

David Schwartz
la source
3
Serait-il sensé de dire une tablette ou un netbook qui aurait une mémoire RAM limitée? De plus, je pensais que l'idée derrière ReadyBoost n'était pas tellement qu'elle accélérait les lectures / écritures, mais qu'elle réduisait considérablement les temps d'accès aléatoire (un HD traditionnel aurait un temps d'accès aléatoire d'environ 17 ms alors qu'un lecteur flash aurait probablement ont <1 ms).
Nathan Osman
Réduire le temps d'accès aléatoire revient à accélérer les lectures. Cela n'a jamais de sens par rapport à l'ajout de RAM supplémentaire. C'était fondamentalement un colmatage pendant une courte période lorsque l'ajout de RAM n'était pas pratique.
David Schwartz
4
Sauf que la RAM doit être remplie en essayant d'accéder aux fichiers avant de pouvoir bénéficier d'un accès futur, et cela doit être répété après chaque démarrage. Flash permet un cache persistant, il peut donc aider à accélérer le temps de démarrage.
psusi
J'ai depuis ajouté un SSD à ma machine qui tourne en rond même sur mon cher lecteur flash Corsair Survivor (qui a une vitesse de lecture de ~ 36 Mo / s).
Nathan Osman
1
J'ai voté contre. Readyboost n'a pas grand-chose à voir avec les contraintes de RAM. Il s'agit d'un cache de niveau bloc pour un disque dur qui présente deux avantages: 1) Il est accessible simultanément pendant l'accès au disque dur, agissant dans un sens comme un miroir de raid partiel. 2) Il peut être mis à l'échelle autant que vous le souhaitez, tandis que la RAM est souvent limitée par l'espace de la carte mère. Je peux acheter autant de lecteurs flash que je le souhaite et les coller sur chaque concentrateur racine (et donc ne pas partager la bande passante), et je peux les rendre aussi gros que je le souhaite. Bonne chance pour avoir 128 Go de RAM dans un ordinateur de bureau pour moins de 200 $
antiduh
3

ZFS est originaire de Solaris en 2004 et maintenant disponible dans quelques Unices, y compris FreeBSD et Linux (bien que sous Linux toujours en version bêta et pas dans le noyau principal en raison de problèmes de licence), permet également d'ajouter un ou plusieurs caches secondaires appelés L2ARCsur n'importe quel périphérique de bloc pour ce même genre de but.

Stéphane Chazelas
la source
2

Je me suis posé la même question, et n'étant pas satisfait des réponses actuelles ici, j'ai fait un peu de recherche par moi-même. Cela n'a pas été testé jusqu'à présent, mais les modifications apportées à cet article sur Linux 3.9 ont fourni un point de départ utile. Il mentionne trois technologies qui devraient produire des effets similaires à ReadyBoost, bien que parfois l'accent semble être mis sur la mise en cache des écritures au lieu des lectures. Des recherches plus approfondies en ont trouvé encore plus.

Je mettrai probablement à jour cette réponse une fois que j'aurai acquis une expérience de première main avec au moins l'un d'entre eux. Jusque-là, la recherche sur le Web avec l'un de ces noms comme mot-clé devrait produire une bonne quantité de tutoriels, de descriptions, d'opinions et de références.

MvG
la source
1

Je n'ai pas trouvé un tel module pour Linux mais DragonFly BSD a quelque chose d'équivalent à Windows ReadyBoost. La fonctionnalité est appelée SwapCache. Il utilise une partition de swap rapide (SSD / Flash) pour mettre en cache les données et les métadonnées d'un autre lecteur (HDD).

La page de manuel explique comment configurer les informations à mettre en cache. Il décrit les cas d'utilisation et quand et comment utiliser un tel mécanisme de mise en cache. Cela semble intéressant lorsque le système n'échange que de temps à autre (c'est-à-dire que la quantité de RAM est légèrement courte) ou pour les lectures et écritures fréquentes de métadonnées.

Futal
la source
0

Linux a cachefs, qui vous permet d'ajouter un système de fichiers de cache de sauvegarde à n'importe quel système de fichiers. Il a été initialement conçu et publié en 1993 par Sun Microsystems pour une utilisation avec NFS, et a été rapidement copié par d'autres systèmes de type Unix. Alors oui, c'est déjà là et ça fait des années. :)

geekosaure
la source
8
Ce n'est même pas correct à distance. Voyez par vous-même dans l'entrée de Wikipedia sur le sujet: en.wikipedia.org/wiki/CacheFS
Oui, malheureusement, CacheFS ne fonctionne pas sur les systèmes de fichiers du disque local. Théoriquement, cela pourrait l'être, mais le travail pour ajouter le support aux systèmes de fichiers locaux communs n'a pas encore été fait.
psusi
-1

Eh bien, d'après ce que je comprends, Readyboost est essentiellement une extension du fichier d'échange, qui est comparable à la partition de swap sur FreeBSD (qui je pense serait similaire sous Linux), donc vous pourriez peut-être simplement faire une partition que le lecteur flash aura une partition d'échange sur elle.

Cependant, je ne sais presque rien de ces choses.

user142852
la source
5
Notez que l'utilisation intensive du swap dans un lecteur flash peut être nocive pour la mémoire flash, en raison des limitations du cycle d'écriture.
Renan