Intel vs NVidia: от конкуренции до сотрудничества один линк?

07 Авг 2017

Intel vs NVidia: от конкуренции до сотрудничества один линк?

Растущее превосходство графических процессоров над x86-плат­фор­ма­ми в сфере высокопроизводительных параллельных вы­чи­с­ле­ний, став­шее оче­вид­ным в майнинге криптовалюты, вызывает к жиз­ни прогнозы, со­глас­но ко­то­рым текущий год может стать началом заката x86. Из­бе­гая столь по­спеш­ных выводов, про­ана­ли­зи­ру­ем, что получат (вернее, уже по­лу­чи­ли) GPU NVidia, «от­о­рвав­шись» от платформы Intel?

Поскольку все познается в сравнении, рассмотрим две системы с ускорителями NVidia, различающиеся типом цен­т­раль­но­го процессора — на основе Intel Xeon и IBM Power 8:

  • в первой платформе, назовем ее консервативной, подключение CPU-GPU выполняется по PCIe-ин­тер­фей­су, который в контексте данной публикации придется определить как устаревший; для частичного ни­ве­ли­ро­ва­ния ограничений, присущих такой топологии, организован до­пол­ни­тель­ный peer-to-peer канал связи между ус­ко­ри­те­ля­ми в обход центрального про­цес­сора на основе проприетарной шины NVLink от NVIDIA;
  • вторая (революционная) платформа, использует исключительно NVLink для всех типов меж­про­цес­сор­ных со­еди­не­ний: CPU-GPU и GPU-GPU.

NVidia Tesla GV100

Прежде чем приступить к анализу топологий на основе ускорителей от NVidia, рассмотрим базовый строительный блок для их создания — Tesla GV100 GPU. Кристалл микросхемы содержит около 21.1 миллиардов транзисторов, на площади около 815 квадратных миллиметров. Модуль несет на борту 16 GB локальной оперативной памяти.

Сопроцессор-ускоритель Tesla V100 (вид со стороны компонентов)
Рис.1 Сопроцессор-ускоритель Tesla V100 (вид со стороны компонентов)

Потребляемая мощность, согласно параметру TDP (Thermal Design Power) составляет около 300W, поэтому не уди­ви­тель­но, что значительную долю площади печатной платы занимают элементы импульсных регуляторов на­пря­же­ния: дроссели и силовые ключи (Рис 1).

Сопроцессор-ускоритель Tesla V100 (вид с монтажной стороны)
Рис.2 Сопроцессор-ускоритель Tesla V100 (вид с монтажной стороны)

Ускоритель использует интерфейсы PCI Express 3.0 и NVLink 2.0. Разъемные соединения расположены с тыльной стороны платы (Рис 2).

PCI Express

В силу известных ограничений x86-платформ, обмен данными между CPU Intel и GPU NVidia может осуществляться только по PCIe. При ширине линка x16 и частоте передачи 8 гигатранзакций в секунду, PCIe-порт обеспечивает пропускную способность около 16 гигабайт в секунду в каждом направлении (32 GB/S с учетом дуплекса).

NVLink

Проприетарный интерфейс NVLink позволяет организовать прямое взаимодействие между несколькими GPU, частично нивелируя ограничения, присущие подсистеме ввода-вывода процессоров Intel Xeon. В свою очередь для систем на основе процессоров IBM Power 8, IBM Power 9, высокопроизводительный интерфейс NVLink используется для связи как GPU-GPU, так и GPU-CPU.

Базовым элементом NVLink 1.0 является канал с пропускной способностью 20 гигабайт в секунду. Агрегирование четырех каналов NVLink 1.0 в ускорителе предыдущего поколения GP100 обеспечивает трафик до 80 GB/S (160GB/S с учетом дуплекса).

В NVLink 2.0 пропускная способность одного канала увеличена до 25 GB/S. Агрегирование до шести каналов NVLink 2.0 в рассматриваемом ускорителе GV100 обеспечивает трафик до 150 GB/S (300GB/S с учетом дуплекса).

Консервативный вариант: Intel Xeon + NVidia GPU

Рассмотрим сервер NVIDIA DGX-1 на основе двух процессоров Intel Xeon и массива из восьми ускорителей NVidia Tesla V100. Двухсокетная платформа (Рис 3) содержит два процессора Intel Xeon, соединенных проприетарным интерфейсом  Intel Quick Path Interconnect (серая горизонтальная линия). При частоте передачи 9.6 гигатранзакций в секунду и эффективной ширине шины два байта, пропускная способность составляет около 19 гигабайт в секунду. QPI используется для межпроцессорного коннекта и не допускает подключения микросхем разработки не-Intel.

Связь с периферией, в том числе ускорителями, реализована на базе интерфейса PCI Express (фиолетовые линии), возможности которого расширяются посредством разветвителей PCIe Switches. Как видно из блок-схемы, при данном соотношении количества линков и подключенных устройств, PCIe-трафик, предоставляемый каждому из них будет кратно меньше теоретических 16 гигабайт в секунду.

Система на основе двух CPU Intel Xeon и восьми ускорителей NVidia Tesla V100
Рис 3. Система на основе двух CPU Intel Xeon и восьми ускорителей NVidia Tesla V100

Сильной стороной платформы является соединение ускорителей NVidia проприетарной шиной NVLink 2.0. Каждый из каналов этого интерфейса (утолщенные зеленые линии) обеспечивает пропускную способность около 25 гигабайт в секунду в каждом направлении (50 GB/S с учетом дуплекса). При анализе блок-схемы следует принимать во внимание агрегирование каналов, умножая указанную величину на изображенное количество параллельных линий. Таким образом, интерфейс NVLink создает «обходной маршрут» для взаимодействия между GPU, частично нивелируя ограничения PCIe-топологии, обусловленные применением процессоров Intel.

Революционный вариант: NVLink Enabled CPU + NVidia GPU

Топология, изображенная на Рис 4, не может быть построена на основе центральных процессоров Intel Xeon, поскольку предполагает наличие интерфейса NVLink в составе CPU.

Система на основе CPU с поддержкой NVLink и двух ускорителей NVidia Tesla V100
Рис 4. Система на основе CPU с поддержкой NVLink и двух ускорителей NVidia Tesla V100

Действующим примером NVLink Enabled CPU может служить процессор IBM Power 8.

Система на основе двух CPU IBM Power 8 с поддержкой NVLink и четырех ускорителей NVidia Tesla P100
Рис 5. Система на основе двух CPU IBM Power 8 с поддержкой NVLink и четырех ускорителей NVidia Tesla P100

В системе на основе центрального процессора IBM Power 8 и ускорителей NVidia GP100, показанной на Рис 5, оба вида соединений (CPU-GPU и GPU-GPU) разделяют четыре канала интерфейса NVLink 1.0 суммарной пропускной способностью 80 GB/S (160 GB/S с учетом дуплекса).

Отметим, что на сегодня этот пример утратил статус экстремального. Как уже было сказано выше, ускорители NVidia GV100, совместимые с центральными процессорами IBM Power 9, располагают шестью каналами NVLink 2.0 суммарной пропускной способностью 150 GB/S (300 GB/S с учетом дуплекса).

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

Преимущества быстрого канала связи CPU-GPU повлияют на результаты бенчмарок лишь в том случае, если вычислительный алгоритм требует интенсивного обмена информацией между параллельно работающими ускорителями и хост-системой. В обратной ситуации — если каждый из ускорителей обрабатывает сравнительно небольшой объем локальной информации в течение длительного времени, скорость доставки данных не играет существенной роли. Пример — вычисление криптовалют.

Неочевидные преимущества консервативного варианта

Поскольку производительность интерфейса NVLink выше, чем PCI Express, вторую рассмотренную серверную платформу, построенную исключительно на основе NVLink можно считать более производительной, чем платформу с гибридной топологией, в которой CPU и GPU связаны по PCI Express, а NVLink используется только для прямой коммуникации между GPU в режиме peer-to-peer. Вместе с тем, внимательно посмотрев на блок-схемы можно заметить, что при использовании PCI Express для связи CPU-GPU, разработчик может задействовать большее количество каналов NVLink для связи между GPU, что ставит выбор лидера в зависимость от специфики вычислительных алгоритмов.

Вместо послесловия

Означает ли все вышесказанное, что в будущем у нас есть шансы увидеть x86-процессоры с интерфейсом NVLink? На сегодня такой сценарий кажется маловероятным в силу многочисленных контр-аргументов. Вместе с тем, стоит вспомнить историю более чем десятилетней давности, связанную с имплементацией технологии AMD64 в про­цес­со­рах Intel…

Теги: