ArchiTecnologia

Aprendizaje abierto. Conocimiento libre.

ArchiTecnologia
AsesoramientoConsejosHardwareSupercomputación

Diferenciando las marcas de los procesadores HPC

Ya publiqué un artículo sobre las marcas y nomenclaturas que siguen los procesadores para uso doméstico, pero ahora me gustaría hacer lo mismo para intentar desenmarañar la confusión existente para el sector HPC. En este caso, los productos de AMD e Intel tienen numeraciones y marcas que pueden resultar complejas para el consumidor.

Para saber más sobre estos conceptos, te invito a leer el primero de los artículos, ya que allí muestro los detalles esenciales que no volveré a repetir en este otro artículo. Aquí paso directamente al grano para analizar la nomenclatura de los EPYC y Xeon, así como otros productos para HCP. Quizás te ayude si tienes que elegir un servidor para tu empresa en el futuro…

CPU

CPU HPC

En cuanto a productos destinados a sistemas HPC, se pueden encontrar algunos bastante populares. Actualmente, además de los típicos x86-64, POWER y SPARC, también ha irrumpido ARM con fuerza. No obstante, este tipo de productos son bastante más reducidos en cuanto a modelos diferentes y SKUs, por tanto, es más fácil identificarlos.

x86-64

En esta familia tenemos a dos fabricantes proveedores principalmente: AMD e Intel.

Puedes encontrar multitud de modelos de placa base MP (MultiProcessador) con dos o más sockets para instalar estos microprocesadores de la familia x86-64 y también otros basados en ARM, etc. Además de los fabricantes como ASUS, MSI, Gygabyte, etc., que ya conoces del sector consumo, también existen otros fabricantes muy conocidos en este sector, como Tyan, Supermicro, etc.

  • AMD EPYC: estos procesadores tienen una nomenclatura compuesta por 4 dígitos numéricos y una letra. Este número de serie se puede descomponer así:
    • Nnnnl:el primer dígito hace referencia al tipo de EPYC:
      • 7 es para identificar a los EPYC
      • 3 identifica a los EPYC Embbeded, es decir, la versión embebida.
    • nNNnl: las dos siguientes cifras es el SKU level, es decir, identificará el rendimiento dentro de un mismo tipo. Mientras más elevadas sean las cifras, mayor rendimiento. Por ejemplo, un 7702 y un 7742 se diferencian en que el primero tiene un TDP y una frecuencia, más bajos que el segundo. En este caso sería 2Ghz (3.25Ghz Turbo) vs 2.25Ghz (3.4Ghz Turbo) y 200 vs 225W.
    • nnnNl: el cuarto y último número se corresponde con la generación. Un uno para Zen, dos para Zen 2, y así sucesivamente.
    • nnnnL: finalmente, la letra puede que esté, siendo una P, o que no se encuentre. Si hay una P, significa que será una unidad idéntica, pero para Single-socket. Por ejemplo, un EPYC 7702 es igual al EPYC 7702P, solo que el primero es MP.
  • Intel Xeon: en el caso de Intel, su variedad es bastante más amplia y su nomenclatura algo más compleja para que el consumidor la identifique fácilmente.
    • Intel Xeon:
      • E: es la línea del producto puede ser E3, E5, y E7, para Workstation, Performance y Mision-critical respectivamente.
      • Familia de producto: este número de 4 dígitos se compone de tres campos:
        • Nnnn: es el número de CPUs que se pueden agrupar en una placa base. Puede ser:
          • 1 (single)
          • 2 (MP hasta 2 procesadores)
          • 4 (MP hasta 4)
          • 8 (MP hasta 8).
        • nNnn: el siguiente número es el tipo de socket. Puede ser:
          • 2: 1155, 1150 o BGA
          • 4: B o B3
          • 5: BGA
          • 6: R o R3
          • 8: 1567 o R1
        • nnNN: las dos últimas cifras identifican el rendimiento. Mientras más altos, mayores frecuencias de reloj tendrá. Puede ser 10, 20, 30, … Por ejemplo, un un E3-1220v2 y un E3-1230v2 se diferencian en que tendrán una frecuencia de 3.1 y 3.3Ghz respectivamente, con modos Turbo de 3.5 y 3.7Ghz respectivamente.
      • Letra: después de la numeración puede seguir una letra, aunque hay casos en los que no se especifica ninguna.
        • Ninguna: no hay características extra.
        • L: low-power, de bajo consumo.
        • W: es menos eficiente, pero de mayor rendimiento.
      • Versión: por último, existen también la versión:
          • En blanco: primera generación (Westmere / Sandy Bridge).
          • v2: segunda generación (Ivy Bridge).
          • v3: tercera generación (Nehalem).
          • v4: cuarta generación (Broadwell).
          • v5: quinta generación (Skylake).
    • Intel Xeon Scalable: en esta nueva gama de productos, la nomenclatura es algo diferente a la anterior. Se ha simplificado a 4 dígitos numéricos y una letra:
      • Nnnn: la primera cifra corresponde a la serie del Xeon a la que corresponde:
        • 3 (Bronze): 2 sockets, bajo rendimiento, RAS estándar.
        • 4 (Silver): 2 sockets, rendimiento medio, RAS estándar.
        • 5 (Gold): 4 sockets, rendimiento medio, RAS estándar.
        • 6 (Gold): 4 sockets, alto rendimiento, RAS avanzado.
        • 8 (Platinum): 8 sockets, máximo rendimiento, RAS avanzado.
        • 9 (Platinum): socket dual, mejor rendimiento multi-thread, RAS avanzado.
      • nNnn: la segunda cifra es la generación. Por ejemplo, 1 para la primera (Skylake-SP), 2 para la segunda (Cascade Lake-SP), y así…
      • nnNN: las dos siguientes cifras numéricas, las últimas de la serie, corresponden al identificador de rendimiento. Es decir, mientras mayor sea el número, mejor desempeño. Principalmente se refiere a mayor frecuencia de reloj.
      • L: la letra identifica características extra incluidas. Pueden ser:
        • Sin letra: no tiene ningún extra.
        • B: ?
        • F: integra Omni-Path Fabric.
        • L: soporte para memoria de hasta 4.5TB.
        • M: soporte para memoria de hasta 1.5TB en las series 8100 y 2TB para la serie 8200.
        • N: optimizado para aplicaciones de redes, incorpora tecnología Speed Select.
        • P: FPGA on-chip.
        • S: optimizado para aplicaciones de búsqueda.
        • T: soporte para temperaturas altas, durabilidad extendida.
        • U: soporte uniprocesador solo.
        • V: optimizado para virtualización.
        • Y: con tecnología Speed Select (Performance Profile).

Por cierto, en los Intel Xeon anteriores (3×00 y 5×00 Series), y para los AMD Opteron, las numeraciones eran algo diferentes a estos nuevos productos… También existían los Intel Atom para microservidores de bajo consumo y sistemas empotrados, aunque también están en desuso.

¿Más x86…?

Bien es cierto que también puedes encontrar los chips chinos Hygon Dhyana con tecnología licenciada AMD Zen (básicamente son unidades SoC con unidades EPYC modificadas). De hecho, los cambios son tan leves que apenas representan unas 200 líneas de código fuente específico para esta arquitectura cuando se analiza el kernel Linux.

En este caso, los Dhyana tiene numeraciones de serie similares a los EPYC, como los 3000 Series, 5000 Series y 7000 Series.

Otros

Además de los anteriores, también existen otros. Pero como he comentado anteriormente, al no haber tanta variedad, es más sencillo diferenciar entre CPUs de estas familias para HPC. De hecho, en muchas ocasiones simplemente hay una única variante de la versión actual. Así que me limitaré a listar algunos de ellos:

  • Oracle SPARC: actualmente comercializan clusters y servidores con el SPARC M8. Con ISA SPARC V9, 32 núcleos y hasta 256 threads (SMT8), 64MB de L3 por procesador, 128KB+256KB de L2 por core (para datos e instrucciones respectivamente), y 32+16KB de L1 por core (L1D y L1I respectivamente). La frecuencia llega a los 5Ghz. Están muy optimizados para los productos de Oracle, como sus bases de datos, Java, etc.
  • IBM POWER: actualmente se comercializan los POWER9 y POWER10, basados en la ISA Power ISA 3.0 y 3.1 respectivamente. Además, se pueden encontrar en package SCM y MCM o Multi Chip Module (DCM, es decir, dual en este caso).
    • El POWER9 puede llegar a los 4Ghz, con dos versiones de 12 cores (SMT8) y 24 cores (SMT4). Existe una versión marcada como SO (Scale Out) que está optimizada para dual-socket. La versión SU (Scale-Up) está optimizada para 4 o más sockets.
    • En el caso del POWER10 hablamos de frecuencias de 3.5Ghz a 4Ghz, con configuraciones de 15 cores (SMT8) y 30 cores (SMT4). Estos modelos aceptan de 1 a 16 sockets.
  • ARM-based: los primeros diseños ARM para microservidores parecían algo atrevidos. Pero conforme pasaba el tiempo, aparecieron mejores diseños y con mayor rendimiento, incluso más allá de los microservidores. Incluso AMD coqueteó con su K12 (Opteron A-Series). Aquí tienes algunos más:
    • Marvel ThunderX (anteriormente Cavium): aunque el SKU relacionado con el ThunderX3 se haya cancelado (para sockets de propósito general), es importante conocer este potente procesador basado en Arm.
    • EPI: por supuesto, con mucho sabor europeo, llegarán los productos finales derivados del proyecto EPI. Posiblemente Rhea sea un SoC con 72 núcleos, basados en núcleos Arm Neoverse N1, memoria HBM2E, 4-6 controladores DDR5, y fabricado con tecnología TSMC de 7nm, y empaquetado CoWoS (Chip-on-Wafer-on-Substrate). Aún es pronto para conocer los detalles finales, y si habrá variantes…
    • AWS Graviton: Amazon también tiene su procesador basado en Arm para sus servicios de la nube AWS (Amazon Web Services). El Alpine AL73400 fue el primero, con núcleos Cortex-A72, 2.3Ghz, y 16 núcleos (sin SMT). La siguiente generación, Graviton 2 (Neoverse N1), llega a los 2.5Ghz y 64 núcleos (sin SMT).
    • Fujitsu A64FX: es una microarquitectura completamente nueva, aunque asada en la ISA ARM (ARMv8.2-A con extensiones vectoriales de 512-bit SVE, o Scalable Vector Extension, y SBSA). Pero no se trata de núcleos licenciados como en otros casos. Tiene 48 cores @ 2.2Ghz, memoria HBM2, Además, ha marcado un hito al posicionar al supercomputador nipón Fugaku en el número 1 de la lista Top500, algo insólito si se tiene en cuenta que es Arm.
    • HiSilicon (Huawei) Kunpeng: no hace muchos meses presentaron su Kunpeng 920, un chip ARM para servidores de la marca china. Está fabricado con litografía de 7nm, usando una microarquitectura refinada por Huawei para mejorar el rendimiento y partiendo de ARMv8. Posee 64 núcleos a una frecuencia de reloj nominal de 2.6Ghz, 8 canales de memoria DDR4, y compatibles con interfaces PCIe 4.0 y CCIX.
    • Qualcomm Centriq: estos chips basados en la microarquitectura Falkor están fabricados con nodo de 10nm Samsung. Se distribuyen en configuraciones de 40, 46 y 48 núcleos. Basado en la ISA ARMv8, con extensiones Hypervisor, TrustZone, NEON, CRC32, Crypto, FP y RDM.
  • PEZY-SC4 (SuperComputer 4): PEZY diseñó este many-core que es la cuarta generación. Un chip que funciona a 1.6Ghz, con 16.384 núcleos (SMT8, lo que dan un total de 131.072 threads simultáneos por chip), 4 canales de DDR5-4000, y con un TDP de 640W. Fabricado en nodo de 5nm por TSMC.
  • FeiTeng: desarrollado por Tianjin Phytium Technology, basado en la ISA SPARCv9. Es compatible a nivel binarios con el Intel Itanium 2 (IA-64). Se distribuye con frecuencias de 800Mhz a 1Ghz. Han ido avanzando desde el FeiTeng-1000 de 8 núcleos, pasando a los 16 núcleos del FT-1500, los siguientes llegaron a los 64 núcleos con núcleos FTC661 Earth/Mars, etc. Es decir, ha evolucionado de una CPU a un acelerador usado en algunos supercomputadores famosos como Tianhe-1 y Tianhe-2.
  • Sunway SW26010: en el supercomputador chino Sunway se usaron unos chips especiales de los que existen muchas dudas. Estos microprocesadores se diseñaron para apliacciones militares de supercomputación. En algunos foros se decía que la arquitectura original estaba inspirada en los DEC Alpha, concretamente en el Alpha 21164. Jack Dongarra afirmó que el SW26010 no estaba relacionado con el conjunto de instrucciones de Alpha, aunque no especificó si los modelos anteriores sí lo estaban. Sea como sea, se trata de un manycore con 260 núcleos, diseñado por la National High Performance Integrated Circuit Design Center. Son chips RISC, con 64 CPEs (Compute-Processing Elements) agrupados en arreglos de 8 en 8. Son tipo SIMD, según la taxonomía de Flynn, y trabajan a 1.45Ghz.

GPU / Aceleradores

GPU HPC

Por último, también me gustaría hacer un apunte sobre la tarjetas gráficas, GPGPUs, y aceleradores que existen para esta industria, al menos algunos de los más populares:

Estas tarjetas de AMD y NVIDIA son especiales, diseñadas con objetivos muy diferentes a las GeForce GTX (ámbito doméstico), RTX (con Real-Time Ray Tracing cores, Tensor cores, y DLSS), y Quadro (renderización, creación de contenidos,…), o a las AMD Radeon RX (gaming) y Radeon Pro (renderización, creación de contenidos,…). Todas ellas para sectores muy específicos.

  • NVIDIA Tesla: sinceramente el sistema de nomenclatura de NVIDIA es un completo desastre, nada intuitivo. Si los demás son complejos, este es indescifrable en algunas ocasiones. Usa diferentes numeraciones para sus productos precedidas por una letra que se corresponde con la microarquitectura en la que se basa (K10, M40, P100, V100, T4,…). Ya sabes que, mientras más avanzada la tecnología, mejor es el producto. El orden de más antiguo a más nuevo es: Tesla < Fermi < Kepler < Maxwell < Pascal < Volta < Turing < Ampere. Por tanto, una A-Series mejor que una T-Series, y así sucesivamente. En cuanto a la numeración que le precede, a mayor se supone que es más potente. En cambio, el número del chip es todo lo contrario. Por ejemplo, en Ampere un GA104 peor que un GA102 y éste a su vez sería peor que un GA100. ¿Lo entiendes? Yo tampoco le veo mucha lógica…
  • AMD Radeon Instinct: identificar a las GPUs de AMD oritentadas al deep learning es mucho más sencillo. Las sucesoras de las FirePro se designan con las letras MI seguida de un número. Mientras mayor sea, generalmente (también hay rarezas), más moderna es la microarquitectura en la que se basan. Por ejemplo, la MI16 se basa en Polaris 10 (GCN 4ºGen), la MI18 en Fiji (GCN 3º Gen), MI25 para Vega 10 XT (GCN 5ºGen), MI50 y MI60 para Vega 20 GL (GCN 5ºGen), y MI100 para MI100XL (CDNA 1.0).
  • Intel Xeon Phi: no se trata de una GPU, sino un acelerador many-core basado en núcleos x86 que trabajan juntos para conseguir rendimientos de cómputo superiores. Aunque los Phi se despiden del mercado, aún quedan muchos sistemas con ellos y stock en algunas tiendas, por lo que mostraré sus especificaciones:
    • Nnnn: es el segmento al que va dirigido:
      • 3: relación rendimiento/precio.
      • 5: mejor rendimiento por vatio.
      • 7: máximo rendimiento.
    • nNnn: la segunda cifra se refiere a la arquitectura.
      • 1: Knights Corner con 57-61 núcleos x86.
      • 2: Knights Landing con 64-72 núcleos x86.
    • nnNN: es el identificador de rendimiento. Ya sabes que mientras mayor sea el número, mayor su rendimiento. Principalmente se refiere a la frecuencia de reloj y otras características.
    • L: la letra que acompaña a la serie de números identifica particularidades del empaquetado y refrigeración del producto:
      • A: solución activa de refrigeración.
      • D: sin solución de refrigeración, factor de forma denso.
      • P: solución pasiva de refrigeración.
      • X: sin solución de refrigeración.
  • Otros: también existen otros aceleradores en la industria, con arquitecturas e ISAs muy variadas.
    • Un ejemplo de ello es el propio acelerador RISC-V del proyecto EPI del que tanto os he hablado…
    • También han aparecido en escena otros diseños, como el WSE (Wafer Scale Engine) de Cerebras CS-1 con 400K pequeños núcleos IA, etc.
    • Graphcore Colossus MK2 GC200 es una NPU que planta cara a NVIDIA Ampere. Se trata de un chip destinado para HCP e IA. Según Graphcore, cada núcleo porta 1472 IPUs y memoria dedicada, todo para alcanzar hast 6 subprocesos en paralelo. Es decir, que en total se pueden alcanzar los 8832 threads por chip.

Por cierto, aunque muchas de estas GPUs/aceleradores han sido diseñados para las arquitecturas de la familia x86, se han adaptado también a otras como ARM, RISC-V, etc., por eso no es raro que estas otros sistemas puedan también usar tarjetas PCIe de AMD o NVIDIA, o que soporten UEFI, ACPI, que usen las mismas memorias DDR que para x86, etc. Es decir, te puedes encontrar un supercomputador con CPUs basadas en ARM y NVIDIA Tesla, u otro con IBM POWER y NVIDIA Volta, etc.

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar