NEC SX-Aurora TSUBASA

Материал из in.wiki
Перейти к навигации Перейти к поиску

NEC SX-Aurora TSUBASA — векторный процессор семейства NEC SX[1][2]. В отличие от предыдущих суперкомпьютеров этого семейства, SX-Aurora TSUBASA поставляется в виде карты PCIe, называемой NEC «Vector Engine» (VE)[2][3]. Восемь карт Vector Engine можно вставить в векторный хост (VH), который обычно представляет собой сервер x86-64 под управлением операционной системы Linux[2].

О продукте было объявлено в пресс-релизе 25 октября 2017 года, а начало продаж состоялось в феврале 2018 года[4].

Модель NEC SX-Aurora TSUBASA пришла на смену SX-ACE.

Оборудование[править | править код]

SX-Aurora TSUBASA является преемником серий NEC SX и SUPER-UX, векторных компьютерных систем, на которых основан суперкомпьютер Earth Simulator.

Его аппаратное обеспечение состоит из хостов Linux x86 с векторными движками (VE), подключенными через соединение PCI Express (PCIe)[5].

Высокая пропускная способность памяти (0,75–1,2 ТБ/с) обеспечивается за счет восьми ядер и шести модулей памяти HBM2, объединённых на кремниевом интерпозере, оформленном в форм-факторе карты PCIe полной длины, полной высоты и двойной ширины[6]. Функциональность операционной системы для VE переносится на VH и обрабатывается в основном демонами пользовательского пространства, на которых работает VEOS[7].

В зависимости от тактовой частоты (1,4 или 1,6 ГГц) каждый процессор VE имеет восемь ядер и пиковую производительность 2,15 или 2,45 терафлопс при вычислениях с двойной точностью[1][2][8]. Процессор впервые в мире оснащен шестью модулями HBM2 на кремниевом интерпозере с общим объемом памяти 24 или 48 ГБ с высокой пропускной способностью.

На сервере, поставляемом NEC может размещаться до восьми VE, кластеры VH могут масштабироваться до произвольного количества узлов.

Версии Vector Engine[править | править код]

По состоянию на 2023 год были разработаны и выпущены на рынок следующие версии TSUBASA:

Version 1 Vector Engine
SKU 10A 10B 10C 10AE 10BE 10CE
Частота процессора Ггц 1.6 1.4 1.4 1.584 1.408 1.400
Число векторных ядер в процессоре 8 8 8 8 8 8
Пиковая производительность ядра

(double precision GFLOPS)

307.2 268.8 268.8 304 270 268
Пиковая производительность ядра

(single precision GFLOPS)

537 608 540 537
Пиковая производительность процессора

(double precision TFLOPS)

2.45 2.15 2.15 2.43 2.16 2.15
Пиковая производительность процессора

(single precision TFLOPS)

4.9 4.3 4.3 4.86 4.32 4.30
Пропускная способность памяти (ТБ/с) 1.2 1.2 0.75 1.35 1.35 1.00
Ёмкость памяти (Гб) 48 48 24 48 48 24
Ёмкость кэш-памяти (Мб) 16 16 16 16 16 16

Версия 1.0 Vector Engine была произведена по 16-нм техпроцессу FinFET (от TSMC) и выпущена в трех основных версиях продукта (в доработанных версиях добавляется буква E в конце)[9]:

По состоянию на ноябрь 2023 года из перечисленных моделей поставляются только модели 10AE и 10CE.

Version 2 Vector Engine[10]
SKU 20A 20B
Частота процессора Ггц 1.6 1.6
Число векторных ядер в процессоре 10 8
Пиковая производительность ядра

(double precision GFLOPS)

307 307
Пиковая производительность ядра

(single precision GFLOPS)

614 614
Пиковая производительность процессора

(double precision TFLOPS)

3.07 2.45
Пиковая производительность процессора

(single precision TFLOPS)

6.14 4.91
Пропускная способность памяти (ТБ/с) 1.53 1.53
Ёмкость памяти (Гб) 48 48
Ёмкость кэш-памяти (Мб) 16 16
Version 3 Vector Engine
SKU 30A
Частота процессора Ггц 1.6
Число векторных ядер в процессоре 16
Пиковая производительность ядра

(double precision GFLOPS)

307
Пиковая производительность ядра

(single precision GFLOPS)

614
Пиковая производительность процессора

(double precision TFLOPS)

4.91
Пиковая производительность процессора

(single precision TFLOPS)

9,82
Пропускная способность памяти (ТБ/с) 2.45
Ёмкость памяти (Гб) 96
Ёмкость кэш-памяти (Мб) 64

Архитектура процессора[править | править код]

Каждое из ядер Aurora имеет 64 логических векторных регистра[11]. Регистры имеют глубину 256, т.е. каждому логическому регистру соответствует 256 ячеек, в которых хранятся значения, используемые последовательно выполняемыми операциями. Конструкция регистра представляет собой гибрид обычного для векторных процессоров пайплайна и элементов памяти, предназначенных для SIMD-обработки, объединённых по 32. Процессор может выполнять с ними как векторную команду, так и SIMD-инструкцию. Регистры подключены к трём блоками умножения и сложения (FMA) с плавающей запятой, которые могут работать параллельно, двум арифметико-логических блокам ALU, обрабатывающих операции с фиксированной запятой, а также конвейру деления и квадратного корня.

Используя только блоки FMA и их 32-кратный SIMD-параллелизм, векторное ядро способно выполнять 192 операции двойной точности за цикл[10].

В «упакованных» векторных операциях, когда два значения одинарной точности загружаются в пространство одного слота двойной точности в векторных регистрах, векторный модуль выполняет вдвое больше операций за такт по сравнению с двойной точностью. Скалярное процессорное устройство (SPU) обрабатывает невекторные инструкции на каждом из ядер.

Память и кэш[править | править код]

Память процессора SX-Aurora TSUBASA состоит из шести высокоскоростных модулей памяти HBM2, реализованных в том же корпусе, что и центральный процессор, с помощью технологии Chip-on-Wafer-on-Substrate. В зависимости от модели процессора модули HBM2 представляют собой 4 или 8[12] 3D-модулей с емкостью 4 или 8 ГБ каждый. Таким образом, процессоры SX-Aurora имеют память HBM2 объемом 24, 48 или 96 ГБ. Модели, оснащенные большими модулями HBM2, имеют пропускную способность памяти 1,2 ТБ/с[13]. Ядра векторного движка первого и второго поколения совместно используют 16 МБ кэша последнего уровня (LLC) - кэша обратной записи, напрямую подключенного к векторным регистрам, и кэша L2 SPU. Размер строки кэша LLC составляет 128 байт. Приоритет хранения данных в LLC можно в некоторой степени контролировать программно, что позволяет программисту указать, какие переменные или массивы должны сохраняться в кеше, что сравнимо с функцией Advanced Data Buffer (ADB) NEC SX-ACE. В третьем поколении системы ёмкость этого кэша увеличена до 64Мб.

Поставляемые платформы[править | править код]

NEC продавала векторный движок SX-Aurora TSUBASA, интегрированный в разные виды платформ, часть из которых, впоследствии, была снята с продаж по мере устаревания:

  • A111-1: ПК в корпусе Tower с одной картой VE типа 10B.
  • A101-1: ПК в корпусе Tower с одной картой VE типа 10CE.
  • A311-4: масштабируемый сервер Xeon высотой 1U для установки в шкаф 19 дюймов с двумя сокетами, монтируемый в стойку, оснащенный до четырех карт VE типа BE.
  • A311-8: масштабируемый сервер Xeon высотой 4U для установки в шкаф 19 дюймов с двумя сокетами и возможностью установки до восьми карт VE типа BE[14].
  • А511-64: 19-дюймовая стойка, оснащенная 64 ВЭ типа АЕ. Это - конфигурация, которая явно позиционировалась как суперкомпьютер[14].
  • A100-1: ПК в корпусе Tower с одной картой VE типа 10C.
  • A300-2: однопроцессорный сервер Skylake высотой 1U, монтируемый в стойку, оснащенный двумя картами VE типа 10B или 10C.
  • A300-4: сервер Skylake высотой 1U с двумя сокетами, монтируемый в стойку, оснащенный четырьмя картами VE типа 10B или 10C.
  • A300-8: сервер Skylake высотой 4U с двумя сокетами, монтируемый в стойку, с поддержкой до восьми карт VE типа 10B или 10C.
  • A500-64: стойка, оснащенная процессорами семейства Intel Xeon Silver 4100 или семейства Intel Xeon Gold 6100 и 32, 48 или 64 Vector Engine типа 10A или 10B.
  • B401-8: сервер с процессором AMD EPYC высотой 2U для установки в шкаф 19 дюймов с двумя сокетами, монтируемый в стойку, оснащенный 8 картами VE типа 20A или 20B[14].

Перечисленные устройства не исчерпывают всю номенклатуру устройств, поставляемых NEC.

Все устройства, кроме серии A500 имеют исключительно воздушное охлаждение, A500, также, используется водяное.

Внутри узла VH виртуальные устройства могут взаимодействовать друг с другом через PCIe. Большие параллельные системы, построенные с помощью SX-Aurora, используют Infiniband в режиме PeerDirect в качестве межхостового соединения.

Программное обеспечение[править | править код]

Операционная система[править | править код]

Операционная система Vector Engine (VE) называется «VEOS» и выполняется полностью на хост-системе (Vector Host, VH).

VEOS состоит из модулей ядра и демонов пользовательского пространства, которые:

  • управляют процессами VE и их планированием на VE
  • управляют адресными пространствами виртуальной памяти процессов VE
  • обрабатывают обмен между памятью VH и VE с помощью механизмов VE DMA
  • обрабатывают прерывания и исключения процессов VE, а также их системные вызовы[15].

VEOS поддерживает многозадачность в VE, и почти все системные вызовы Linux поддерживаются в библиотеке VE libc[15].

Выгрузка служб операционной системы на хост устраняет джиттер процессов на Vector Engine за счет относительно небольшого увеличения задержек при обмене данными[15]. Это является критичным для многочисленных задач численного моделирования, использующих, в частности, интерфейс MPI, OpenMP и аналогичные.

Все пакеты, связанные с операционной системой VE, лицензируются по лицензии GNU General Public License и опубликованы в репозитории GitHub.

Разработка ПО[править | править код]

Для разработчиков и клиентов компания NEC предлагает SDK. Он включает коммерческие продукты и должен быть приобретен у NEC.

SDK содержит:

  • Компиляторы C, C++ и Fortran, поддерживающие автоматическую векторизацию и автоматическое распараллеливание, а также OpenMP.[16]
  • Инструменты оптимизации производительности: ftraceviewer, veperf и NEC Parallel debugger[17].
  • Библиотеки численных расчётов, оптимизированные для VE: BLAS, SBLAS, LAPACK, SCALAPACK, ASL, Heterosolver[18].

NEC MPI также является собственной реализацией Message Passing Interface от NEC и соответствует спецификации стандарта MPI-3.1[19].

Могут быть созданы гибридные программы, которые используют VE в качестве ускорителя для определенных функций ядра хоста, используя специализированную библиотеку вызовов, совместимую с языком С для выгрузки задач на Vector Engine[20].

В некоторой степени интерфейс выгрузки задач (Vector Engine Offloading) на VE сравним с OpenCL и CUDA, но обеспечивает более простой API и позволяет вести разработку ПО на обычном C, C++ или Fortran, используя при этом практически любой системный вызов в VE.

Доступны биндинги Python к VEO.

Прикладное программное обеспечение[править | править код]

Ряд прикладных расчётных пакетов портирован на платформу. Среди них можно назвать:

Пакеты компьютерной химии:

Анализ методом конечных элементов

Специализированная библиотека для решения линейных уравнений

  • VINAS Super Matrix Solver

Перспективы развития[править | править код]

NEC в декабре 2022 года анонсировала дальнейшее развитие платформы - были более-менее твёрдо показаны характеристики четвёртого поколения Vector Engine, на представленном в презентации roadmap присутствовали пятое и шестое. Однако, в марте 2023 года распространились слухи, что компания отказалась от дальнейшего развития системы, оценивая как бесперспективную конкуренцию с ускорителями AMD Instinct и NVidia. После нескольких запросов к официальным лицам компании, те, не приводя подробности, ответили, что отказ от развития относится только к энерегоэффективной версии своих ускорителей, разрабатывавшихся совместно с Japan’s New Energy and Industrial Technology Development Organization’s (NEDO) Green Innovation Fund, а развитие SX-Aurora будет продолжено[21].

Aurora TSUBASA в России[править | править код]

В России инсталляция данной системы имеется в НИВЦ МГУ. Также в конце 2021 года осуществлялась закупка для Университета Иннополис, но её судьба не известна.

Примечания[править | править код]

  1. 1,0 1,1 NEC SX-Aurora TSUBASA - Vector Engine
  2. 2,0 2,1 2,2 2,3 Can Vector Supercomputing Be Revived?
  3. Imai, Teruyuki (2019), Gerofi, Balazs; Ishikawa, Yutaka; Riesen, Rolf; Wisniewski, Robert W. (eds.), "NEC Earth Simulator and the SX-Aurora TSUBASA", Operating Systems for Supercomputers and High Performance Computing, High-Performance Computing Series, Singapore: Springer, vol. 1, pp. 139–160. doi:10.1007/978-981-13-6624-6_9, ISBN 978-981-13-6624-6, S2CID 204811906
  4. NEC releases new high-end HPC product line, SX-Aurora TSUBASA
  5. Imai, Teruyuki (2019), Gerofi, Balazs; Ishikawa, Yutaka & Riesen, Rolf et al., eds., NEC Earth Simulator and the SX-Aurora TSUBASA, vol. 1, High-Performance Computing Series, Singapore: Springer, с. 139–160, ISBN 978-981-13-6624-6, DOI 10.1007/978-981-13-6624-6_9 
  6. Morgan, Timothy Prickett (2017-11-22). "A Deep Dive Into NEC's Aurora Vector Engine". The Next Platform. Дата обращения: 2020-07-02.
  7. Focht, Erich. "First steps with the SX-Aurora TSUBASA vector engine". sx-aurora.github.io. Дата обращения: 2020-07-02.
  8. SX-Aurora TSUBASA Brochure
  9. "SX-Aurora TSUBASA" (PDF). NEC Corporation. February 2020.
  10. 10,0 10,1 "NEC Vector Engine Models". www.nec.com. Дата обращения: 15 September 2020.
  11. "NEC SX-Aurora TSUBASA Architecture". www.nec.com. Дата обращения: 2018-03-20.
  12. Относительно третьего поколения VE не известно, увеличилось ли вдвое число модулей, или емкость каждого из них. В любом случае, общая ёмкость памяти HBM2 в них удвоена.
  13. "SX-Aurora - Microarchitectures - NEC - WikiChip". en.wikichip.org. Дата обращения: 2020-07-02.
  14. 14,0 14,1 14,2 В продаже по состоянию на январь 2024
  15. 15,0 15,1 15,2 "A Look at NEC's Latest Vector Processor, the SX-Aurora". WikiChip Fuse. 2018-12-09. Дата обращения: 2020-08-27.
  16. "NEC SX Aurora TSUBASA — VSC documentation 1.0 documentation". vlaams-supercomputing-centrum-vscdocumentation.readthedocs-hosted.com. Дата обращения: 2020-08-27.
  17. "NEC SX-Aurora TSUBASA Documentation".
  18. "NEC SX-Aurora TSUBASA Vector System". Rechenzentrum der CAU. Дата обращения: 2020-08-27.
  19. "NEC MPI User's Guide".
  20. "SX-Aurora/veoffload". GitHub.
  21. Is This The End Of The Line For NEC Vector Supercomputers? Timothy Prickett Morgan. 23.02.2022. The Next Platform.