Проблема пропускной способности RDMA с двумя портами

У меня есть два узла, подключенных к двухпортовому Mellanox Connext-X3 VPI HCA через коммутатор IB. Узлы представляют собой машины с двумя сокетами с процессорами Hasswell и 2 модулями DIMM по 16 ГБ на каждый разъем (всего 64 ГБ). Кажется, все работает отлично, за исключением показателей производительности, которые кажутся неправильными.

Когда я запускаю тест ib_read_bw :

server# ib_read_bw --report_gbits
client# ib_read_bw server --report_gbits

---------------------------------------------------------------------------------------
 #bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
 65536      1000             37.76              37.76          0.072016
---------------------------------------------------------------------------------------

Но когда я запускаю двухпортовый:

server# ib_read_bw --report_gbits -O
client# ib_read_bw server --report_gbits -O
---------------------------------------------------------------------------------------
 #bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
 65536      2000             52.47              52.47          0.100073
---------------------------------------------------------------------------------------

, я получаю только улучшение менее чем на 40% (я ошибаюсь, ожидая увеличения пропускной способности одного порта примерно в 2 раза)?

Я не знаю, что может быть здесь узким местом и как его найти.

Другие конфигурации, которые могут быть полезны:

  • Каждый сокет имеет 8 ядер, в целом каждая машина имеет 32 HT
  • Каждый DIMM обеспечивает полосу пропускания ~ 14 ГБ / с (на сокет mem-bw: ~ 28 ГБ / с, в целом ~ 56 ГБ / с)
  • Я использовал инструмент Mellanox Auto Tuning Utility для настройки прерываний.
  • Каналы IB - 4X 10,0 Гбит / с (FDR10) - каждые 40 Гбит / с
  • Я использую Mellanox OFED 4.3 .
1
задан 6 April 2018 в 18:35
2 ответа

I Думаю, что узким местом здесь является соединение PCIe между ConnectX и хостом. ConnectX-3 имеет Gen. 3 x8 PCIe-соединение , которое ограничено теоретическим максимумом 63,04 Гбит / с (согласно в этом ответе ) и не включает накладные расходы (см. здесь ).

3
ответ дан 3 December 2019 в 18:27

У меня есть (2) системы, каждая с Mellanox FDR MCX354A-FCBT CX354A (ConnectX-3 VPI.) Имея только (2) с использованием InfiniBand, у меня нет коммутатора, и я просто подключите их напрямую. Я использую двойные процессоры Xeon (Sandy Bridge).

У меня был кабель 40 Гбит / с, который препятствовал подключению FDR, и я получал:

#bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
65536      1000             31.11              31.11              0.059329

Я получил кабель FDR (56 Гбит / с) и начал получать:

#bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
65536      1000             49.58              49.58              0.094569

Я всегда задавался вопросом, как бы было, если бы я использовал оба порта, поэтому попробовал и получил:

#bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
65536      2000             52.28              52.28              0.099717

Ну что ж. Я, вероятно, не стану беспокоиться об этом выигрыше.

Я определенно думаю, что haggai_e прав, потому что мои карты также поддерживают PCI Express 3.0 x8. Я думаю, чтобы видеть быстрее, нам понадобятся карты 3.0 x16 или 4.0.

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

1150662]

0
ответ дан 3 December 2019 в 18:27

Теги

Похожие вопросы