jueves, 2 de febrero de 2017

RAMDisk benchmarks. SoftPerfect vs. Radeon RAMDisk – ProfessionalSAT

Los discos RAM o RAM Disks son una de las maneras más inmediatas de acelerar nuestra máquina en las tareas diarias.

DDR4Un rasgo significativo y diferenciador de un DIMM DDR4 es su parte inferior protuberante.

Un disco RAM no es más que una emulación de un disco duro en el que leer, esccribir o incluso instalar aplicaciones como en cualquier disco duro o SSD convencional. Este disco reside en la memoria RAM de nuestro equipo.

Para crear el disco RAM es necesario instalar un driver (diferente en cada caso) y una aplicación que lo gestione. De echo en función del driver instalado variará la velocidad del RAM disk en diferentes cargas de trabajo.

DDR4-DIMMExcepto para frecuencias absurdamente elevadas el radiador es “estético”.

Siendo estricto, la velocidad de un disco RAM depende de varios factores:

En primer lugar de la velocidad del hardware de nuestra máquina, en especial:

    • Tipo de procesador, frecuenciay número de threads paralelos.
    • Velocidad y latencia de la memoria RAM DDR3 / DDR4.
    • Configuración del bus de memoria single / dual / triple / quad channel DDR3 / DDR4.
    • Configuración del sistema operativo y tipo (32 bit o 64 bit).

Quad-Channel-DDR4Un quad channel DDR4 asegura velocidades extremas.

En segundo lugar depende y mucho del fabricante del software RAM Disk. Hay muchos y no están igual de optimizados y por ello no proporcionan la misma velocidad…

SoftPerfect RAMDisk vs. Radeon RAMDisk

Ambos programas realizan la misma función, ambos son gratuítos y trabajan sobre la misma máquina aunque como veremos su velocidad no es ni parecida.

Otro factor a tener en cuenta es el Plan de Energía que tengamos configurado en Windows.

Radeon RAMDisk en Windows 8.1 x64 configurado en Balanced – Equilibrado.

imageRadeon RAMDisk – Balanced – Equilibrado.

Radeon RAMDisk en Windows 8.1 x64 configurado en Performance – Alto Rendimiento.

imageRadeon RAMDisk – Performance – Alto Rendimiento.

SoftPerfect RAMDisk en Windows 8.1 x64 configurado en Balanced – Equilibrado.

image SoftPerfect RAMDisk – Balanced – Equilibrado.

SoftPerfect RAMDisk en Windows 8.1 x64 configurado en Performance – Alto Rendimiento.

imageSoftPerfect RAMDisk – Performance – Alto Rendimiento.

Carlos Yus Valero – informaticapremium      informaticapremium-logo-150px[3]

AMD Steamroller. Introducción – ProfessionalSAT

Os dejo aquí un enlace al primer artículo en LowLevelHardware  de una serie en la que analizo la nueva iteración de la micro arquitectura Bulldozer y las consecuencias que traerá consigo para AMD y el mercado de micro procesadores en general.

AMD Steamroller. Introducción – LowLevelHardware

Si consideras útil el contenido de este Blog, ayuda a mantenerlo ojeando algunas de las ofertas que consideres interesantes de nuestros anunciantes. Gracias de antemano.

El que tenga dudas o aportaciones tiene para ello la sección de comentarios, intentaré responder a todos y con la máxima claridad. Los Blogs deben de ser lugares de intercambio y agradezco vuestro feedback.

Carlos Yus Valero – informaticapremium      informaticapremium-logo-150px[3]

SSD Overprovisioning – ProfessionalSAT

Overprovisioning, o la reserva de un espacio sin particionar en un dispositivo de memoria no volátil (como ejemplo un disco SSD), es una de las maneras más simples de incrementar su rendimiento y su longevidad.

NAND_chip_16nm_MICRONUn chip de memoria NAND Micron de 16 nm.

El espacio que destinamos al overprovisioning o sobre aprovisionamiento (como lo llama Samsung) lo utiliza la lógica integrada en el dispositivo (controladora, memoria RAM, firmware) como una especie de espacio de trabajo temporal para tareas internas de reorganización de datos que se llevan a cabo en segundo plano y que son críticas para el rendimiento así como para la duración en el tiempo de la memoria NAND.

Las funciones que se llevan a cabo en el espacio de varios GB (de 10 a 50 normalmente) que reservamos en nuestro SSD mediante overprovisioning son las siguientes:

Wear Leveling, la controladora equilibra el número de escrituras en todas las celdas NAND. Monitoriza el número de escrituras de cada celda para no sobrecargar y desgastar celdas individuales.

Bad block management, la controladora retira los bloques de memoria NAND que han superado el número de escrituras máximo permitido o los que han fallado en escritura, lectura o comprobación.

Garbage Collection, consolida datos de usuario o sistema y borra efectivamente bloques con datos inválidos (datos marcados como borrados por el sistema operativo).

Samsung_overprovisioningSamsung Magician. Overprovisioning en un Samsung 840 Evo, 10.57 GB.

Por ejemplo, los Samsung 840 Evo y los Samsung 850 Evo de 1 TB, integran una controladora llamada MEX.

Samsung-850-EVO-1TBPCB del Samsung 850 Evo 1 TB.

Con 3 cores ARM Cortex R4 a 400 MHz, que son los encargados de todo el procesamiento, para ello cuentan con una memoria RAM local de 256 MB a 2 GB según la capacidad del SSD.

Cortex-R4-chip-diagram-LGARM Cortex R4.

Ventajas del Overprovisioning

Aumenta la velocidad de nuestro SSD de modo importante en tareas cotidianas y especialmente en cargas de trabajo I/O sostenidas.

Reduce el fenómeno de Write Amplification (WAF), es decir, el espacio efectivo que se escribe en las celdas NAND respecto a las peticiones de escritura del sistema operativo.

Aumenta y mucho la vida útil del dispositivo.

Reduce la tasa de fallos de las celdas NAND, con lo que hace más fiable el dispositivo SSD.

NAND_chip_16nm_MICRON_24 chips NAND de 128 Gb Micron 16 nm.

Desventajas del Overprovisioning

Hay que dedicar tiempo a configurarlo, normalmente “a mano” o con utilidades como Samsung Magician.

Reduce el espacio efectivo para nuestros datos. La recomendación general es reservar un 10% del espacio del SSD para Overprovisioning, aunque con un 20% o 30% todavía sigue aumentando el rendimiento.

Conclusiones

No he montado nunca ni un solo SSD sin Overprovisioning, con eso lo digo todo, ni en las lejanas épocas de los Intel X25M de 80 GB. Allá por 2009…

Las ventajas de su implementación superan con creces sus contras y hacen que el dispositivo NAND  sea mucho más rápido y confiable.

Si consideras útil el contenido de este Blog, ayuda a mantenerlo ojeando algunas de las ofertas que consideres interesantes de nuestros anunciantes. Gracias de antemano.

El que tenga dudas o aportaciones tiene para ello la sección de comentarios, intentaré responder a todos y con la máxima claridad. Los Blogs deben de ser lugares de intercambio y agradezco vuestro feedback.

Carlos Yus Valero – informaticapremium      informaticapremium-logo-150px[3]

Intel Skylake Prime95 freeze bug – ProfessionalSAT

Prime95 y yo somos viejos conocidos…

Prime95_x64Ya hace años que utilizo asiduamente este software para garantizar la estabilidad de todos mis Sistemas de Altas Prestaciones y he escrito varios artículos sobre su funcionamiento, como por ejemplo este de 2009:

Sistemas de altas Prestaciones. Metodología de validación – ProfessionalSAT

Prime95 supone un gran stress para la máquina y un excelente método de validación de sistemas.

Además, es puede configurar la carga de proceso de coma flotante de varias maneras para someter al sistema a distintos tipos de cálculos. De este modo testeamos las cachés L1, L2, L3, más o menos memoria RAM y las unidades de coma flotante con distintos juegos de instrucciones.

El error de cáculo de Skylake en Prime95 - Skylake Prime95 freeze

El bug en cuestión, concretamente un error de cálculo (error de precisión), ocurre cuando se dan las siguientes condiciones:

Activar el juego de instrucciones AVX de 256 bit FPU en Prime95 en una CPU Intel Skylake.

Activar  HyperThreading.

De echo el error no es general en cualquier cálculo en Prime95 sino en caso de ciertos exponentes aislados y para ciertos tamaños FFT (768 KB).

Skylake incorpora unidades de coma flotante AVX2 / FMA (Fused Multiply Add), al igual que Haswell 22 nm y Broadwell 14 nm, con juego de instrucciones Intel FMA. Gracias a estas unidades FMA disponibles desde Haswell se consigue el doble de potencia FPU en cálculos combinados suma / multiplización.

AVX2_FMA3_HaswellHaswell introdujo las unidades FPU FMA que doblaron el ancho de banda en cálculo FPU.

Y redujeron la latencia (1.6 veces inferior) en operaciones combinadas suma / multiplicación respecto a las CPUs anteriores (IvyBridge 22 nm, SandyBridge 32 nm, …)

FMA3_FLOPS_LATFMA3 aporta una mejora de un factor 1.6X en latencia.

Usando AVX2 / FMA3 en Prime95 NO se produce ningún resultado erróneo en los cálculos, por ello hay que forzar el code path AVX en la configuración de Prime95 para detectar el error de cálculo.

La solución de Intel al error de Skylake

La solución propuesta consiste en una simple actualización de BIOS. Lo importante es saber si tendrá consecuencias mensurables en rendimiento. A día de hoy y sin conocer las causas hardware concretas es imposible saberlo.

Lo que está claro es que algo chirría en la implementación de las unidades FPU FMA en Skylake.

Probablemente en las loockup tables de las funciones trigonométricas empleadas en los cálculos FFT (Fast Fourier Transform) que ejecuta Prime95 para su análisis de números primos.

Algunos de mis artículos sobre Prime95:

Stress test de procesador. Prime95 2.65 X64 – SATSoftware
Sistemas de altas Prestaciones. Metodología de validación – ProfessionalSAT
Increíble pero cierto – ProfessionalSAT
Tipos de errores en Prime95
Degradación física de la memoria DDR3 en cargas de trabajo de saturación – ProfessionalSAT
Prime95. Torture test – SATSoftware

Este problema de Intel con Skylake me recuerda un affaire que tuve con Intel y Dell allá por 1994 – 1995 del que próximamente escribiré un artículo… No sé si a muchos de vosotros os sonará el asunto… el Pentium FDIV bug.

Si consideras útil el contenido de este Blog, ayuda a mantenerlo ojeando algunas de las ofertas que consideres interesantes de nuestros anunciantes. Gracias de antemano.

El que tenga dudas o aportaciones tiene para ello la sección de comentarios, intentaré responder a todos y con la máxima claridad. Los Blogs deben de ser lugares de intercambio y agradezco vuestro feedback.

Carlos Yus Valero – informaticapremium      informaticapremium-logo-150px[3]

Windows Boot Defrag. Desfragmentación de arranque – SATSoftware

A día de hoy es común ver la mayoría de máquinas nuevas de gama media y alta con un disco SSD (en sus variantes SATA, M2, PC Express…) de más o menos capacidad para el arranque del sistema operativo.

Intel_SSD_Placa

Aquí os dejo una sencilla optimización para mejorar los tiempos de arranque especialmente indicada para aquellos que todavía no habéis llegado a la era de alta velocidad SSD y continuáis utilizando discos duros convencionales (mecánicos) en la unidad de arranque.

Los que ya dispongáis de disco SSD, también ganaréis algunos segundos aunque la mejora será más sutil.

Con este sencillo comando ejecutado en el símbolo de sistema CMD de Windows forzaremos la desfragmentación y consolidación de todos los ficheros de arranque de vuestro sistema operativo Windows.

Boot_Defrag_SSD_Core_i7_crop_1Desfragmentación de arranque: Defrag c: /b

Es crítico señalas que este comando utiliza los datos generados durante los arranques anteriores en forma de archivos Prefetch, por ello es importante NO eliminarlos con utilidades como CCleaner, Glary Utilities y similares.

BootDefrag_failSi hemos eliminado ficheros de Prefetch, Defrag c: /b nos dará un error.

Durante el arranque del sistema, Windows crea un registro, una traza, de todos los archivos accedidos y del orden de acceso. A los seis arranques aproximadamente podemos decir que quedan ya estabilizados estos logs y Windows puede crear ya un itinerario fiel de archivos de arranque.

Los archivos de Prefetch se guardan en la carpeta Windows > Prefetch.

Configuración de CCleaner 5.11

Para que CCleaner no borre nuestros archivos de Prefetch debemos desmarcar una casilla:

CCleaner_PrefechDesmarcar “Datos antiguos de Prefetch”.

Si no lo hacemos nos dará un mensaje de error al lanzar el comando Defrag c: /b.

Configuración de Glary Utilities

En Glary Utilities vamos a configuración y desmarcamos Datos Prefetch Antiguos.

GlaryUtilities_PrefetchDesmarcar “Datos Prefetch antiguos”.

En el símbolo del sistema

Si teníamos marcadas las opciones que comento más arriba en CCleaner o Glary Utilities no funcionará el comando por falta de logs de arranque.

Deberemos de reiniciar la máquina unas cuantas veces, dejando cada vez en reposo en el escritorio el equipo hasta que veamos reducida la actividad de disco (habrá terminado de cargar todos los archivos de arranque).

A los 6 reinicios aproximadamente ya podremos ejecutar el comando, dando el siguiente resultado:

Boot_Defrag_SSD_Core_i7_crop

Personalmente lo he probado en máquinas muy dispares, todas con Windows 7 X64 SP1:

  • Core 2 Duo con 4 GB y un SSD Kingston V300 120 GB.
  • Core 2 Quad con 8 GB y 4 HDs mecánicos WD 5000AAKS en RAID 10 (0+1).
  • Core i7 3770K @ 4.4 GHz con 8 GB DDR3 2400 11 11 11 30 y un SSD Samsung Evo 850 250GB.
  • Core i7 4790K @ 4.4 GHz con 32 GB DDR3 2400 11 11 11 30 y dual SSD Samsung 850 Pro 250 GB en RAID 0 + RAID 10 de 6 HDs 4 TB Seagate.

En todas ellas he notado mejora con cronómetro en mano, también en los sistemas con SSD, pese a lo que se lee por ahí.

Por ejemplo, el Ci7 3770K @ 4.4 GHz con SSD Samsung Evo 250 GB ha pasado de una media de 14 s a 10,5 s de tiempo de arranque total.

En los equipos con HD mecánico y disco duro SIN desfragmentar la mejora es espectacular, aunque el proceso puede llevar hasta 1h... No es descabellado que dividamos por 5 el tiempo de arranque. Si ya partimos de un HD mecánico desfragmentado, la mejora es más leve aunque siempre notoria.

Os animo a hacer vuestras pruebas y a comentar más abajo los resultados.

Si consideras útil el contenido de este Blog, ayuda a mantenerlo ojeando algunas de las ofertas que consideres interesantes de nuestros anunciantes. Gracias de antemano.

El que tenga dudas o aportaciones tiene para ello la sección de comentarios, intentaré responder a todos y con la máxima claridad. Los Blogs deben de ser lugares de intercambio y agradezco vuestro feedback.

Carlos Yus Valero – informaticapremium      informaticapremium-logo-150px[3]