Перейти до

BRAS на Linux и AMD EPYC2: возможно ли?


Рекомендованные сообщения

Доброго времени суток,

 

Есть ли у кого-то практический опыт построения  софтового (Линуксового) BRAS-а на платформе AMD EPYC2 (ну или хотя бы на просто EPYC)?

Если да, наблюдаются ли какие-то специфические для данной платформы проблемы: с производительностью, балансировкой прерываний от сетевых плат, RSS, RPS и т.д.? Что известно про совместимость с 10G-сетевыми платами (от Intel и Mellanox)? Какие сетевухи предпочтительнее?

 

Дополнительное требование: у нас клиенты подключаются по PPPoE, поэтому необходим именно правильно работающий RPS.

 

Мы традиционно строили аналогичные сооружения на интеловских Xeon-ах с интеловскими же сетевыми платами (раньше i350, потом 82599). Но в наш просвещенный век, когда кругом Meltdown, Spectre, Spectre 2, Spectre 3 и повышение цен, а AMD - это так стильно, модно и молодежно... Неудержимо хочется попробовать AMD. Сегодня собрать на Интеле примерно такой же БРАС, как три года назад (с аналогичной ожидаемой производительностью, но на новом железе) получается почему-то раза в полтора дороже, чем три года назад. А на Эпик2 аналогичная коробка (с той же ожидаемой производительностью) получается процентов на 10 дешевле чем Интеловская коробка трехлетней давности.

 

Только вот будет ли реальная производительность где-то вблизи ожидаемой? Сердце-то помнит страшные рассказы, которые ходили несколько лет назад, о том как плохо и даже ужасно делать БРАСы на AMD. Глядя на теперешние блок-схемы и даташиты Эпиков я не нахожу ничего ужасного. Но не скрывается ли оно где-то в глубине?

Відредаговано mpolk
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)
4 минуты назад, Nubs сказал:

Разницы никакой нет, главное на частоту памяти не забивать

 

Так а вы пробовали? Или это просто теоретическая концепция, которую неплохо было бы проверить, например, на мне? 😀

Відредаговано mpolk
Ссылка на сообщение
Поделиться на других сайтах

неплохая числодробилка.но необходима бубунта 18.04 и выше. другие дистры - курите в какой версии есть нормальная поддержка архитектур  zen/zen2

Ссылка на сообщение
Поделиться на других сайтах
13 минут назад, mpolk сказал:

Так а вы пробовали? Или это просто теоретическая концепция, которую неплохо было бы проверить, например, на мне? 😀

Два сервера на EPYC 7371, проц неплохой но выгоднее e5 2690v2/v3 с алика пока что ничего не придумали, такие два проца 100гиг проглотят на ура 

Відредаговано Nubs
  • Like 2
Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, Nubs сказал:

Два сервера на EPYC 7371, проц неплохой но выгоднее e5 2690v2/v3 с алика пока что ничего не придумали, такие два проца 100гиг проглотят на ура 

Спасибо, это уже кое-что. Думаю, если Эпик-первый годен к такому делу, то и второй должен потянуть.

Ссылка на сообщение
Поделиться на других сайтах
17 минут назад, mpolk сказал:

Спасибо, это уже кое-что. Думаю, если Эпик-первый годен к такому делу, то и второй должен потянуть.

у эпиков самое слабое место это infinity fabric - если вдруг приспичит гонять данные между кристалами или ядру захочется порыться в памяти к которой у него нет прямого доступа. это из общей теории.

Відредаговано nedoinet
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)
43 минуты назад, nedoinet сказал:

необходима бубунта 18.04 и выше. другие дистры - курите в какой версии есть нормальная поддержка архитектур  zen/zen2

О, вот это тоже интересный вопрос, и не все с ним ясно. Похоже, вы что-то про это знаете. Убунта 18.04 - это хорошо, это бы меня устроило. А вот ядро какое имеется в виду? Родное, 4.15? Или потребуется с HWE-ядрами мучаться?

 

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

6 минут назад, anti-stels сказал:

собираем брасы на ryzen, брат жив.

Спасибо, обнадеживает.

Відредаговано mpolk
Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, mpolk сказал:

Похоже, вы что-то про это знаете.

немного. архитектура такая же как на райзенах настольных. корячить ядра не надо. но из виденого - на 16.04 можем свалится в кернел паник и не воскреснуть. либо словить отвал переферии(линии pci-e у нас-то в проце из-за чего судя по всему и весь сыр-бор ) на виндах 7/8 и первых "чириках" реально получить краш видеосистемы, жесточайший инпут/аутпут лаг, приколы с работой с дисковой системой. ну то такое. не надо некрофилией заниматься с новым железом.

8 минут назад, mpolk сказал:

Линукс не захотел работать именно из-за процессора

там черезчур перепиленая архитектура. работать будет на старых дистрах, но вот стабильно ли - как звезды сойдутся.

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)
10 минут назад, nedoinet сказал:

у эпиков самое слабое место это infinity fabric - если вдруг приспичит гонять данные между кристалами или ядру захочется порыться в памяти к которой у него нет прямого доступа.

А у вторых Эпиков это уже не так, насколько я понимаю. У них теперь нет локальной памяти для ядер. Вся память колхозная. Это, конечно ухудшает показатели для отдельных ядер, но в среднем по палате показатели по словам АМД-ов улучшаются.
numa.jpg

Відредаговано mpolk
Ссылка на сообщение
Поделиться на других сайтах
17 минут назад, mpolk сказал:

Убунта 18.04 - это хорошо, это бы меня устроило. А вот ядро какое имеется в виду? Родное, 4.15? Или потребуется с HWE-ядрами мучаться?

20.04 LTS не за горами - там 5.4 уже будет, подождите уже пару месяцев...

 

2 часа назад, mpolk сказал:

А в каком смысле новый процессор (в данном случае EPYC2) может не поддерживаться той или иной ОС? Вот прямо так не загрузится система с дистрибутивной флэшки или не установится?

Эм-м-м... как это?😲 Архитектура команд amd64 как бы не менялась уже 20 лет... Другое дело дрова чтобы выжать максимум производительности, это да...

 

22 минуты назад, mpolk сказал:

Сколько я жил раньше, не разу не видел, чтобы Линукс не захотел работать именно из-за процессора, а теперь вот такие разговоры появились о (не-)совместимости. От того и недоумеваю.

Так проверьте в тестовом режиме, если есть на чем...

 

Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, ISK сказал:

20.04 LTS не за горами - там 5.4 уже будет, подождите уже пару месяцев...

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

5 минут назад, ISK сказал:

Эм-м-м... как это?😲 Архитектура команд amd64 как бы не менялась уже 20 лет... Другое дело дрова чтобы выжать максимум производительности, это да...

Я примерно про это и спрашивал. А @nedoinet пояснил.

5 минут назад, ISK сказал:

Так проверьте в тестовом режиме, если есть на чем...

Если бы было на чем, я бы прямо на этом чем-то и испытывал (и вопросов бы, скорее всего, не задавал). Но это что-то стоит около 90 килогривен. Так что я решил предварительно поспрашивать.

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, mpolk сказал:

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

Дык никто же не говорит что сразу:

1479712619339338016.jpg

А потрогать, пощупать для начала... Аборигены подождут, а опыт останется!

Ссылка на сообщение
Поделиться на других сайтах

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

Назначение правда другое, взяли под виртуализацию.

Відредаговано foreverok
Ссылка на сообщение
Поделиться на других сайтах
10 минут назад, foreverok сказал:

Назначение правда другое, взяли под виртуализацию.

Дык это немножечко совсем разные вещи, как бы, да...

Відредаговано ISK
Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, foreverok сказал:

под виртуализацию

Ну тут-то оно однозначно будет педалить. А вот как брас с пппое будет - непонятно. По сути эпик это самая натуральная многопроцессорка, тока на одной подложке, с несколькими нодами. Только вот эти ноды видны ли системе или разруливаются на уровне логики проца? В общем всем будет интересно.

Ссылка на сообщение
Поделиться на других сайтах
32 минуты назад, nedoinet сказал:

Ну тут-то оно однозначно будет педалить. А вот как брас с пппое будет - непонятно. По сути эпик это самая натуральная многопроцессорка, тока на одной подложке, с несколькими нодами. Только вот эти ноды видны ли системе или разруливаются на уровне логики проца? В общем всем будет интересно.

надо пощупать. Ждемс пока приедут, но это 2-3 месяца.

Ссылка на сообщение
Поделиться на других сайтах
41 минуту назад, nedoinet сказал:

По сути эпик это самая натуральная многопроцессорка, тока на одной подложке, с несколькими нодами

Как раз по сути 2ое поколение это огромные монолитные кристаллы, без NUMA-нод. Все ядра и интер-линки быстрые и одинаковые, глобальных проблем как с первым поколением нет.

IMHO для маршрутизатора важна сугубо скорость работы с памятью/кешами/шинами, и лучший тест для проверки - банальный бенч winrar'a. И тут новые чипы АМД выступают весьма хорошо.

Ссылка на сообщение
Поделиться на других сайтах
  • 3 months later...
Опубліковано: (відредаговано)

Сам отвечаю на поставленный мною же вопрос.

Да, возможно. Но с оговорками.

 

После двух месяцев эксплуатации нового БРАСа в реальной среде уже можно что-то сказать. Сервер мы купили не совсем такой, как хотелось, а такой, какой был на складе. Процессор хотели 7302, а получили 7282 (номинальная тактовая 2.8 ГГц вместо 3.0, а ядер столько же, т.е. 16). И материнская плата Supermicro H11SSL-i, т.е. под предыдущее поколение ЭПИКов, но с проапгрейженным под второе поколение БИОСом. Памяти пришлось поставить 32Г, чтобы занять хотя бы 4 канала. Хотя по объему мне бы и 2-х Г хватило. Систему поставили Ubuntu 18.04.

 

В результате получилось вот что:

 

  1. Сервер получился самым производительным из имеющихся у нас (хотя и не намного). Что и понятно, т.к. предыдущему поколению БРАСов у нас уже лет пять. БРАСы предыдущего поколения, на Intel Xeon E5-2650v2 x 2, могут обмолачивать примерно по 4500 пациентов в час пик. Новый сервер - примерно 5800 в то же время. Колеса начинают отваливаться при примерно 6200 пациентов. Это хорошо. А вот то, что не совсем хорошо:
  2. С родным для 18-й Убунты ядром 4.15 сервер более-менее работает. За исключением одного: ядро напрочь не узнает EDAC второго EPYC-а. Ругается примерно вот так:
    Jun  3 09:54:05 vasilisk kernel: [    9.484971] EDAC amd64: Error: Error probing instance: 0
    Jun  3 09:54:05 vasilisk kernel: [    9.580503] EDAC amd64: Node 0: DRAM ECC enabled.
    Jun  3 09:54:05 vasilisk kernel: [    9.580504] EDAC amd64: F17h detected (node 0).
    Jun  3 09:54:05 vasilisk kernel: [    9.580511] EDAC amd64: Error: F0 not found, device 0x1460 (broken BIOS?)
    

    Жить с этим в принципе можно, но обидно, т.к. совершенно нет уверенности, что ECC (да еще при таком конском объеме памяти) работает, как должно.
    С HWE-ядром 5.3 EDAC опознается благополучно, но возиться с HWE-ядрами не хотелось бы.

  3. Приёмистость нового БРАСа, т.е. скорость приема входящих пациентов, несколько ниже, чем у старых БРАСов. В результате, при нехватке пациентов новый сервер стоит недогруженным в то время, как его старшие товарищи трудятся в поте лица. Это, конечно не страшно: при выходе из строя какого-то из старых БРАСов новый тут же возьмет на себя его пациентов. Но неэстетично.

  4. Балансировка нагрузки ядер трафиком со стороны пациентов (со стороны городской сети) тоже имеет некоторые проблемы. Со стороны Интернета трафик, в вместе с ним и загруженность ядер балансируется без проблем силами сетевого адаптера (RSS), потому что трафик там не инкапсулирован в PPPoE. А вот со стороны пациентов трафик инкапсулирован и потому попадает весь в одну очередь и на одно ядро. У нас это традиционно лечилось с помощью RPS, который далее раскидывает нагрузку равномерно по ядрам. На Интеловских серверах дополнительная нагрузка на ядро, обрабатывающее аппаратные прерывания, была практически незаметна. А новом БРАСе она оказалась очень даже заметной, так что сервер начинало перепирать задолго до того, как средняя нагрузка на все ядра становилась критической. Пришлось ядро, занятое аппаратными прерываниями, полностью освободить от дальнейшей обработки трафика. В результате оно оказывается недогруженным, но так как SoftIRQ-шная нагрузка, снятая с этого ядра, равномерно распределяется по 7-и остальным ядрам, то жить опять-таки можно. Не исключаю, что пробемы из пп. 3 и 4 могут быть как-то взаимосвязаны.

Відредаговано mpolk
  • Like 4
  • Thanks 1
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...