Рекомендованное оборудование.

Вступление:

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

И первый фактор - это конечно надежность. Серверные комплектующие разрабатываются для работы в режиме 24/7, проходят тестирование, и имеют гораздо большую наработку на отказ.

Резервирование: cерверные системы как правило имеют несколько блоков питания, системы коррекции ошибок, (оперативная память с ECC, блоки питания с защитой от перенапряжения, многократно дублированная система охлаждения и т.д). К примеру - если для домашнего компьютера нормально при при повреждении данных в одном из модулей оперативной памяти "зависнуть" - то сервер просто отключит неисправный модуль и продолжит работу. Если же в одном из модулей возникает скрытый сбой - компьютер может работать непрдсказуемо: зависать, выводить разные ошибки и аварийно завершать работу программ. В случае сервера - и ECC оперативной памяти - данные будут восстановлены, а модуль помечен как неисправный. Это только один из десятков примеров, по которым мы рекомендуем использовать серверное оборудование. К тому - же, цены на сервера бывшие в употреблении - сейчас вполне демократичны:

Image

В данном примере мы попробуем подобрать конфигурацию для сервера с теоретическими 4 - 5 dvb - картами, приемом 200 мегабит udp трафика и отдачей около 4 гигабит hls - стримов. (то есть усредненную конфигурацию для усредненного оператора.)

Сетевые карты:

Размер rx/tx-буфера

Меньше 1024 - не рекомендуется
2048-4096 - вполне неплохо
8192 - отлично

Число очередей

Сетевые карты с одной очередью не рекомендуются к использованию.
(всеми прерываниями будет заниматься только одно ядро процессора)

Пример хороших сетевых карт:

INTEL 82599ES, 82599EB (2 порта)
82599EN (1 порт)

Mellanox MT27520

Broadcom NetXtreme II BCM5708
NetXtreme II BCM5709
NetXtreme II BCM5716

SolarFlare SFN7122F

Процессоры

Частота Оптимальная частота для процессоров - 2.8 - 3GHz+, чем выше - тем лучше.

Процессоры с большим числом ядер, но низкой частотой - 1.8 - 2.2GHz не подходят для задач с низкими задержками. Низкая частота приводит к медленной обработке данных, и не масштабируется с числом ядер. Иными словами, числом ядер невозможно побороть задержки в обработке пакетов. Лучше не покупать такие процессоры, они созданы для других задач. (к примеру - базы данных, веб-сервера и прочие многопоточные приложения)

Процессоры без L3 кэша Процессоры с L2-only кэшем могут быть не такими уж плохими, но в 99% это сигнализирует о том, что остальное оборудование (материнская плата, оперативная память) старое и мало пригодное к использованию.

Пример хороших процессоров:

Intel Xeon 10C E5-2680v2
Xeon 8C E5-2670
Intel Xeon 6C X5670
Core i5-9600K

Оперативная память

Частота оперативной памяти - тоже довольно важная вещь. Приблизительные цифры для сравнения:

DDR1 400 MHz - не подходит
DDR2 600 MHz - подходит для небольших конфигураций (к примеру - прием 10-15 каналов и вещание их в udp)
DDR3 1333-1600 MHz - подходит
DDR4 2133-2800 MHz - подходит
DDR4 2800-3400 Mhz - избыточно, и как правило дорого.

Не создавайте из оперативной памяти узкое место.
Объем оперативной памяти важен только для хранения чанков (сегментов) hls.
Усредненное количество оперативной памяти для 100 hls каналов - 16Gb.

Сетевые карты которые НЕ рекомендуется использовать:

Основные причины:

Одна очередь на rx/tx, вне зависимости от числа доступных ядер процессора.
Отсутствие возможности задать параметры размеров ring-буферов сетевой карты (маленький буфер приводит к потерям)

Intel

82541GI Gigabit Ethernet Controller (rev 05)
82541PI Gigabit Ethernet Controller (rev 05)
82574L Gigabit Network Connection
82540EM Gigabit Ethernet Controller (rev 03)
82545EM
82579LM
82571EB Gigabit Ethernet Controller (rev 06)
82573L Gigabit Ethernet Controller
82573E Gigabit Ethernet Controller (rev 03)
82578DC Gigabit Network Connection (rev 06)
82546EB Gigabit Ethernet Controller (rev 01)
82546GB Gigabit Ethernet Controller (rev 03)
I219-V (rev 31)
I217
Хоть мы и рекомендуем сетевые карты Intel, но конкретно эти модели не советуем.
Только одна очередь, в итоге всем будет заниматься только одно ядро процессора.

Broadcom

Broadcom Corporation NetXtreme BCM5701
Broadcom Corporation NetXtreme BCM5704
Broadcom Corporation NetXtreme BCM5715
Broadcom Corporation NetXtreme BCM5719 - периодически появляются dropped / missed на 256 mbit/s.
Broadcom Corporation NetXtreme BCM5721
Broadcom Corporation NetXtreme BCM5722
Broadcom Corporation NetXtreme II BCM5708
Broadcom Corporation NetXtreme II BCM5709 - несмотря на наличие нескольких очередей RSS может начать работать только на одной из них, создавая высокую нагрузку на единственное работающее ядро
Broadcom Corporation NetXtreme II BCM5716 , поддерживает распределение прерываний на доступные ядра, но основную массу пакетов всё равно оставляет на нулевом ядре.

Разное

VIA Technologies, Inc. VT6105/VT6106S [Rhine-III] (rev 86)
Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet
Qualcomm Atheros AR8131 Gigabit Ethernet
Qualcomm Atheros AR8132 Fast Ethernet
Qualcomm Atheros AR8151 v2.0 Gigabit Ethernet (rev c0)
3Com Corporation 3c905C-TX/TX-M [Tornado]
Red Hat, Inc Virtio network device
Marvell Technology Group Ltd. 88E8057 PCI-E Gigabit Ethernet Controller
Marvell Technology Group Ltd. 88E8050 PCI-E ASF Gigabit Ethernet Controller
QLogic Corp. cLOM8214 1/10GbE Controller (rev 54) - не работает изменение числа очередей, из коробки 3rx, 1rxtx.
Сетевые карты NC326i

NVIDIA

Corporation MCP55 Ethernet (rev a3)
Проблемы:

только одна очередь.
при указании диапазона ядер smp_affinity_list использует только первое ядро (плохой драйвер)
нет возможности указывать coalesce параметры.
В результате даже при небольшом объёме трафика даёт очень высокую нагрузку на ядро процессора, которое занимается обработкой трафика с этой сетевой карты что приводит к неприемлемо медленной обработке пакетов.

DVB - карты

Digital Devices

Все dvb карты от этой компании отлично работают с astra.
DD Max S8 - 8 тюнерный S/S2 приемник со встроенным мультисвичем
DD Max A8i - 8 тюнерный DVB-C2/T2 ISDB-T приемник

Дополнительное оборудование от DD

DD RESI DVB-C FSM - модулятор DVB-C. Позволяет организовать вещание DVB-C в сеть оператора.
DD Octopus Twin CI - 2 CI интерфейса для декодирования каналов.

НЕ рекомендуем к покупке:

DD RESI SDR Modulator - П/О является закрытой разработкой, в связи с чем поддержка данного модулятора отсутствует.

TBS

TBS6904 - 4 тюнерный S/S2 приемник
TBS6909 - 8 тюнерный S/S2 приемник со встроенным мультисвичем
TBS6205 - 4 тюнерный DVB-T2/T/C приемник

DVBSky

T980CI - 1 тюнерный DVB-T/T2/C приемник с CI - слотом.
S950CI - 1 тюнерный DVB-S/S2 приемник с CI - слотом.
T9580 - 2 тюнерный S2/T2/T/C приемник с независимыми тюнерами.

НЕ рекомендуем к покупке:

SkyStar 1 - устаревшая карта, не поддерживает стандарт S2
Mystique SaTiX-SX - устаревшая карта, не поддерживает стандарт S2
USB тюнера: - часто встречаются "отвалы" данного оборудования.