Acelerar disco duro con PrimoCache

acelerar disco duro con ramcache
Como acelerar un disco duro mecanico utilizando la memoria RAM en Windows


 ADVERTENCIA
Sigues esta guia bajo tu responsabilidad.


Todos sabemos que por lo general el mayor bottleneck de un PC es su almacenamiento, en especial si utiliza discos duros mecánicos, razón por la que desde hace unos años tenemos los SSD (Solid state drives) que utilizan memorias flash y permiten velocidades de escritura y lectura muy superiores a las de los discos duros tradicionales.

HDD vs SSD

Existen discos duros híbridos o SSHD, que no es mas que un disco duro mecánico con un buffer/cache de alta capacidad (en GBs), ofreciendo por supuesto un rendimiento superior al de un disco duro mecánico convencional.

disco duro hibrido

Siguiendo la idea anterior, si cuentas con un SSD y un disco duro, es posible particionar tu SSD para usar una porción de este como cache del disco duro mecánico y así acelerar enormemente sus tasas de transferencia de datos.

Sin embargo, mas rápida aun es la memoria RAM (mas de 100 veces la velocidad de un SSD), si esa donde tu sistema operativo carga los procesos de todos los programas que se están ejecutando en primer y en segundo plano en tu PC. Lo que nos trae a los conceptos de RAMDisk y RAMCache.

RAMDisk: Es una unidad virtual (lo veras en el explorador de Windows y podras copiar, pegar e instalar programas en el) que utiliza parte de tu RAM como almacenamiento, los programas y archivos instalados en esta tienen una altísima velocidad de lanzamiento. Puede crearse y destruirse facilmente o bajo demanda, según la tarea que estés realizando. Dependiendo de la herramienta que utilices, también es posible usar un RAMDisk para luego usarlo como RAMCache

RAMCache: En este caso, se utiliza parte de la RAM como buffer/cache de uno o varios discos duros mecánicos, cargando aquí partes de los archivos mas usados, acelerando las operaciones cuando uno de los archivos necesarios es leído de la RAM y no del disco duro.

Debido a la naturaleza volátil de la memoria RAM, ningún dato se almacena realmente en ella al apagar/reiniciar el equipo, sino que se copia/carga del/al almacenamiento (HDD/SSD) en cada arranque y apagado. Esto se traduce en  mayores tiempos de apagado y arranque.

En esta entrada usaremos el programa PrimoCache, el cual permite crear caches en RAM y en SSDs/USB. Puedes crear cache Level 1 usando parte de la RAM. Y un cache Level 2 de mayor tamaño en una partición en un SSD o en una memoria USB 3.0 de alta velocidad.

La misma empresa ofrece Primo RAMDisk, sin embargo recomiendo herramientas gratuitas como AMD Radeon RAMDisk o DataRAM RAMDisk en caso de que quieras configurar un RAMDisk.






PrimoCache cuenta con un periodo de prueba de 60 dias luego del cual puedes adquirir una licencia.


Estas herramientas gratuitas son benchmarks de rendimiento para discos duros, permiten obtener valores de lectura y escritura en MB/s, debes medir entes de crear el cache y luego de crearlo de esta manera tendrás dos valores que comparar y así poder determinar cuan grande es la ganancia en rendimiento.

Recuerda que los benchmarks son solo números cuyo resultado con el máximo teórico posible de tu hardware, en la vida real (uso diario de la PC) las tasas de transferencia serán mucho menores.

benchmakrs sin primocache

Consideraciones para usar PrimoCache

El RAMCache debe ser creado en el espacio que siempre esta libre en tu RAM, esto dependera de cuanta RAM tengas y de cuanta memoria necesite tu flujo de trabajo en el equipo. En mi caso cuento con 8GB de RAM y solo destine alrededor de 1 GB al RAMCache, ya que de crear un cache mas grande los programas que mantengo abiertos se quedaría sin suficiente RAM y empezarían a utilizar el archivo de paginación (en el disco duro mecánico), haciendo que el equipo se vuelva lento y no responda. Por tanto, crea un cache de un tamaño acorde con la memoria que siempre tienes libre.

Los caches no deben ser excesivamente grandes o serán espacio desperdiciado. Por supuesto si tienes 16 GB de RAM o mas puedes permitirte un RAMCache decente (de varios GBs).

La estadística Cache Hit Ratio, que es el % de veces en las que se ha encontrado el archivo requerido en el cache debe estar por encima del 50%. De no estarlo tu Cache puede ser muy pequeño para tus necesidades.

Es completamente inútil crear un  cache Level 2 en un disco duro mecánico (suponiendo que tengas 2 discos duros mecánicos y quieras acelerar el principal), debes contar con un SSD o una memoria USB 3.0 o empeora el rendimiento en vez de mejorarlo. Miralo de esta forma: Necesitas un archivo, vas y los buscas en un cache un disco duro mecánico (lento) no lo encuentras, ahora debes buscarlo en el disco duro mecánico principal (lento).

PrimoCache permite acelerar lectura, lectura y escritura y solo escritura, los modos que incluyen escritura utilizan escritura diferida (en segundos) lo cual representa riesgo de perdida de datos frente una falla del sistema o de la energía eléctrica.

Los caches "aprenden", es decir, con el uso van colocando lo mas usado por el usuario en ellos y asi obtienen un hit ratio mayor.

El Cache Level 2 requiere particionar el disco SSD, puedes hacerlo con el Administrador de discos de Windows. Entre 10 y 20 GB son tamaños adecuados. Luego con PrimoCache convierte la particion en una particion de Cache L2.

Como acelerar disco duro con PrimoCache

1. Para comenzar a crear un nuevo cache lo primero es seleccionar la/las unidades o volumenes que deseas acelerar.

2. Seguidamente debes seleccionar el tipo de operación que deseeas acelerar según tus necesidades.

3.  Ahora vamos a configurar los parámetros de nuestro cache, hay varias opciones con las que podemos experimentar

En Level-1 Cache, OS Managed Memory es el tamaño de nuestro RAMCache, a esto debes sumarle el Memory Overhead para tener una idea de cuana RAM dejara de estar disponible para uso convencional.

En Level-2 Cache, podemos seleccionar la particion previamente creada en el SSD.

Block Size es el valor que dicta el tamaño del memory overhead, bloques as grande dan un overhead mas pequeño a costo de velocidad, mientras quebloques pequeños dan un memory overhead mas grande pero con mayor velocidad.

Defer-write, o escritura diferida se utiliza cuando aceleramos operaciones de escritura, aumenta la velocidad pero se corre el riesgo de perder datos ante una falla del sistema o del suministro electrico. La latencia es el numero de segundos que pasaran ára que los datos se copien del cache del SSD al disco duro mecanico. 

Prefecth last cache y Start at Windows boot, permiten tener el RAMCache listo al iniciar la PC, pueade aumentar el tiempo de arranque.

Lock Cache Content se usa una vez se ha conseguido un buen hit ratio, es decir, se ha "entrenado" efectivamente al cache y esta acelerando al disco duro con un hit ratio elevado. Este item permite guardar el contenido del cache y montarlo en cada arranque, es decir, el cache dejara de "aprender"



4. Luego de presionar Start y esperar por la creación del Cache, ya podemos ejecutar los benchmarks para ver el resultado.

Yo solo acelere las operaciones de lectura usando solo el cache Level 1.

benchmarks despues de primocache

Puedes eliminar el cache y jugar con sus valores hasta que consigues lo que se adapte a tu equipo y necesidades.

Recuerda darle suficiente uso a tu equipo para darle tiempo al cache de "aprender" que archivos se usan con frecuencia.





Comentarios