Articulo de referencia

NEC SX-Aurora TSUBASA

Servidor NEC SX-Aurora TSUBASA A300-8 con ocho motores vectoriales en exhibición en el stand de NEC en SC'17 en Denver. El NEC SX-Aurora TSUBASA es un procesador vectorial de la...

Servidor NEC SX-Aurora TSUBASA A300-8 con ocho motores vectoriales en exhibición en el stand de NEC en SC'17 en Denver.

El NEC SX-Aurora TSUBASA es un procesador vectorial de la familia de arquitectura NEC SX . [ 1 ] [ 2 ] A diferencia de las supercomputadoras SX anteriores , el SX-Aurora TSUBASA se proporciona como una tarjeta PCIe, denominada por NEC como un "Motor Vectorial" (VE). [ 2 ] Se pueden insertar ocho tarjetas VE en un host vectorial (VH), que normalmente es un servidor x86-64 que ejecuta el sistema operativo Linux . [ 2 ] El producto fue anunciado en un comunicado de prensa el 25 de octubre de 2017 y NEC comenzó a venderlo en febrero de 2018. [ 3 ] El producto sucede al SX-ACE .

Hardware

SX-Aurora TSUBASA es el sucesor de la serie NEC SX y SUPER-UX , que son sistemas informáticos vectoriales sobre los que se basa la supercomputadora Earth Simulator . Su hardware consta de hosts Linux x86 con motores vectoriales (VE) conectados mediante interconexión PCI express (PCIe). [ 4 ]

El alto ancho de banda de memoria (0,75–1,2  TB/s) proviene de ocho núcleos y seis módulos de memoria HBM2 en un interposer de silicio implementado en el formato de una tarjeta PCIe. [ 5 ] La funcionalidad del sistema operativo para el VE se descarga al VH y es gestionada principalmente por demonios del espacio de usuario que ejecutan el VEOS. [ 6 ]

Dependiendo de la frecuencia de reloj (1,4 o 1,6  GHz), cada CPU VE tiene ocho núcleos y un rendimiento máximo de 2,15 o 2,45 TFLOPS en doble precisión. El procesador cuenta con la primera implementación mundial de seis módulos HBM2 en un interposer de silicio con un total de 24 o 48 GB de memoria de alto ancho de banda. Está integrado en el formato de una tarjeta PCIe estándar de longitud, altura y ancho completos, alojada en un servidor x86_64, el Vector Host (VH). El servidor puede alojar hasta ocho VE; los clústeres VH pueden escalar a un número arbitrario de nodos. [ 1 ] [ 7 ] [ 2 ]  

Lanzamientos de productos

Motor vectorial versión 2 [ 8 ]

Motor vectorial versión 1

La versión 1.0 del Vector Engine se produjo en un proceso FinFET de 16 nm (de TSMC ) y se lanzó en tres SKU (las versiones posteriores añaden una E al final): [ 9 ]

Unidades funcionales

Cada uno de los ocho núcleos SX-Aurora tiene 64 registros vectoriales lógicos. [ 10 ] Estos tienen una longitud de 256 x 64 bits implementados como una mezcla de unidades SIMD de pipeline y 32 veces paralelas. Los registros están conectados a tres unidades FMA de multiplicación y suma de punto flotante que pueden ejecutarse en paralelo, así como a dos unidades lógicas aritméticas ALU que manejan operaciones de punto fijo y un pipeline de división y raíz cuadrada. [ 10 ] Considerando solo las unidades FMA y su paralelismo SIMD de 32 veces, un núcleo vectorial es capaz de 192 operaciones de doble precisión por ciclo. [ 10 ] En operaciones vectoriales "empaquetadas", donde dos valores de precisión simple se cargan en el espacio de una ranura de doble precisión en los registros vectoriales, la unidad vectorial ofrece el doble de operaciones por ciclo de reloj en comparación con la doble precisión.

Una unidad de procesamiento escalar (SPU) gestiona las instrucciones no vectoriales en cada uno de los núcleos.

Memoria y cachés

La memoria del procesador SX-Aurora TSUBASA consta de seis módulos de memoria HBM2 de segunda generación de alto ancho de banda, implementados en el mismo encapsulado que la CPU mediante la tecnología Chip-on-Wafer-on-Substrate. Según el modelo de procesador, los módulos HBM2 son módulos 3D de 4 u 8 chips, con una  capacidad de 4 u 8 GB cada uno. Por lo tanto, las CPU SX-Aurora disponen de 24  GB o 48  GB de memoria HBM2. Los modelos que incorporan módulos HBM2 de gran capacidad ofrecen un ancho de banda de memoria de 1,2  TB/s. [ 11 ]

Los núcleos de un motor vectorial comparten 16  MB de caché de último nivel (LLC), una caché de escritura diferida conectada directamente a los registros vectoriales y a la caché L2 de la SPU. El tamaño de línea de la caché LLC es de 128 bytes. La prioridad de retención de datos en la LLC se puede controlar hasta cierto punto mediante software, lo que permite al programador especificar qué variables o matrices deben conservarse en la caché, una característica comparable a la del búfer de datos avanzado (ADB) del NEC SX-ACE .

Plataformas

NEC actualmente vende el motor vectorial SX-Aurora TSUBASA integrado en cuatro plataformas: [ 12 ] [ 9 ]

  • A111-1: un PC de torre con una tarjeta VE de tipo 10B.
  • A101-1: un ordenador de sobremesa con una tarjeta VE de tipo 10CE.
  • A311-4: un servidor escalable Xeon de 1U y 19 pulgadas con doble socket, montable en rack, equipado con hasta cuatro tarjetas VE de tipo BE.
  • A311-8: un servidor escalable Xeon de 19 pulgadas y 4U con doble socket y hasta ocho tarjetas VE de tipo BE
  • A511-64: un rack de 19 pulgadas equipado con 64 VE de tipo AE. Esta es la única configuración que se vende explícitamente como supercomputadora.

Dentro de un nodo VH, los VE pueden comunicarse entre sí a través de PCIe. Los grandes sistemas paralelos construidos con SX-Aurora utilizan Infiniband en una configuración PeerDirect como interconexión.

NEC también solía vender el motor vectorial SX-Aurora TSUBASA integrado en cinco plataformas:

  • A100-1: un ordenador de sobremesa con una tarjeta VE de tipo 10C.
  • A300-2: un servidor Skylake de un solo socket, montable en rack de 1U, equipado con hasta dos tarjetas VE de tipo 10B o 10C.
  • A300-4: un servidor Skylake de doble socket para montaje en rack de 1U, equipado con hasta cuatro tarjetas VE de tipo 10B o 10C.
  • A300-8: un servidor Skylake de doble socket, montable en rack de 4U, con capacidad para hasta ocho tarjetas VE de tipo 10B o 10C.
  • A500-64: un rack equipado con CPU de la familia Intel Xeon Silver 4100 o Intel Xeon Gold 6100 y 32, 48 o 64 VE de tipo 10A o 10B. [ 13 ]

Todos los modelos se enfrían exclusivamente por aire, con la excepción de la serie A500, que también utiliza refrigeración por agua.

Software

Sistema operativo

El sistema operativo del motor vectorial (VE) se llama "VEOS" y se ha descargado completamente al sistema anfitrión, el host vectorial (VH). [ 14 ] VEOS consta de módulos del núcleo y demonios del espacio de usuario que:

  • gestionar los procesos de VE y su programación en el VE
  • gestionar los espacios de direcciones de memoria virtual de los procesos VE
  • Gestiona las transferencias entre la memoria VH y VE con la ayuda de los motores DMA de VE.
  • manejar interrupciones y excepciones de los procesos VE, así como sus llamadas al sistema. [ 15 ]

VEOS admite la multitarea en el VE y casi todas las llamadas al sistema Linux son compatibles con la libc del VE. [ 15 ] La descarga de servicios del sistema operativo al VH traslada la fluctuación del sistema operativo fuera del VE a costa de un aumento de las latencias. [ 15 ] Todos los paquetes relacionados con el sistema operativo del VE tienen licencia bajo la Licencia Pública General de GNU y se han publicado en github .com /veos-sxarr-nec .

Desarrollo de software

NEC ofrece un kit de desarrollo de software (SDK) para desarrolladores y clientes. Este kit contiene productos propietarios y debe adquirirse a través de NEC. El SDK incluye:

  • Compiladores de C, C++ y Fortran que admiten vectorización automática y paralelización automática, así como OpenMP. [ 16 ]
  • Herramientas de optimización del rendimiento: ftraceviewer y veperf. [ 17 ]
  • Optimized numerical libraries for the VE: BLAS, SBLAS, LAPACK, SCALAPACK, ASL, Heterosolver.[18]

NEC MPI is also a proprietary implementation and is conforming to the MPI-3.1 standard specification.[19]

Hybrid programs can be created that use the VE as an accelerator for certain host kernel functions by using VE offloading C-API.[20] To some extent VE offloading is comparable to OpenCL and CUDA, but provides a simpler API and allows the kernels to be developed in normal C, C++ or Fortran and use almost any syscall on the VE. Python bindings to VEO are available at github.com/SX-Aurora/py-veo.

Comparison of Mathematical Functions

1 NEC Numerical Library Collection is a collection of mathematical libraries that supports the development of numerical simulation programs.

References

  1. 12"NEC SX-Aurora TSUBASA - Vector Engine". www.nec.com. Retrieved 2018-03-20.
  2. 1234Morgan, Timothy Prickett (October 27, 2017). "Can Vector Supercomputing Be Revived?". The Next Platform.
  3. "NEC releases new high-end HPC product line, SX-Aurora TSUBASA". NEC. Retrieved 2018-03-21.
  4. Imai, Teruyuki (2019), "NEC Earth Simulator and the SX-Aurora TSUBASA", in Gerofi, Balazs; Ishikawa, Yutaka; Riesen, Rolf; Wisniewski, Robert W. (eds.), Operating Systems for Supercomputers and High Performance Computing, High-Performance Computing Series, vol. 1, Singapore: Springer, pp. 139–160, doi:10.1007/978-981-13-6624-6_9, ISBN 978-981-13-6624-6, S2CID 204811906
  5. Morgan, Timothy Prickett (2017-11-22). "A Deep Dive Into NEC's Aurora Vector Engine". The Next Platform. Retrieved 2020-07-02.
  6. Focht, Erich. "First steps with the SX-Aurora TSUBASA vector engine". sx-aurora.github.io. Retrieved 2020-07-02.
  7. SX-Aurora TSUBASA Brochure
  8. "Modelos de motores vectoriales NEC" . www.nec.com . Consultado el 15 de septiembre de 2020 .
  9. 1 2 "SX-Aurora TSUBASA" (PDF) . NEC Corporation . Febrero de 2020.
  10. 1 2 3 "Arquitectura NEC SX-Aurora TSUBASA" . www.nec.com . Consultado el 20 de marzo de 2018 .
  11. "SX-Aurora - Microarquitecturas - NEC - WikiChip" . en.wikichip.org . Consultado el 2 de julio de 2020 .
  12. "NEC SX-Aurora TSUBASA" .
  13. "NEC SX-Aurora TSUBASA A500-64" . www.nec.com .
  14. "NEC SX Aurora TSUBASA — Documentación VSC 1.0" . vlaams-supercomputing-centrum-vscdocumentation.readthedocs-hosted.com . Consultado el 2 de julio de 2020 .
  15. 1 2 3 "Una mirada al último procesador vectorial de NEC, el SX-Aurora" . WikiChip Fuse . 09/12/2018 . Consultado el 27/08/2020 .
  16. "NEC SX Aurora TSUBASA — Documentación VSC 1.0" . vlaams-supercomputing-centrum-vscdocumentation.readthedocs-hosted.com . Consultado el 27 de agosto de 2020 .
  17. "Documentación de NEC SX-Aurora TSUBASA" .
  18. «Sistema Vectorial NEC SX-Aurora TSUBASA» . Rechenzentrum der CAU . Consultado el 27 de agosto de 2020 .
  19. "Guía del usuario de NEC MPI" .
  20. "SX-Aurora/veoffload" . GitHub . Consultado el 21 de marzo de 2018 .
  • NEC SX-Aurora TSUBASA
  • Noticias y artículos sobre el motor vectorial SX-Aurora.
  • Foro NEC Aurora
  • VEOS para SX-Aurora TSUBASA
  • SX-Aurora: Colección de herramientas y proyectos