¿Linux equivalente a ReadyBoost?

19

¿Hay un módulo de kernel o algún otro parche o algo similar a ReadyBoost de Windows ?

Básicamente estoy buscando algo que permita que las lecturas de disco se almacenen en caché en una unidad Flash.

Nathan Osman
fuente
La unidad flash con usb 2.0 es realmente lenta, no sé por qué quieres hacer eso.
Margarita
1
@ warl0ck, no estoy de acuerdo, incluso con usb 2.0. USB 2.0 en un bus no asistido tiene un ancho de banda de 480 mbit / seg == 60 MB / seg. Incluso descontando, digamos 20 MB / seg de sobrecarga, eso sigue siendo una velocidad significativa. No importa que USB 3.0 se esté volviendo popular y tenga una capacidad de 5 Gbit / seg. No importa que valga la pena descargar algo de su disco duro; Si tiene 1 GB de basura para leer desde el disco, y 200 MB se almacenan en caché en un caché readyboost, eso es 200 MB menos que hay que leer desde el disco, y puede suceder en paralelo a las lecturas del disco duro.
antiduh

Respuestas:

17

Bcache podría ser exactamente lo que estás buscando:

Bcache es un caché de capa de bloque de kernel de Linux. Permite que una o más unidades de disco rápidas, como las unidades de estado sólido (SSD) basadas en flash, actúen como caché para una o más unidades de disco duro más lentas.

Espero ansiosamente su inclusión en la línea principal de Linux, pero desafortunadamente todavía no está allí .

Alguna información agradable y legible también está disponible aquí:

¡Pruébelo y vea cómo funciona en su sistema!

svenx
fuente
5

No hay ninguno, y realmente ya no tiene sentido.

ReadyBoost fue útil por un corto período de tiempo cuando las máquinas estaban limitadas en RAM, las unidades eran lentas y el flash era barato. Con RAM tan barata ahora, tiene mucho más sentido usar RAM en su lugar.

Las unidades flash típicas en estos días tienen velocidades de escritura de solo 5 MB / sy velocidades de lectura de aproximadamente 20 MB / s. Compare eso con los 50 MB / s de lectura y escritura de su disco duro y no parece tener mucho sentido.

Los beneficios de rendimiento del mundo real de ReadyBoost solo se ven en sistemas con mucha memoria limitada.

David Schwartz
fuente
3
¿Tendría sentido decir una tableta o netbook que tendría RAM limitada? Además, pensé que la idea detrás de ReadyBoost no era tanto que hacía que las lecturas / escrituras fueran más rápidas, sino que reducía significativamente los tiempos de acceso aleatorio (una HD tradicional tendría un tiempo de acceso aleatorio de alrededor de 17 ms, mientras que una unidad flash probablemente tener <1 ms).
Nathan Osman
Reducir el tiempo de acceso aleatorio es lo mismo que hacer que las lecturas sean más rápidas. Nunca tiene sentido en comparación con agregar más RAM. Básicamente fue una parada temporal durante un corto tiempo cuando agregar RAM no era práctico.
David Schwartz
44
Excepto que la RAM debe llenarse intentando acceder a los archivos primero antes de que pueda beneficiar el acceso futuro, y esto tiene que repetirse después de cada arranque. Flash permite un caché persistente, por lo tanto, puede ayudar a acelerar el tiempo de arranque.
psusi
Desde entonces, agregué un SSD a mi máquina que recorre incluso mi costosa unidad flash Corsair Survivor (que tiene velocidades de lectura de ~ 36 MB / s).
Nathan Osman
1
Yo voté en contra. Readyboost no tiene mucho que ver con las restricciones de RAM. Es un caché de nivel de bloque para un disco duro que tiene dos beneficios: 1) Se puede acceder simultáneamente mientras se accede al disco duro, actuando en cierto sentido como un espejo de incursión parcial. 2) Se puede escalar tanto como desee, mientras que la RAM a menudo está limitada por el espacio de la placa base. Puedo comprar tantas unidades flash como quiera y pegarlas en cada concentrador raíz (y, por lo tanto, no compartir el ancho de banda), y puedo hacerlas tan grandes como quiera. Buena suerte al tener 128 GB de RAM en un escritorio por menos de $ 200
antiduh
3

ZFS se originó en Solaris en 2004 y ahora está disponible en algunos Unices, incluidos FreeBSD y Linux (aunque en Linux todavía en beta y no en el núcleo principal debido a problemas de licencia) también permite agregar uno o más cachés secundarios llamados L2ARCen cualquier dispositivo de bloque para ese mismo tipo de propósito.

Stéphane Chazelas
fuente
2

Me he estado haciendo la misma pregunta, y no estoy satisfecho con las respuestas actuales aquí, investigué un poco por mi cuenta. Esto no se ha probado hasta ahora, pero este artículo sobre los cambios de Linux 3.9 proporcionó un punto de partida útil. Menciona tres tecnologías que deberían lograr efectos similares a ReadyBoost, aunque a veces el enfoque parece estar en el almacenamiento en caché de las escrituras en lugar de las lecturas. La investigación adicional encontró aún más.

Probablemente actualizaré esta respuesta una vez que haya adquirido experiencia de primera mano con al menos uno de estos. Hasta entonces, buscar en la web con uno de estos nombres como palabra clave debería generar una buena cantidad de tutoriales, descripciones, opiniones y puntos de referencia.

MvG
fuente
1

No he encontrado un módulo para Linux, pero DragonFly BSD tiene algo equivalente a Windows ReadyBoost. La característica se llama SwapCache. Utiliza una partición de intercambio rápido (SSD / Flash) para almacenar en caché los datos y metadatos de otra unidad (HDD).

La página del manual explica cómo configurar la información en caché. Describe los casos de uso y cuándo y cómo utilizar dicho mecanismo de almacenamiento en caché. Parece ser interesante cuando el sistema está cambiando solo de vez en cuando (es decir, la cantidad de RAM es ligeramente corta) o para lecturas y escrituras frecuentes de metadatos.

Futal
fuente
0

Linux tiene cachefs, que le permite agregar un sistema de archivos de caché de respaldo a cualquier sistema de archivos. Originalmente fue diseñado y lanzado en 1993 por Sun Microsystems para su uso con NFS, y fue rápidamente copiado por otros sistemas similares a Unix. Entonces sí, ya está allí y lo ha estado durante años. :)

geekosaur
fuente
8
Esto ni siquiera es remotamente correcto.
Sí, desafortunadamente, CacheFS no funciona en sistemas de archivos de disco locales. Teóricamente podría, pero el trabajo para agregar el soporte a los sistemas de archivos locales comunes aún no se ha hecho.
psusi
-1

Bueno, por lo que entiendo, Readyboost es básicamente una extensión del archivo de paginación, que es comparable a la partición de intercambio en FreeBSD (que creo que sería similar en Linux), por lo que es posible que pueda hacer una partición para que la unidad flash tenga una partición de intercambio en él.

Sin embargo, no sé casi nada sobre estas cosas.

usuario142852
fuente
55
Tenga en cuenta que el uso intensivo de intercambio en una unidad flash puede ser perjudicial para la memoria flash, debido a las limitaciones del ciclo de escritura.
Renan