Про Infiniband FreeBSD-FreeBSD

Mar 19, 2012 16:52


Кросспост из блога автора. Комментировать лучше там, но можно и тут

Тут спрашивали, как работает IB с FreeBSD на FreeBSD.
Вкратце: очень странно работает. Но байты ходят, достаточно быстро, пользоваться можно.
Сначала мне не удалось ЭТО завести (при том, что линк FreeBSD-Windows7 на тех же картах, портах и драйверах работает прекрасно). Но тут удачно подсказали в комментариях, что это место обновилось.
Ну значит csup && make buldworld && make buildkernel, перезагружаемся и оно работает. При этом
  • При неудачном стечении светил, оно может работать в одну сторону (в одну сторону пинги ходят, в другую - нет), лечится down/up интерфейса. Это у меня было в Datagram mode, пару раз.
  • Connected Mode между двумя FreeBSD - поднялась. Пинги ходят, байты тоже, о производительности ниже. MTU работает и 16k (как уже обсуждали) и 65520 - тоже.
  • Connected Mode между FreeBSD и Windows так и не починилась. Возможно, надо перегрузить (в каком-то порядке) обе машины и я еще буду пробовать, но пока симптомы те же, что и в прошлый раз (слишком большой пакет, не будем слать). Лечится установкой mtu 2044 на FreeBSD-шной стороне.
Производительность:
Сразу в Conneсted Mode, в Datagram не померял, а переключаться обратно - это другое ядро ставить.
1.Пинги:


  1. lexa@new-gw:/home/lexa# ping -f -s 48000 10.1.1.1

  2. PING 10.1.1.1 (10.1.1.1): 48000 data bytes

  3. .^C

  4. --- 10.1.1.1 ping statistics ---

  5. 93944 packets transmitted, 93943 packets received, 0.0% packet loss
При этом по netstat на другой машине чудеса:


  1. lexa@home-gw:/home/lexa# netstat -I ib1 1

  2.             input          (ib1)           output

  3.    packets  errs idrops      bytes    packets  errs      bytes colls

  4.      16108     0     0  193714808       8043     0  386983328     0

  5.      16084     0     0  193426184       8047     0  386751896     0

  6.      16048     0     0  192993248       8025     0  385781288     0

  7.      16111     0     0  193751664       8046     0  387011880     0
Если поделить байты на пакеты, то получается что на input приходят 12-килобайтные пакеты, а обратно уходят - 48-килобайтные ответы. Счетчик байтов при этом не сходится. Какие-то чудеса, впрочем эту тему уже обсудили.
2. FTP:


  1. lexa@new-gw:~# ftp 10.1.1.1

  2. Connected to 10.1.1.1.

  3. 220 home-gw.lexa.ru FTP server (Version 6.00LS) ready.

  4. ...

  5. ftp> get /dev/zero /dev/null

  6. local: /dev/null remote: /dev/zero

  7. 229 Entering Extended Passive Mode (|||51760|)

  8. 150 Opening BINARY mode data connection for '/dev/zero'.

  9. ^C^C

  10. receive aborted. Waiting for remote to finish abort.

  11. 426 Transfer aborted. Data connection closed.

  12. 226 Abort successful.

  13. 17185484800 bytes received in 00:24 (672.59 MiB/s)
Ну, не 8 гигабит, как положено, а чуть более 5, но мне хватит. Тормозит, судя по top, ftpd на отдающей стороне, ложится на полку по CPU.
Смотрим теперь на netstat (на стороне ftp-сервера):


  1. lexa@home-gw:/home/lexa# netstat -I ib1 1

  2.             input          (ib1)           output

  3.    packets  errs idrops      bytes    packets  errs      bytes colls

  4.      34239     0     0    1917384      51361     0 1622175500     0

  5.      35272     0     0    1975232      52917     0 1671380692     0

  6.      29454     0     0    1649424      44186     0 1394678512     0

  7.      28467     0     0    1594152      42699     0 1348191044     0

  8.      28292     0     0    1584352      42453     0 1340368084     0

  9.      29375     0     0    1645000      44053     0 1390952404     0
Счетчик байтов точно врет раза в два.
На всякий случай скачал нормальный файл на пару десятков гигов, не /dev/zero, MD5 у оригинала и скачанной копии сошелся.

10G и Infiniband, infiniband, Разное, freebsd

Previous post Next post
Up