jueves, 2 de febrero de 2017

Memset 4.0: Optimización extrema Intel Core2Quad P35. Actualizado – SATSoftware

En el artículo anterior hablé sobre este avanzado software para ajustar al máximo el rendimiento del subsistema de memoria de nuestro chipset, aquí trataré en detalle un caso concreto.

penryn_dies_IMG_5778

Wafer de procesadores Penryn 45 nm. Dos de ellos componen un Core2Quad.

La diferencia que podemos lograr sobre el rendimiento nominal puede ser muy elevada, todo depende de nuestros conocimientos sobre timings de memoria, nuestra experiencia y sobretodo de la revisión concienzuda de los datasheets del chipset que estemos utilizando.

P35

En este caso hablaré del clásico Intel P35. Un económico y rapidísimo chipset de Intel para plataformas de socket 775, especialmente Core2 Duo y Quad en sus versiones de 65 y 45 nm.

Configuración del sistema de utilizado en las pruebas que es desde el que escribo este artículo:

  • Procesador Intel Core 2 quad 9450, 2.66 GHz, 6 + 6 MB L2, 45 nm, Penryn
  • Placa base ASUS P5K-E, WiFi, eSATA, IEEE1394
  • 2 x 2 GB Kingston HyperX DDR2 800
  • Refrgerador Artic Cooling Freezer 775
  • ATI HD4850 512 MB GDDR3

Cada uno de estos componentes ha sido modificado para obtener las máximas prestaciones, aquí detallo como:

Intel Core 2 Quad 9450

El Intel Core 2 Quad 9450 junto a su hermano el 9550 son los procesadores de Intel óptimos para obtener las máximas prestaciones sin dejar a cero nuestra cuenta bancaria ya que tenemos una L2 de 6 + 6 MB que reduce mucho los accesos a memoria principal.

De los 2.66 GHz he elevado el reloj a 3.2 GHz mediante el aumento de la frecuencia del FSB del iP35 hasta los 1600 MHz manteniendo el voltaje de CPU a solo 1.250 V. Un excelente resultado para 3.2 GHz.

Asus P5K-E iP35

Configuración BIOS:

BIOS_P5KE_01

Ajustes manuales de BIOS.

  • CPU Ratio: 8 (el máximo en el C2Q9450 para una frecuencia de 3.2 GHz)
  • FSB Strap: 400 MHz
  • FSB: 400 MHz (1600 efectivo)
  • PCIEx: 100 MHz
  • Overclock de memoria DDR2 800 a 1066 MHz
  • Timings manuales a 2N y 5-5-5-15

BIOS_P5KE_02

Ajustes finos del Northbridge y controladoras de memoria.

  • DRAM Static Read Control: enabled
  • Transaction Booster: enbled
      • Boost level: 1
  • Load Line Calibration: disabled
  • CPU y NB GTL voltage: AUTO
  • Spread Spectrum: disabled

Todos los voltajes han sido ajustados manualmente al mínimo valor absoluto, excepto el del procesador que ha sido ajustado a un valor muy bajo, 1.250V.

BIOS_P5KE_03

Temperaturas y voltajes en BIOS.

Memoria Kingston HyperX DDR2 800

Estos excelentes módulos permiten un fácil overclock en la placa base adecuada. En este modelo de Asus (P5K-E) funcionan perfectamente a 1066 con timings de 5-5-5-15 2N a un voltaje de tan solo 2.0V. Es un resultado excepcional, sobretodo por lograrse con solo 2.0V.

En cambio en la Gigabyte GA-P35 DS3R de mi otro sistema Core2Quad es imposible hacerlas funcionar a 1066 independientemente del voltaje aplicado, y por ello las tengo a 800 MHz 4-4-4-12 también a 2.0V.

Temperaturas del sistema

Temperaturas en reposo:

SpeedFan_reposo

Como vemos, mientras escribo este artículo rondan los 33 – 39 ºC dependiendo del núcleo y el voltaje efectivo se mantiene sobre 1.20V.

Temperatura en carga máxima, WinRAR Multithreaded:

WinRAR

Unos 47ºC máximos en WinRAR multithreaded.

Temperatura en carga máxima (sistema), Prime95 Blend:

P95Blend

Rondan los 54 – 56 ºC en P95 Blend.

Temperatura en carga máxima (procesador), Prime95 SFFT:

P95SFFT

En P95 SFFT se estabiliza sobre los 58 ºC.

Memset 4.0

Captura de pantalla de los ajustes:

Memset4

Como vemos timings de 5-5-5-15 2N y un brillantísimo Performance Level de 5 con un FSB 1600 y RAM dual channel (4GB) a 1066.

Resultados prestacionales

WinRAR multithreaded cuatro núcleos:

WinRAR_MT

Una sola instancia de WinRAR = 2340 KB/s.

Dos instancias de WinRAR multithreaded:

WinRAR_dos_instancias

Dos instancias concurrentes de WinRAR. 1394 + 1245 = 2639 KB/s.

Como vemos, dos instancias de WinRAR  concurrentes dan un rendimiento agregado superior, concretamente 2639 KB/s. Pero todavía lo podemos optimizar algo más …

Dos instancias de WinRAR multithreaded asignadas manualmente a los núcleos:

Una instancia asignada a las CPUs lógicas 0 y 1 y la otra a las CPUs 2 y 3.

WinRAR_dos_instancias_affinity

Rendimiento agregado de 1423 + 1433 = 2856 KB/s.

Una instancia asignada a las CPUs lógicas 0 y 2 y la otra a las CPUs 1 y 3.

WinRAR_dos_instancias_affinity02_13

Rendimiento agregado de 1226 + 1208 = 2434 KB/s.

Como vemos, un rendimiento inferior al caso anterior, la explicación es la siguiente:

(Recomiendo consultar el siguiente artículo de LowLevelHardware).

El procesador Core 2 Quad Penryn 45 nm

El procesador C2Q de la serie 9000 está basado en dos dies Penryn dual core de 45 nm cada una de ellas con dos núcleos de ejecución y 6 MB de L2 de 24 vías con 15 ciclos de latencia load-to-use.

Harpertown

En Windows, la asignación de núcleos es la siguiente:

Harpertown_coresComo vemos, los núcleos 0 y 1 comparten la L2, e igualmente lo hacen el 2 y 3.

Por lo dicho, si ejecutamos un programa como por ejemplo 7zip, que utiliza solamente dos núcleos es mucho más eficiente asignarlo manualmente a los cores 0 y 1 o 2 y 3. En cambio, si un algoritmo utiliza los núcleos 0 y 2 estará trabajando en dos L2 de 6 MB separadas, lo que haré su trabajo menos eficiente por la lentitud de comunicación entre ambas (por el FSB).

Para un análisis detallado de este tema recomiendo un artículo de Marzo  y otro de Dicienbre de 2008 de LowLevelhardware:

Everest 4.60

cpuid En reposo, 2.4 GHz y 1.224 V.

cpuid_32

En carga 100%, 3.2 GHz y 1.208V gracias al Vdroop.

cachemem

8923 MB/s y solo 54.3 ns de latencia.

Son resultados sobresalientes, sobretodo la latencia de 54.3 ns (que significa unos 173.76 ciclos (54.3*3.2) de acceso a memoria cuando fallan las L1 y L2). Un Core i7 en OC a 3.5 GHz y con timings ajustados consigue unos 36 ns o sobre 126 ciclos con un triple canal DDR3 1333 8-8-8-24 1T.

En cuanto al ancho de banda, consigue 8923 MB/s en lectura o un 69.7 % del pico teórico (12.8 GB/s con un FSB 1600).

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

5 comentarios:

  1. Un análisis muy bueno y detallado. Felicitaciones.

    ResponderEliminar
  2. Nos gustaría intercambiar enlaces con ustedes, contáctennos: contacto@creactivityfocus.com.

    ResponderEliminar
  3. HOLA LEI EL ANALISIS Y ME PARECIO EXELENTE TENGO UN PROCESADOR CORE 2QUAD Q8200 Y UNA PLACA ELITGROUND P356T-A ESTOS VALORES ASIGNANDOS PODRIAN SERVIRME A MI TAMBIEN??? QUIERO VES SI PUEDO SACARLE MAS RENDIMIENTO A MI PC SALUDOS Y ESPERO PUEDAN RESPONDER

    ResponderEliminar
  4. SORRY POR LO ANTERIOR ES P35T-A ESO Y UNA RAN DDR2 800 PERO NO ES KINSTONG

    ResponderEliminar
  5. Dudo mucho que en tu placa base sean aplicables estos ajustes. Son ajustes muy agresivos solo accesibles a hardware de primera línea.

    Deberías probar un ajuste cada vez, reduciendo las latencias paulatinamente con tests de estabilidad entre cambio y cambio.

    Saludos.

    Carlos Yus

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.