Infiniband

Q: Mellanox Infinihost + Windows 8 + SRP?

Граждане читатели!

Вот у меня задуман переход на Win 8.1 (в процессе задуманного апгрейда монитора). А дисковая полка то у меня - по Infiniband+SRP подключена.

Про..этосамое сегодня полдня, вот на таких граблях:

  • WinOFED 4.x (от которого опенсорса не могу найти, брал с сайта Mellanox) - совместим с Win8, но не содержит драйверов Mellanox Infinihost. Только ConnectiX.
  • WinOFED 3.2, который у меня на Win7 работает: не ставится на Win8, там проверка версии во встроенном скрипте (а не в параметрах MSI, их я умею снять)
  • WinOFED 2.1 - ставится на Win8 (проверки в скрипте нет), с виду работает, но там нету SRP (точнее, в релнотесах написано что есть бета, но следов этой беты не видно)
И как жить? Все бросить и собрать WinOFED3 самому? Я даже начал, но он захотел WIX, потом Windows DDK (WDK), потом Windows SDK6.1 и вот на стадии SDK я сломался (у меня его нету из принципа, чтобы с SDK от Win8 не дрался).

Может кто решал проблему и решил?

Аналогичная проблема должна быть на Windows Server 2012, если вдруг у вас есть для нее драйвера Infinihost+SRP - поделитесь пожалуйста!

P.S. Я могу и на IPoOB + iSCSI пожить, но SRP сильно веселее....

О новых технологиях

Со страху заменил оставшиеся в сторадж-боксе старые сигейтовские SAS-овские терабайтники (2008-го года) на терабайтные же WD RE4 (SATA). Старые - пусть дискетками поработают.

Результат:

  • +10% к трансфер рейту, было ~630-650Mb/sec на чтение-запись, стало 720-730.
  • Минус 10 градусов к температуре, старые диски грелись до ~42C, нагревая соседей до 35, а теперь 30 градусов, при том что в комнате 22, а ящик стоит в шкафу, который висит на теплой стене).

Чтобы два раза не вставать: в этом же ящике с середины сентября живет 400-ваттный безвентиляторный БП Seasonic. Впечатления самые благоприятные: хрен с ним с шумом, этот питальник холодный. Понятно что гружу я его отсилы ватт на 200 (8x10вт диски, 65вт. CPU, карточки тоже теплые, а значит жрут, вентиляторы крутятся), но 500-вт Thermaltake, который там стоял до того, грелся при такой нагрузке вполне самостоятельно.

Стоит этот питальник неприлично, но если бороться за тишину или температуру, то он - хороший. Во второй сервер купил такой же, потому что тамошний Zalman тоже противно греется.

Домашний стораджбокс: производительность iSCSI/SRP, FreeBSD/Linux

Как и обещал, привожу результаты тестирования перформанса нового дискового ящика.

Помня о весенних результатах (когда тестировался доступ по Infiniband к RAM-диску), я не стал тратить много времени на Samba (хотя и померял, см. ниже) и вдумчиво тестировал только iSCSI/SRP варианты.

Hardware

Клиент: Intel i7-2600K без оверклока, 16Gb RAM (DDR3-1600), Windows7. Файрволл выключен, антивирус деинсталлирован (с антивирусом получается весело, но результаты невоспроизводимы).

Сервер: Intel i5-2400 без оверклока, 8GB RAM, Adaptec ASR-5805, 6x Seagate Barracuda ES.2 SAS 1Tb...

Про Infiniband и FreeBSD (again)

Все-таки Infiniband на линке FreeBSD-FreeBSD получается какой-то очень мучительный:

  • Datagam Mode - устойчиво теряет несколько процентов пакетов на ping -f (icmplim, естественно, задран до небес, разрешающее правило в ipfw - первое). Ну и всякие iperf работают в лучшем случае на гигабит, а обычно и меньше.
  • Connected Mode на первый взгляд лучше: packet loss 0%, гигабитов эффективных примерно 5, но:
    • Установить эту самую Connected Mode между двумя машинами получается не с первого раза. Иногда надо ifconfig down сказать, иногда хватает с одной стороны, иногда надо с двух.
    • Могучий tcp-поток с одной из моих машин на вторую (ftp get /dev/zero /dev/null) может отправить ее в ребут или просто в транс. При этом в другую - все в порядке и я даже zfs send/zfs receive на 6Tb в середине недели успешно исполнил.
При этом на тех же картах, портах, кабелях связка FreeBSD - Windows работает отлично и tcp-потоки никого никуда не отправляют. Но только в Datagram Mode. С нулем потеряных пакетов. Я уже вторую неделю так живу на своей WS, ни одного Ethernet, только IB (только хардкор!).

Да, попытка поднять Connected Mode между FreeBSD и Windows один раз таки удалась. После каких-то перезагрузок, подниманий-опусканий интерфейса и т.п. При этом отвалились пинги с Windows, а вся конструкция прожила минут 20, а потом FreeBSD-шная сторона перезагрузилась.

Не исключено, конечно, что какое-то железо где-то как-то криво, но с Windows все, повторяю, работает.

Такие вот вести с полей.

Про Infiniband FreeBSD-FreeBSD

Тут спрашивали, как работает IB с FreeBSD на FreeBSD.

Вкратце: очень странно работает. Но байты ходят, достаточно быстро, пользоваться можно.

Сначала мне не удалось ЭТО завести (при том, что линк FreeBSD-Windows7 на тех же картах, портах и драйверах работает прекрасно). Но тут удачно подсказали в комментариях, что это место обновилось.

Ну значит csup && make buldworld && make buildkernel, перезагружаемся и оно работает. При этом

  • При неудачном стечении светил, оно может работать в одну сторону
  • ...

10G дома: Infiniband + FreeBSD

Я тут интересовался про Infiniband и FreeBSD, теперь могу и сам рассказать :)

Datagram mode

Для начала нужна FreeBSD 9. У меня - какая-то, cvsup делал где-то в январе или около того.

Далее все тривиально:

/etc/make.conf:

WITH_OFED=yes
Конфиг ядра (в GENERIC это место не включено) /sys/amd64/conf/OFED:
include GENERIC
options OFED # Infiniband protocol stack and support
options SDP # Sockets Direct
...

10G дома: Infiniband, Linux, Samba, iSCSI, SRP

Для начала картинка. Это SRP (SCSI RDMA Protocol), поднятый на Linux, клиент - Windows 7.

Если сравнивать с картинкой для iSCSI поверх Myricom (вторая картинка в этом посте), то выросла скорость на мелких блоках и нет падения на блоках больше 256к.

Но по порядку.

Гружу линукс, запускаю Samba, меряю. Хреново как-то, сильно хуже (на мелких файлах) чем было на Myricom, кардинально хуже. На iSCSI то же самое,...

10G дома: Infiniband, Windows-SMB

Продолжаю потихоньку упражняться с 10G, вынул Myricom, вставил IB. Все под виндой, до Linux+IB руки только на выходных дойдут.

Для начала - завлекательная картинка:

На самом деле, я и слегка за 1Gb/sec видел, чего не должно бы быть (реальных гигабит данных 8 ровно), спишем на точность подсчета виндой.

Под катом: как оно было получено и что было получено еще.

Сетап: две машины под Win 7/x64. Карты Mellanox...

10G дома: IB performance

На всплывавший ранее вопрос "а потянет ли PCIe 1.0 8x два порта Infiniband" ответить не могу, ибо кабель на руках пока один. Один порт тянет:

 RDMA_Read Bidirectional BW Test Connection type : RC local address: LID 0x200, QPN 0x8042600, PSN 0xd0710000, RKey 0x3100f6 VAddr 0x00000000f60040 remote address: LID 0x100, QPN 0x8041c00, PSN 0x982e0000, RKey 0x3100b6 VAddr 0x00000001060040 Mtu : 2048 ------------------------------------------------------------------ #bytes #iterations BW peak[MB/sec] BW average[MB/sec] 2 1000 0.79 0.75 4 1000 1.81 1.51 8 1000 3.38 3.00...

10G дома: первые успехи

Как я и предполагал в предыдущем посте на тему, дело было в бобине кривом кабеле (а чего я хотел за $16 без доставки...).

Не сдержался, купил 3-метровый D-Link в московской рознице, руки то чешутся.

Все практически мгновенно завелось, с одной тонкостью, результат вполне бодрый:

ttcp PID=0x1e20 TID=0xd60
ttcp -t: buflen=65000, nbuf=10000, align=16384/0, port=5001  tcp  -> 10.1.1.2
ttcp -t: 650000000 bytes in 718.00 real MilliSeconds = 863.35 MByte/sec +++
ttcp -t: 10000 I/O calls, msec/call = 0.07, calls/sec = 13927.58

Это Connected Mode, MTU 65520, размер пакета - 65000 для ровного счета. Windows - Windows.

А помянутая выше тонкость простая: если нет свитча, то Subnet Manager надо запускать до того, как воткнута карта. Без этого оно о скорости договаривается не всякий раз правильно, бывают и те 1x, которые меня мучали в прошлый раз.

И, сюрприз, IPoIB прекрасно работает при 4x, но не работает на 1x. Хотя Infiniband-пакеты успешно ходят на обеих скоростях.

Плотно займусь рассмотрением скоростей (самба, iscsi, SRP) - не раньше выходных, пока RawDigger не дает отвлечься. C FreeBSD, вероятно, тоже будут приключения.

10G дома: 6 букв, вторая "и"

Приехали первые (короткие) CX4-кабели и я начал поднимать Infiniband прямо на столе (до сервера эти кабели не дотянутся).

Собственно, исходно я клюнул на IB из соображений поразвлечься. Имею сказать, что развлекся я уже по полной программе, эти $69 себя уже окупили полностью.

Две машины, Win 7 x64 и Ubuntu 11.10.

Ставим драйвера (OFED 3.0 под Windows, драйвера из поставки в Убунте, кажется это Linux OFED 1.4.x), всовываем кабель, запускаем opensm, имеем в первом приближении счастье: PORT_ACTIVE...

Q: Infiniband timeout

А вот, я извиняюсь, вопрос (на мое предложение никто толком не откликнулся, приходится зарабатывать эти деньги самому). Дано:

  • Infiniband-switch (на шасси Blade-сервера), Mellanox-какой-то там, OEM (SuperMicro, если это существенно).
  • 12 blade-серверов, воткнутых в этот свитч каким-то внутренним коннектом. На серверах карты Mellanox ConnectX-какой-то, по одной штуке на сервер.
  • И еще один внешний сервер, с двухпортовой IB-картой, тоже Mellanox.
  • На всем этом стоит CentOS 5.4 с OFED-1.5.3
IB используется только для (Open)MPI, никакого IPoverIB нету, для IP - отдельная 10G/1G-сеть.

Все включилось и заработало как-то само, ну вот только OpenSM запустили, так и завелось. И, в-общем, работает, НО:

Периодически, собственно при запуске HPL на всех узлах кластера, узлы отваливаются. Не каждый раз, не один и тот же узел, но все-равно раздражает ужасно. Сообщение всегда одно и то же: The InfiniBand retry count between two MPI processes has been exceeded (и далее - длинный рассказ где чинить). Значения таймаута - стандартные.

Вопрос, собственно, простой: это обычное поведение при default-таймаутах и маленьком кластере или мне надо, вместо увеличения таймаута, искать проблемы (обновлять драйвера, тыкать блейды в другие слоты и т.п.)? Update: после перетыкания проблемных блейдов местами - проблема ушла. Наука о контактах!

Q: Infiniband и FreeBSD

Читаю тут Гугл про Infiniband (по случаю вчерашнего поста) и внезапно выяснил, что 2-портовые карты на eBay продаются вообще по $22 (+ доставка, две карты получаются чуть меньше $100)

Так как я давно вынашиваю мысль поднять дома линк быстрее 1Gbit/s на небольшом пятачке вокруг рабочего стола, я сильно возбудился. Но есть вопросы:

  1. Верно ли я понимаю, что CX4-кабель для Ethernet и Infiniband MicroGigaCN (как его называет Mellanox) и просто банальный 4xSAS (SFF-8470) - это все одно и то же?
  2. Есть ли драйвера для Mellanox Infiniband под FreeBSD9? Или таки светит мне Linux на NAS?
  3. Верно ли я понимаю, что взяв три 2-портовые карты (1-портовых нету) я могу 3 машины соединить в P2P-сеть и внутри каждой пары будут искомые 10G (после вычета оверхеда - 8G data)? В каждой паре заведу свою IP-подсеть, роутинга не надо. Что в такой конструкции будет с subnet manager, можно ли OpenSM-у сказать "этот интерфейс не твой"?

А вот кто хочет кластер понастраивать?

Граждане читатели!

У дружественной мне компании-интегратора есть задача: они поставили заказчику железо в виде blade-сервера, в каждом блейде есть infiniband, на шасси - infiniband-свитч. Все вместе - маленький вычислительный кластер, я так понял что 12 блейдов, наверное 24 процессора, всего ядер получается пара-тройка сотен. Никаких GPU нету, чистый CPU-кластер.

Нужно: провести какую-то настройку этого дела, взгромоздить туда MPI (не знаю какой), запустить HPL и продемонстрировать, что все работает и с какой-то разумной скоростью считает. Получать безумную эффективность не надо, работает, масштабируется как-то - и прекрасно.

Естественно, не бесплатно.

Если вы на практике имели дело с (начальной) настройкой чего-то подобного и имеете желание подработать день-другой (ну я не знаю сколько там надо на самом деле), пишите мне на lexa@lexa.ru и я вас дальше сконнекчу.

По датам это, ориентировочно, нужно в середине следующей недели, вторник-четверг.

P.S. Дефолт-сити.

P.P.S. Обратились, собственно, ко мне, но я не настоящий сварщик и вот прямо в данное время не хочу/не могу учиться за счет заказчика, не до того.

P.P.P.S. Спасибо за советы "какой готовый дистрибутив взять", но я пытаюсь решить другую задачу: не найти удочку, а нанять умелого рыбака.

Subscribe to Infiniband