[solved] проблемы с скоростью sys-infiniband/ofed

Есть проблема с скоростью infiniband соеденения, помогите разобраться

Установлено:
1. sys-infiniband/ofed-3.12_rc1:3.12 USE="dapl diags ibacm mstflint opensm perftest qperf -rds -srp" OFED_DRIVERS="mlx4 -cxgb3 -cxgb4 (-ehca) -ipath -mlx5 -mthca -nes -ocrdma -psm" 0 KiB
2. kernel - 3.18.11
3. Bios settings (C States - off, Hyper - Threading - enabled)
4. cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
performance
performance
performance
performance
5. echo 1000000000 > /proc/sys/kernel/shmmax
echo 400 > /proc/sys/vm/nr_hugepages
sysctl -w net.ipv4.tcp_timestamps=0
sysctl -w net.ipv4.tcp_sack=1
sysctl -w net.core.netdev_max_backlog=250000
sysctl -w net.core.rmem_max=4194304
sysctl -w net.core.wmem_max=4194304
sysctl -w net.core.rmem_default=4194304
sysctl -w net.core.wmem_default=4194304
sysctl -w net.core.optmem_max=4194304
sysctl -w net.ipv4.tcp_rmem="4096 87380 4194304"
sysctl -w net.ipv4.tcp_wmem="4096 65536 4194304"
sysctl -w net.ipv4.tcp_low_latency=1
6. lspci -s 02:00.0 -vvvxxx | grep 70
70: 00 00 42 00 00 00 00 00 00 00 00 00 00 00 00 00
7. RDMA_Write BW Test
Dual-port : OFF Device : mlx4_0
Number of qps : 1 Transport type : IB
Connection type : RC Using SRQ : OFF
CQ Moderation : 100
Mtu : 4096[B]
Link type : IB
Max inline data : 0[B]
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
#bytes #iterations BW peak[Gb/sec] BW average[Gb/sec] MsgRate[Mpps]
8388608 5000 13.72 13.72 0.000204
---------------------------------------------------------------------------------------

Официалы Мелланокс сказали что проблемы с ОС, и порекомендовали сменить ее на ту которая есть в списке рекомендаций.

у меня есть только одна догадка это прерывания -
1 нода - 16: 1717 31 1018956 207483 IO-APIC 16-fasteoi i915, mpt2sas0, mlx4_core@pci:0000:02:00.0, ehci_hcd:usb1
2 нода - 16: 1716923 0 0 0 IO-APIC 16-fasteoi i915, mpt2sas0, mlx4_core@pci:0000:01:00.0
3 нода - 16: 608 59 938070 30350 IO-APIC 16-fasteoi i915, mpt2sas0, mlx4_core@pci:0000:01:00.0, ehci_hcd:usb1

куда копать комрады? Заранее спасибо,
p.s. Slepnoga поделишся скриптом mtp_affinity.sh?

2. kernel - 3.18.11 это

2. kernel - 3.18.11
это приговор ;(

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

нудно новее или старее?

нужно новее или старее? из-за ядра так режет скорость?

RDMA_Write BW Test Dual-port

RDMA_Write BW Test
Dual-port : OFF Device : mlx4_0
Number of qps : 1 Transport type : IB
Connection type : RC Using SRQ : OFF
CQ Moderation : 100
Mtu : 4096[B]
Link type : IB
Max inline data : 0[B]
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
#bytes #iterations BW peak[MB/sec] BW average[MB/sec] MsgRate[Mpps]
65536 5000 28.00 28.00 0.053411
---------------------------------------------------------------------------------------

добился такого, затупил в x4 было вставленно одно устройство

A сам написать не хочешь ?

A сам написать не хочешь ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

предела совершенсту конечно

предела совершенсту конечно не бывает, но чтобы копаться над скриптом нужно понять что мне от него надо и как оно надо, а вот с этим проблема т.к. за последние время очень много новой информации (спасибо тебе Андрей за это безграничное - это не язвительность это реально большое СПАСИБО) и нужно еще разобраться с связкой libxio + ceph (что одно что второе я не знаю и не работал с этим), потом затолкать еще пару нод в это "творение", нацепить управлялку наподобие опенстака (которого я глаза не видал) и перетащить все сервера на это дело.... если знать что скрипт должен делать то можно и поковыряться, а без понимания этого время на тыкание пальцем похороню много и не факт что это будет хорошо работать. Помощи прошу с переодичностью даже на платной основе не от безделия или нежелания, а от нехватки времени и сгоревших синим пламенем сроков.

1. Что пишет ibstatus У меня

1. Что пишет ibstatus

У меня так (двухпортовая нода с линками по 40гигабит)

Infiniband device 'mlx4_0' port 1 status:
	default gid:	 fe80:0000:0000:0010:0025:90ff:ff07:1951
	base lid:	 0x1
	sm lid:		 0x13
	state:		 4: ACTIVE
	phys state:	 5: LinkUp
	rate:		 40 Gb/sec (4X QDR)
	link_layer:	 InfiniBand

Infiniband device 'mlx4_0' port 2 status:
	default gid:	 fe80:0000:0000:0020:0025:90ff:ff07:1952
	base lid:	 0x1
	sm lid:		 0x4
	state:		 4: ACTIVE
	phys state:	 5: LinkUp
	rate:		 40 Gb/sec (4X QDR)
	link_layer:	 InfiniBand

2. Как сконфигурирована фабрика? (кто менеджер фабрики?)
запущен ли opensm ?

3. Ну и наконец можно померить (если все верно)

host1 $ ib_send_bw -a
host2 $ ib_send_bw -a host1

По поводу версии ядра, участники конечно правы.
Но infiniband штука капризная на Gentoo, ибо not certified.
Я живу на 3.17.7-gentoo... и то, не с первого раза удалось добиться более-менее стабильной работы NFS over RDMA.
Фишка RedHat и остальных интерпразйев в каких=то особенных патчах ядра, которые исправляют недочеты работы OFED.
Сборка вручную драйвер OFED еще тот секс! Я использую драйвера из ядра.
И знаю, что это НЕ максимально оптимально!
Запаса пропускной способности пока хватает, хотя потери сейчас около 30%
Должно быть порядка 32 гигабит... по тестам пока получаю не более 22 гигабит

---------------------------------------------------------------------------------------
 #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]   MsgRate[Mpps]

 8388608    1000           2787.05            2787.05		   0.000348

у меня 3 ноды (будет 5 когда

у меня 3 ноды (будет 5 когда заведу эти 3) платы двухпортовые но использую по одному порту, стоит свич меланоксовский 36 портовый.


filo_server3 ~ # ib_send_bw -a 10.0.0.3
---------------------------------------------------------------------------------------
Send BW Test
Dual-port : OFF Device : mlx4_0
Number of qps : 1 Transport type : IB
Connection type : RC Using SRQ : OFF
TX depth : 128
CQ Moderation : 100
Mtu : 4096[B]
Link type : IB
Max inline data : 0[B]
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
#bytes #iterations BW peak[MB/sec] BW average[MB/sec] MsgRate[Mpps]
2 1000 23.75 15.67 8.217950
4 1000 47.15 41.46 10.868992
8 1000 96.83 83.92 10.999267
16 1000 190.73 152.17 9.972771
32 1000 375.78 311.24 10.198689
64 1000 735.09 628.69 10.300397
128 1000 1393.88 1178.44 9.653809
256 1000 2034.51 1570.39 6.432335
512 1000 2521.64 2245.06 4.597887
1024 1000 2656.77 2573.88 2.635654
2048 1000 2821.94 2796.89 1.432006
4096 1000 2939.71 2939.26 0.752452
8192 1000 2994.69 2994.52 0.383298
16384 1000 3019.59 3019.42 0.193243
32768 1000 3039.17 3039.13 0.097252
65536 1000 3048.78 3048.67 0.048779
131072 1000 3052.55 3052.51 0.024420
262144 1000 3054.22 3054.21 0.012217
524288 1000 3055.14 3055.14 0.006110
1048576 1000 3055.69 3055.67 0.003056
2097152 1000 3055.98 3055.98 0.001528
4194304 1000 3056.11 3056.11 0.000764
8388608 1000 3056.19 3056.18 0.000382
---------------------------------------------------------------------------------------

показания вот такие, лучше думаю не будет. т.к.
http://www.hpcadvisorycouncil.com/events/2013/Switzerland-Workshop/Presentations/Day_1/10_Training.pdf

opensm запущен на всех нодах, для отказоустойчивости.
А вот про версию ядра не понял нифига - какая версия нужна, и нужна ли? т.к. расчеты мои показывают 2,5 (скорость одной линии pci в одну сторону) · 2 · 0,8 = 4 Гбит, 4 Гбит * 8 линий = 32 Гбит ну и минус накладные расходы = ib_write_bw -d mlx4_0 -F 10.0.0.1 --report_gbits

---------------------------------------------------------------------------------------
RDMA_Write BW Test
Dual-port : OFF Device : mlx4_0
Number of qps : 1 Transport type : IB
Connection type : RC Using SRQ : OFF
TX depth : 128
CQ Moderation : 100
Mtu : 4096[B]
Link type : IB
Max inline data : 0[B]
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
#bytes #iterations BW peak[Gb/sec] BW average[Gb/sec] MsgRate[Mpps]
65536 5000 26.37 26.37 0.050290
---------------------------------------------------------------------------------------

в пике бывает 28 показывает.

По версии ядра не подскажу. Я

По версии ядра не подскажу.
Я эту систему собирал почти год назад.
Вот с этой версией ядра и драйверами infiniband + RDMA у меня стабильно заработал NFS over RDMA.
С другими доступными на тот момент версиями, где-то что-то вылетало. Уже не помню точно.
Так что здесь верный принцип - работает не трогай :)

А результаты у вас действительно нормальные... Я так понял у вас тоже 4xQDR, не увидел статуса IB.

ibstatus Infiniband device

ibstatus
Infiniband device 'mlx4_0' port 1 status:
default gid: fe80:0000:0000:0000:0002:c903:000f:6d27
base lid: 0x4
sm lid: 0x2
state: 4: ACTIVE
phys state: 5: LinkUp
rate: 40 Gb/sec (4X QDR)
link_layer: InfiniBand

InfiniBand: Mellanox Technologies MT26428 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE] (rev a0

вот такие карточки. Спасибо за ответ теперь понятно что скорость в рамках разумного.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".