3 puntos por GN⁺ 2024-10-13 | 1 comentarios | Compartir por WhatsApp
  • Las mediciones reales del AMD EPYC 9575F muestran las diferencias reales de Turin al enfocarse en los cambios del subsistema de memoria para servidores, más que en repetir la explicación de los núcleos Zen 5
  • El ancho de banda de un solo hilo alcanza aproximadamente 52GB/s en lectura, 48GB/s en escritura y 95GB/s en add, mientras que la lectura del socket completo llega a casi el 99% de los 576GB/s teóricos
  • Turin para servidores usa 2 enlaces GMI con GMI3-W entre los CCD y el die de I/O, y el ancho del enlace de escritura también aumenta a 32B por enlace, por lo que el ancho de banda del CCD es mayor que en Zen 5 de escritorio
  • La latencia de memoria sin carga es similar a la de Genoa, pero la latencia entre núcleos sube frente a Genoa: ~45ns dentro del mismo CCD, ~150ns entre CCD y ~260ns entre sockets
  • El 9575F permite que sus 64 núcleos lleguen hasta 5GHz en un solo hilo y mantengan alrededor de 4.3GHz en Cinebench 2024 con 128 hilos, dejando claro su perfil como SKU empresarial de alta frecuencia y relativamente pocos núcleos

Los cambios de Turin vistos a través del EPYC 9575F

  • El análisis de Turin se basa en datos medidos directamente del AMD EPYC 9575F
    • Fue posible probar este CPU gracias a Jordan de StorageReview
    • Como los núcleos Zen 5 ya se habían tratado en móviles, escritorio y comparativas de variantes, esta vez el enfoque está en el subsistema de memoria
  • Las diapositivas del lanzamiento de Turin de AMD pueden verse en Serve the Home, pero aquí tienen más peso los datos de medición propios

Configuración GMI que aumenta el ancho de banda del CCD

  • En los resultados 1T, el ancho de banda de memoria de un solo hilo del EPYC 9575F está en este nivel
    • Lectura: alrededor de 52GB/s
    • Escritura: alrededor de 48GB/s
    • add, es decir Read-Modify-Write: alrededor de 95GB/s
  • Incluso un solo núcleo puede usar una parte importante del ancho de banda total de memoria del CCD
    • La lectura queda un poco por debajo de la mitad del ancho de banda total de lectura del CCD
    • La escritura representa cerca del 55% del ancho de banda total de escritura del CCD
    • add supera dos tercios del ancho de banda total de add del CCD
  • Esta diferencia proviene de la configuración GMI3-W de Turin para servidores
    • El EPYC 9575F tiene 2 enlaces GMI conectados al die de I/O
    • El Ryzen 9950X usa un solo enlace GMI
    • El enlace de escritura GMI para servidores es de 32B por enlace, más grande que los 16B por enlace de Zen 5 de escritorio

Memoria de 12 canales y rendimiento del socket completo

  • Turin admite memoria de 12 canales y puede llegar hasta DDR5-6400MT/s
    • DDR5-6400MT/s solo está soportado en ciertos sistemas validados
    • Esa velocidad solo es posible con una configuración de 1 DIMM por canal
  • El sistema de prueba funcionó con DDR5-6000MT/s
    • La mayoría de los sistemas admiten DDR5-6000MT/s con 1 DIMM por canal
    • Si se usan 2 DIMM por canal, la velocidad de memoria baja a 4400MT/s
    • En motherboards con 2 ranuras DIMM por canal, si se usa solo 1 DIMM por canal, se puede esperar 5200MT/s
  • El ancho de banda de lectura del socket completo del 9575F alcanza casi el 99% de los 576GB/s teóricos
    • Escritura: 435GB/s
    • add: 453GB/s
  • En la plataforma AMD Volcano también se midió el ancho de banda entre sockets entre 2 procesadores 9575F
    • Esa plataforma solo tiene 3 enlaces GMI entre ambos CPU
    • El resultado fue muy parecido al de la prueba de Bergamo, y ese sistema Bergamo también tenía la misma configuración de 3 enlaces GMI

Latencia bajo carga y latencia entre núcleos

  • La latencia de memoria de Turin sin carga es muy parecida a la de Genoa
  • En Hot Chips 2024, Ampere Computing publicó una gráfica de latencia de memoria bajo carga del chip AmpereOne y del CPU AMD Genoa, y a partir de eso se creó una prueba de latencia bajo carga similar
  • La prueba consiste en llenar el enlace IOD-CCD o el sistema completo de memoria con un benchmark de ancho de banda de memoria, y luego medir la latencia de memoria desde los núcleos o CCD restantes
    • En la prueba de un solo CCD, se ejecuta el benchmark de ancho de banda de memoria en 7 núcleos de un CCD y se mide la latencia en el octavo núcleo
    • En la prueba del sistema completo, se ejecuta el benchmark de ancho de banda de memoria en 7 CCD del 9575F y se mide la latencia en el octavo CCD
  • Bajo carga, el aumento de la latencia de memoria del 9575F es similar según la condición
    • Con carga en un solo CCD, aumenta unos 39ns frente al estado sin carga
    • Con carga en todo el sistema, aumenta unos 31ns frente al estado sin carga
  • La latencia entre núcleos subió frente a Genoa, y el aumento dentro del CCD es especialmente notable
    • Latencia intra-CCD: alrededor de 45ns
    • Latencia inter-CCD: alrededor de 150ns
    • Latencia socket a socket: alrededor de 260ns

Velocidad de reloj y posicionamiento del producto

  • En pruebas de un solo hilo, los 64 núcleos del EPYC 9575F pudieron alcanzar un máximo de 5GHz
  • En la prueba de ancho de banda de memoria, los 8 núcleos de un CCD pudieron funcionar a 5GHz
  • En Cinebench 2024, al usar los 128 hilos, mantuvo alrededor de 4.3GHz
  • Wendell de Level1Techs confirmó cerca de 4.9GHz all-core en una carga de trabajo de servidor web/transacciones TLS, que es una tarea menos vectorizada
  • La línea Turin ofrece tanto SKU de muchos núcleos como SKU de alta frecuencia
    • AMD tiene SKU de alto número de núcleos como 9755 y 9965
    • También ofrece SKU como el 9575F, con menos núcleos y frecuencias muy altas
    • El hecho de que 64 núcleos se consideren una “cantidad baja de núcleos” ya muestra cómo cambió el mercado de CPU para servidores
  • Turin se parece más a una evolución como la transición de Milan a Genoa —combinando más ancho de banda de memoria, más núcleos y una actualización de núcleos— que a una revolución brusca como el salto de Naples a Rome

1 comentarios

 
GN⁺ 2024-10-13
Opiniones en Hacker News
  • AMD EPYC 9175F es el más peculiar: 512 MB de caché L3 con 16 núcleos; parece pensado para clientes que quieren reducir el costo de licencias por núcleo.
    Si no fuera por eso, no tendría mucho sentido poner tan pocos núcleos en un chip tan caro. No sé si Oracle todavía usa este modelo de licenciamiento, pero si es así, ya debería dejarlo.
    También podría servir para casos como HFT, donde se busca la latencia mínima absoluta metiendo todo el algoritmo en L3, o quizá para usar solo los mejores núcleos de cada chiplet. Aun así, lo más probable es que sea por licencias de software.

    • La simulación de eventos discretos también es un buen ejemplo. Cosas como las redes neuronales de picos, si se quieren simular con precisión, se serializan mediante una cola de picos pendientes, así que en esencia son casi de un solo hilo.
      Lo mejor es mantener todo el estado en la caché local y ejecutarlo en el núcleo más rápido disponible. Si puedes correr 16 de estos en paralelo, reduces el espacio de búsqueda en esa misma proporción.
      En este tipo de problemas casi no hace falta preocuparse por la latencia entre CCD. Incluso si ejecutas algo como un algoritmo genético con cruces periódicos entre núcleos físicos, el requisito de ancho de banda entre núcleos es bajo.
    • Hay muchas aplicaciones de un solo hilo, y muchas veces es más barato gastar unos miles de dólares en un CPU ultrarrápido que decenas de miles en programadores para reescribir el código y paralelizarlo.
      Como se mencionó, si se trata de código de terceros del que no tienes el código fuente o los derechos, muchas veces reescribirlo ni siquiera es posible.
    • 512 MB de caché es sorprendente. Hace unos años me parecía increíble que la caché de un Xeon que usaba fuera tan grande como la RAM de los sistemas que usaba de niño; soy millennial, así que no hablo de máquinas antiguas tipo Commodore, sino de PCs reales que incluso corrían Quake.
      Pero 512 MB ya es bastante. Me pregunto si se podría cargar Puppy Linux entero en la caché L3.
    • MATLAB Parallel Server también usa licencias por núcleo.
      https://www.mathworks.com/products/matlab-parallel-server/li...
    • Muchos algoritmos están limitados por el ancho de banda de memoria. Incluso en estaciones de trabajo de 16 núcleos he corrido varias cargas donde el mejor rendimiento se obtiene con menos de 16 hilos.
      Es común probar un algoritmo con distintos números de hilos y luego usar el número óptimo. Los algoritmos intensivos en memoria suelen alcanzar su mejor rendimiento con una cantidad relativamente baja de núcleos.
  • Phoronix publicó recientemente una reseña comparando Turin Dense de 196 núcleos con AmpereOne de 192 núcleos.
    El precio recomendado de Ampere era de 5,500 dólares, mientras que el EPYC costaba 15,000 dólares; el Turin 196 ofrecía 1.6 veces más rendimiento, y Ampere era 1.2 veces más eficiente energéticamente.
    Según la reseña de Phoronix, en rendimiento real por dólar, el Ampere de 192 núcleos es 1.7 veces mejor que el Turin Dense de 196 núcleos. Con 5,500 dólares puedes comprar un CPU AmpereOne de 192 núcleos (274 W) o un CPU Turin Dense de 48 núcleos (300 W).
    Ampere planea lanzar el próximo año un producto de 256 núcleos, 3 nm y memoria de 12 canales, por lo que podría competir mejor con Turin Dense y Sierra Forest en rendimiento bruto. Su fortaleza actual es el rendimiento por dólar.
    También tengo mucha curiosidad por el rendimiento del chip de servidor de Qualcomm basado en Nuvia. Si las mejoras en núcleos ARM para clientes sirven como pista, será interesante ver cómo competirán los chips propios como AWS Graviton, Google Axion, Microsoft Cobalt, Nvidia Grace y Alibaba Yitian contra núcleos Neoverse más avanzados. Es Nuvia vs. ARM vs. AmpereOne.
    Probablemente estemos en una época dorada de los CPU de servidor. Hace apenas 7 años solo existía Intel Xeon, y ahora hay muchas opciones.

    • AMD también gana en rendimiento/W, lo cual es un resultado bastante significativo para quienes creían que X86 jamás podría igualar la eficiencia de ARM/RISC.
      Hoy en muchos centros de datos la disponibilidad de energía y el enfriamiento asociado son restricciones incluso mayores, así que esto es una buena señal para Turin.
    • En la comparación de rendimiento por dólar se está usando el modelo Turin con el precio recomendado más alto. Ese modelo no es el producto con mejor rendimiento por dólar, sino el que compran quienes quieren maximizar la densidad o el rendimiento por watt, y en eso supera a Ampere.
      Si solo se mira el rendimiento por dólar, habría que mirar los modelos Zen5 con menos núcleos, no Zen5c, y esos ofrecen el doble de rendimiento por dólar que el 9965 de 192 núcleos.
      La razón por la que el mismo enfoque no funciona tan bien con Ampere es que el modelo de 192 núcleos a 3.2 GHz ya está casi en el máximo rendimiento por dólar.
    • La diferencia es que los CPU EPYC se pueden conseguir, mientras que los CPU Ampere son difíciles de conseguir.
    • El precio recomendado de Ampere está bastante cerca de lo que realmente pagan la mayoría de los proveedores de sistemas. En cambio, se puede asumir que la mayoría de los proveedores compran EPYC o Xeon con descuentos de casi 50% sobre el precio recomendado.
    • Es una época realmente interesante, y la caída de Intel es muy lamentable. Aun así, como muchos venían advirtiendo, Intel debería haber previsto esta situación.
  • Es una escala realmente enorme. Hace apenas 20 años, los CPU tenían 1 o 2 núcleos cada uno, así que tener 4 núcleos en un servidor de doble socket era tener suerte.
    Ahora un solo servidor puede tener casi 400 núcleos. Claro, con núcleos ARM podría haber más, pero al menos por ahora no alcanzan este nivel de rendimiento.

    • Saturan dos NIC 400GbE con más de 700 hilos en 2 chips, y como son 500 W por chip, es menos de 2 W por hilo. Todo eso cabe en un paquete 2U.
      Hace 20 años eso habría sido equipo para varios racks.
    • En cambio, en aquella época probablemente se esperaba que con 20 años de avances los núcleos fueran 1000 veces más rápidos, pero en realidad están más cerca de unas 5 veces.
    • Me pregunto qué proporción de los trabajos de big data que se ejecutan en clústeres ahora sería mucho más rápida en una sola máquina grande usando duckdb en vez de Spark.
    • Hoy en día, la mayoría de los servicios pueden caber en un solo servidor y aun así atender a millones de usuarios al día.
      Si puedes alquilar un servidor dedicado potente por menos de 1000 dólares al mes y ahorrarte decenas de miles de dólares, me pregunto qué impacto tendrá eso en los servicios de nube excesivamente caros. Con ese dinero hasta podrías contratar a un administrador de tiempo completo y todavía te sobraría.
    • Cierto. Los primeros chips de servidor de doble núcleo salieron alrededor de 2005 con los Opteron Denmark/Italy/Egypt de 90 nm y los Xeon Paxville, y por lo que sé, en el lado de Intel no despegaron en serio hasta 2007.
  • Cuando Hetzner tenga servidores bare metal AMD Turin, me gustaría desplegar algo ahí. La generación anterior ya tenía buena relación precio-rendimiento, pero esta parece un escalón más arriba.

  • Todavía tengo un Dell PowerEdge de hace 12 años con Xeon dobles. Me pregunto cuándo empezarán a aparecer servidores EPYC de 1.ª generación baratos en eBay.

    • Los EPYC de 1.ª a 3.ª generación se pueden conseguir muy baratos, pero las motherboards son caras.
      Si tu objetivo principal no son los carriles PCIe y la capacidad de RAM, no recomendaría nada por debajo de 3.ª generación. Los CPU actuales de consumo general, aunque tengan la mitad o una cuarta parte de los núcleos, tienen mejor rendimiento de cómputo y consumen mucha menos energía.
    • Personalmente, EPYC de 1.ª generación no me parece muy buena opción porque existe la 2.ª generación, es más común y suficientemente barata. De hecho, en mi homelab uso un epyc 7302 con una motherboard MZ31-AR0.
      El rendimiento por núcleo es demasiado bajo, tiene problemas relacionados con NUMA y el proceso de fabricación también es peor. Los dies de cómputo de 2.ª generación son TSMC 7 nm.
    • No sé mucho de los chips EPYC, pero los equipos con Ryzen serie 5 estuvieron casi regalados en Amazon esa semana.
      Compré un 9 5950X por 242 libras.
    • No vale mucho la pena. Puedes comprar un 9654 en eBay por 2000 dólares y gastar 1000 dólares en la motherboard. El sistema completo ronda los 7000 dólares.
      O también se consiguen fácilmente combinaciones con algo como un Epyc 7282, y están bien.
    • Eso ya pasó, y el rendimiento no es gran cosa.
  • ChipsAndCheese es uno de los pocos medios tecnológicos nuevos que de verdad sabe de lo que habla. Es especialmente fuerte en benchmarks profundos como estos.
    Con la desaparición de sitios tecnológicos antiguos como Anandtech, TechReport y HardOCP, da gusto que haya un medio nuevo que pueda seguir ese estilo de artículos profundos de antes.

    • Curiosamente, Slashdot empezó originalmente en un sitio llamado Chips & Dips. Me pregunto si habrá una inspiración similar.
    • Creo que querías decir HardOCP.
    • Chips and Cheese me recuerda más que nada al desaparecido LostCircuits. La mayoría de los sitios tecnológicos se enfocan en listas de benchmarks de aplicaciones, pero C&C combina artículos largos sobre arquitectura con microbenchmarks de subsistemas, tal como hacía LC.
  • Para quienes no les gusta que se haya pasado a Substack, está https://old.chipsandcheese.com/2024/10/11/amds-turin-5th-gen...
    Al menos por ahora funciona.

  • Una pieza con solo 16 núcleos pero 512 MB de caché L3 claramente está pensada para cargas de trabajo específicas.

    • Oracle puede cobrar EE y sus opciones entre 40 000 y más de 100 000 dólares por núcleo, multiplicado por 0.5, y algunas cargas de trabajo son muy sensibles a la caché.
      Por eso, una configuración de 2 sockets con CPU de 16 núcleos[1] con mucha caché, alto ancho de banda, alta frecuencia y gran capacidad de memoria podría ser la más eficiente frente a más de 1 millón de dólares en costos de licencias.
      [1] https://www.amd.com/en/products/processors/server/epyc/9005-...
    • La topología de esta pieza es realmente peculiar. Físicamente es el mismo silicio que la pieza de 128 núcleos, pero con todos los núcleos desactivados en cada chiplet de cómputo salvo uno.
      Es decir, apagaron 112 núcleos y dejaron solo 16 para conservar la mayor cantidad posible de caché.
      Eso sí, como siempre tendrá que pasar por el bus entre chiplets, que es relativamente lento, la latencia entre núcleos no será buena.
    • Me pregunto si los chips AMD modernos pueden mapear la caché L3 para usarla como TCM en vez de como caché.
      Los procesadores no x86 antiguos soportaban esto, y muchas veces arrancaban en ese modo para poder inicializar el controlador de memoria. Si hoy todavía fuera posible, podría habilitar usos embebidos interesantes, como sistemas grandes sin DRAM.
  • Hay una parte que dice: “El sistema al que tuvimos acceso ejecutaba la memoria a 6000 MT/s, y DDR5-6000 MT/s es compatible en la mayoría de los sistemas con una configuración de 1 DIMM por canal. Con 2 DIMM por canal, la velocidad de memoria baja a 4400 MT/s, y si se usa 1 DIMM por canal en una motherboard de 2 DIMM por canal, esperen 5200 MT/s”. Me pregunto si todas esas velocidades son para memoria ECC.

    • Sí. Los servidores solo usan RAM ECC.