NEC SX-Аврора ЦУБАСА - NEC SX-Aurora TSUBASA

Сервер NEC SX-Aurora TSUBASA A300-8 с восемью векторными двигателями на стенде NEC на SC'17 в Денвере

NEC SX-Aurora TSUBASA является векторным процессором на архитектуре NEC SX семейства. В отличие от предыдущих суперкомпьютеров SX , SX-Aurora TSUBASA предоставляется в виде карты PCIe, которую NEC называет «векторным движком» (VE). Восемь карт VE могут быть вставлены в векторный хост (VH), который обычно представляет собой сервер x86-64 под управлением операционной системы Linux. О продукте было объявлено в пресс-релизе от 25 октября 2017 года, и NEC начала его продажи в феврале 2018 года. Продукт пришел на смену SX-ACE .

Аппаратное обеспечение

SX-Aurora TSUBASA является преемником серии NEC SX и SUPER-UX , векторных компьютерных систем, на которых основан суперкомпьютер Earth Simulator . Его оборудование состоит из хостов Linux x86 с векторными механизмами (VE), подключенными через соединение PCI Express (PCIe).

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

В зависимости от тактовой частоты (1,4 или 1,6 ГГц) каждый ЦП VE имеет восемь ядер и максимальную производительность 2,15 или 2,45  терафлопс при двойной точности. В процессоре впервые в мире реализовано шесть модулей HBM2 на промежуточном устройстве Silicon с общим объемом памяти 24 или 48 ГБ с высокой пропускной способностью. Он интегрирован в форм-фактор стандартной карты PCIe полной длины, полной высоты и двойной ширины, которая размещается на сервере x86_64, Vector Host (VH). Сервер может содержать до восьми виртуальных машин, кластеры виртуальных машин могут масштабироваться до произвольного количества узлов.

Релизы продуктов

Версия 2 Векторный движок

SKU 20А 20B
Тактовая частота (в ГГц) 1.6 1.6
Количество ядер 10 8
Пиковая производительность ядра

(GFLOPS двойной точности)

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

(одинарная точность GFLOPS)

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

(TFLOPS двойной точности)

3,07 2,45
Пиковая производительность процессора

(одинарная точность TFLOPS)

6,14 4,91
Пропускная способность памяти (ТБ / с) 1,53 1,53
Объем памяти (ГБ) 48 48

Векторный движок версии 1

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

SKU 10А 10B 10C 10 AE 10BE 10CE
Тактовая частота (в ГГц) 1.6 1.4 1.4 1,584 1,408 1,400
Количество ядер 8 8 8 8 8 8
Пиковая производительность ядра

(GFLOPS двойной точности)

307,2 268,8 268,8 304 270 268
Пиковая производительность ядра

(одинарная точность GFLOPS)

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

(TFLOPS двойной точности)

2,45 2,15 2,15 2,43 2,16 2,15
Пиковая производительность процессора

(одинарная точность 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

Функциональные блоки

Каждое из восьми ядер SX-Aurora имеет 64 логических векторных регистра. Они имеют длину 256 x 64 бита, реализованную как смесь конвейерных и 32-кратных параллельных модулей SIMD. Регистры подключены к трем модулям умножения и сложения с плавающей запятой FMA, которые могут работать параллельно, а также к двум арифметическим логическим модулям ALU, обрабатывающим операции с фиксированной запятой, и конвейеру деления и извлечения квадратного корня. Учитывая только блоки FMA и их 32-кратный параллелизм SIMD, векторное ядро ​​способно выполнять 192 операции двойной точности за цикл. В «упакованных» векторных операциях, когда два значения одинарной точности загружаются в пространство одного слота двойной точности в векторных регистрах, векторный блок выполняет в два раза больше операций за такт по сравнению с двойной точностью.

Скалярный процессор (SPU) обрабатывает не-векторные инструкции на каждом из ядер.

Память и кеши

Память процессора SX-Aurora TSUBASA состоит из шести модулей памяти HBM2 с высокой пропускной способностью второго поколения, реализованных в том же корпусе, что и ЦП, с помощью технологии Chip-on-Wafer-on-Substrate. В зависимости от модели процессора, модули HBM2 представляют собой трехмерные модули с 4 или 8 матрицами емкостью 4 или 8 ГБ каждый. Таким образом, процессоры SX-Aurora имеют 24 ГБ или 48 ГБ памяти HBM2. Модели с большими модулями HBM2 имеют пропускную способность памяти 1,2 ТБ / с.

Ядра векторного механизма совместно используют 16 МБ «кэша последнего уровня» (LLC), кэша обратной записи, напрямую подключенного к векторным регистрам и кэш-памяти L2 SPU. Размер строки кэша LLC составляет 128 байт. Приоритетом хранения данных в LLC можно до некоторой степени управлять с помощью программного обеспечения, позволяя программисту указать, какие из переменных или массивов должны храниться в кеше, функция, сравнимая с функцией Advanced Data Buffer (ADB) NEC. SX-ACE .

Платформы

В настоящее время 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
  • A511-64: 19-дюймовая стойка, оснащенная 64 VE типа AE. Это единственная конфигурация, которая явно продается как суперкомпьютер.

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

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

  • 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 виртуальными средами типа 10A или 10B.


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

Программное обеспечение

Операционная система

Операционная система векторной машины (VE) называется «VEOS», и она полностью выгружена на хост-систему, векторный хост (VH). VEOS состоит из модулей ядра и демонов пользовательского пространства, которые:

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

VEOS поддерживает многозадачность в VE, и почти все системные вызовы Linux поддерживаются в VE libc. Выгрузка сервисов операционной системы на виртуальный виртуальный сервер смещает дрожание ОС от виртуального компьютера за счет увеличения задержек. Все пакеты, относящиеся к операционной системе VE, находятся под лицензией GNU General Public License и опубликованы на github .com / veos-sxarr-nec .

Позже NEC, похоже, отказалась от VEOS в пользу Red Hat Enterprise Linux или CentOS .

Разработка программного обеспечения

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

  • Компиляторы C, C ++ и Fortran, поддерживающие автоматическую векторизацию и автоматическое распараллеливание, а также OpenMP.
  • Инструменты оптимизации производительности: ftraceviewer и veperf.
  • Оптимизированные числовые библиотеки для VE: BLAS, SBLAS, LAPACK, SCALAPACK, ASL, Heterosolver.

NEC MPI также является частной реализацией и соответствует стандартной спецификации MPI-3.1.

Гибридные программы могут быть созданы, которые используют VE в качестве ускорителя для определенных функций ядра хоста, используя C-API разгрузки VE. В некоторой степени разгрузка VE сравнима с OpenCL и CUDA, но обеспечивает более простой API и позволяет разрабатывать ядра на обычном C, C ++ или Fortran и использовать практически любой системный вызов в VE. Привязки Python к VEO доступны на github .com / SX-Aurora / py-veo .

использованная литература

внешние ссылки