Кластер із двох або чотирьох вузлів впирається не у відеокарти, а в те, чим ці вузли зшиті. Питання звучить однаково від усіх, хто збирає першу машину під навчання моделей: брати InfiniBand чи вистачить Ethernet на 100 Гбіт/с. Нижче цифри з даташитів, те, що доведеться налаштувати в обох випадках, і межа, після якої Ethernet перестає бути дешевшим варіантом.

Коротко

  • ConnectX-7 віддає 400 Гбіт/с на порт і 330 до 370 мільйонів RDMA-повідомлень за секунду, інтерфейс до хоста PCIe Gen5
  • VPI-карта перемикається між InfiniBand і Ethernet командою mlxconfig, тобто протокол не замуровується при купівлі
  • Фабрика InfiniBand не підніметься без subnet manager. У MQM9700 він усередині й тягне до 2000 вузлів, MQM9790 такого не має
  • RoCE на комутаторах Spectrum вмикається командою nv set qos roce, режим за замовчуванням lossless із PFC та ECN
  • Один порт OSFP на Quantum-2 несе 800 Гбіт/с, тобто два NDR по 400. Звідси 64 порти з 32 кліток і потреба в спліттерних кабелях

Що саме бігає між вузлами

Усередині вузла карти спілкуються по NVLink і PCIe, і туди мережа не лізе. Назовні виходить рівно один тип трафіку: синхронізація. На кожному кроці навчання вузли обмінюються градієнтами, і поки цей обмін іде, обчислення стоять. Саме тому мережа в кластері міряється не швидкістю копіювання файлів, а тим, скільки дрібних повідомлень за секунду вона протягне.

Для інференсу картина інша. Якщо модель уміщується в пам'ять одного вузла, між вузлами майже нічого не ходить: запит прийшов, відповідь пішла, сусідні машини про це не знають. Кластер із чотирьох таких вузлів чудово живе на звичайному Ethernet, бо мережа обслуговує користувачів, а не обчислення.

Межа проходить там, де модель перестає вміщатись у вузол. Тоді ваги ріжуться між машинами, і кожен токен на генерації тягне обмін по мережі. Ось тут затримка починає коштувати грошей.

Цифри ConnectX-7 з даташита

Даташит NVIDIA дає такі параметри: сумарна смуга 400 Гбіт/с, відповідність специфікації IBTA 1.5, від одного до чотирьох мережевих портів, хостовий інтерфейс PCIe Gen5 до 32 ліній. Швидкість RDMA-повідомлень заявлена як 330 до 370 мільйонів за секунду. У кремній вбудовані рушії прискорення: колективні операції, MPI All-to-All, MPI tag matching і програмований прискорювач датапаса.

Остання строчка важливіша, ніж здається. Колективні операції на карті означають, що частину роботи all-reduce робить мережа, а не процесор вузла. На Ethernet цю ж роботу доведеться робити софтом.

Одна карта під два протоколи

Плутанина починається з назв у прайсі: «400GbE (default mode) / NDR IB» виглядає як дві різні карти в одному рядку. Це одна карта. Порт ConnectX перемикається між InfiniBand і Ethernet параметром прошивки, документація на mlxconfig описує це як LINK_TYPE_P1 зі значеннями 1 для InfiniBand і 2 для Ethernet. Після зміни потрібне перезавантаження, більше нічого.

Практичний висновок простий. Якщо ви вагаєтесь між протоколами, візьміть VPI-карту й вирішуйте пізніше, на живому навантаженні. Помилка коштуватиме перезавантаження, а не нового замовлення.

Модель Режими Порти Кому
MCX75310AAS-NEAT NDR InfiniBand, 400 Гбіт/с 1 × OSFP, PCIe 5.0 x16 навчання на кількох вузлах
MCX715105AS-WEAT 400GbE або NDR, перемикається 1 × QSFP112, PCIe 5.0 x16 коли протокол ще не вирішено
MCX755106AS-HEAT 200GbE або NDR200 2 × QSFP112, PCIe 5.0 x16 два порти під резерв або дві фабрики
MCX713104AS-ADAT 25 та 50GbE, тільки Ethernet 4 × SFP56, PCIe 4.0 x16 сховище, VDI, керування

InfiniBand не працює без subnet manager

Це те місце, де перший кластер зупиняється на добу. В Ethernet ви ввімкнули комутатор і лінк піднявся. В InfiniBand фабрику треба комусь роздати адреси й побудувати маршрути, і поки цього не сталось, порти світяться, а трафік не йде. Документація MLNX_OFED формулює жорстко: subnet manager має працювати у фабриці постійно, запускати його можна на будь-якому вузлі або на комутаторі, у складі OFED для цього є OpenSM.

Звідси різниця між двома комутаторами, які в каталозі виглядають однаково. MQM9700 керується сам: subnet manager усередині, за документацією на серію QM97XX він піднімає фабрику до 2000 вузлів без сторонніх сервісів. MQM9790 керується ззовні, під нього потрібен UFM або OpenSM на одному з серверів. Ціна нижча, адміністрування дорожче.

Решта цифр по обох: 64 непідблоковані порти NDR і до 51,2 Тбіт/с сумарної смуги в обидва боки, 32 клітки OSFP, режим port-split дає до 128 портів NDR200. Третє покоління SHARP рахує колективні операції всередині мережі. Споживання за документацією: у MQM9700 типове 747 Вт і максимум 1720 Вт, у MQM9790 640 Вт і 1610 Вт. Плануйте живлення стійки під максимум, а не під типове.

Для двох вузлів комутатор не обов'язковий. Дві карти з'єднуються кабелем навпростець, OpenSM піднімається на одному з хостів, фабрика працює. Мінус у тому, що цей хост стає точкою відмови: перезавантажили його, і сусід залишився без маршрутів.

Ethernet теж доводиться готувати

Аргумент «Ethernet простіший» тримається рівно доти, доки на ньому не треба запустити RDMA. RoCE поверх звичайного комутатора без налаштувань дасть втрати пакетів на першому ж сплеску, і швидкість навчання просяде так, що дешевше було взяти InfiniBand.

Хороша новина: на комутаторах Spectrum з Cumulus Linux це одна команда. Документація Cumulus описує nv set qos roce з наступним nv config apply. Режим за замовчуванням lossless: вмикається PFC на пріоритеті 3 і виділяється окремий буфер під RoCE. Режим lossy лишає тільки ECN, сигналізацію про перевантаження за RFC 3168. Там же написано те, що забувають: хости мають підтримувати RoCE, комутатор сам по собі нічого не вирішує.

Що з нашого асортименту закриває цю частину. MSN4600-CS2FC на Spectrum-3 дає 64 порти QSFP28 зі швидкостями від 1 до 100 Гбіт/с, це робоча магістраль для кластера на 100GbE. MSN3420-CB2RC на Spectrum-2 має 48 портів SFP28 і 12 портів QSFP28, тобто 25 Гбіт/с до вузлів і 100 Гбіт/с в аплінк. Для мережі керування є MSN2201-CSMRC з 48 портами RJ45. Окрема мережа керування виглядає надлишком рівно до першої ночі, коли основна фабрика лягла й до серверів немає як достукатись.

Кабелі: половина сюрпризів у бюджеті

На NDR клітка OSFP несе 800 Гбіт/с, тобто два порти по 400. Через це 32 фізичні клітки Quantum-2 і дають 64 порти NDR. Наслідок для закупівлі: кабель від комутатора до двох вузлів найчастіше спліттерний, один OSFP з боку комутатора й два роз'єми з боку карт. Порахувати кабелі як «по одному на вузол» означає замовити вдвічі більше, ніж треба.

У межах стійки беруть пасивну мідь: вона нічого не споживає й не гріється. Коли відстань більша за кілька метрів, у гру входить активна мідь, далі оптика з трансиверами й патч-кордами MPO12. Список того, що є на складі, лежить у розділі мережевого обладнання NVIDIA: спліттери на 800 Гбіт/с, DAC і AOC на 100 та 200 Гбіт/с, трансивери SR4 і оптичні збірки під NDR.

Коли вистачить Ethernet

Що робите Мережа Чому так
Інференс, модель уміщується у вузол 25 або 100GbE між вузлами ходять запити користувачів, а не ваги
VDI, рендер, обробка відео 25GbE до вузла, 100GbE в аплінк навантаження впирається в сховище, не в синхронізацію
Файнтюн на двох вузлах 200GbE з RoCE або NDR200 навпростець обмін є, але масштабу фабрики ще немає
Навчання на чотирьох і більше вузлах NDR та Quantum-2 all-reduce на кожному кроці, тут працює SHARP і адаптивна маршрутизація
Модель порізана між вузлами тільки NDR кожен токен тягне обмін, затримка стає видимою користувачу

Чого ця стаття не обіцяє

Ми не назвемо відсоток приросту для вашої моделі. Виграш InfiniBand залежить від частки комунікацій у кроці навчання, а вона різна в 8B і 70B, у повного файнтюна й у LoRA. Чесна відповідь виглядає так: якщо на ваших задачах вузли більшу частину часу рахують, різниця буде помітна лише в лозі профайлера. Якщо чекають один одного, різницю побачите по годинах на епоху.

Друге. Ціна фабрики InfiniBand це не тільки комутатор. Додайте карти, спліттерні кабелі, оптику, якщо стійки рознесені, і людину, яка вміє читати вивід ibdiagnet. Для двох вузлів під інференс така конструкція окупиться не швидше, ніж ніколи.

Порахуємо мережу під ваш кластер

Напишіть, скільки вузлів, які карти всередині й що на них рахується. Підберемо адаптери, комутатор і кабельну обв'язку, а заразом скажемо, де у вашому випадку InfiniBand не окупиться.

Отримати консультацію