Повышение производительности систем с помощью новых решений Intel

Логотип компании
02.08.2021Автор
Повышение производительности систем с помощью новых решений Intel
Каждая компания, работающая с огромным массивом данных и видеоконтентом, в частности, рано или поздно задается вопросом: а как эффективно решать задачи масштабирования инфраструктуры?  

В своем экспертном материале компания NUT.Tech делится опытом работы с интересным решением от Intel и рассказывает обо всех тонкостях его использования.

Когда перед компанией встает задача развивать высокопроизводительные масштабируемые решения, в самую первую очередь нужно думать о конфигурации вашего железа. Например, мы выбрали решение на базе центральных процессоров Intel Xeon Gold processor 6230R, которое позволяет достигать до 110 Gbps исходящего трафика при более 20к RPS, используя сетевые интерфейсы 25 Gbps. Если судить по нашему опыту, то для более эффективного использования места в стойках, стоит всегда стремиться увеличивать плотность видео отдачи с одного юнита, не забывая в этой гонке о резервировании и об отказоустойчивости сервиса, в целом. Таким образом, если мы когда-то имели дело с серверами видео отдачи с исходящим трафиком в несколько Gbps, изначально базирующихся на платформах с процессором Intel Xeon Processor X5660 (нам они нравились своей сбалансированностью), то сейчас эволюционировали до платформ на центральных процессорах 2nd Generation Intel Xeon Scalable Processors.

Пример конфигурации сервера видеоотдачи:

Intel Xeon Gold 6230R Processor

x2

RAM: 16GB DDR4 2933MHz

x8

SATA SSD PM883 480Gb

x1

Intel XXV710-DA2 (2x25Gbps)

x3








Увеличить производительность такой конфигурации позволяют адаптеры, использующие технологию технологии Intel QuickAssist (Intel QAT) за счет обработки TLS сессий (в нашем случае TLS 1.3 c шифром TLS_AES_256_GCM_SHA384). Так же данная технология позволяет ускорить обработку следующих операций: симметричное шифрование и аутентификацию, асимметричное шифрование, цифровые подписи, RSA, DH, ECC и сжатие данных без потерь.

Intel QAT адаптеры представляют собой устройства с тремя физическими чипами (поддерживающих виртуализацию с помощью Virtual Function устройств) использующие шину PCI-E Gen3.0 x16, которым можно передать нагрузку по обработке сессий шифрования с клиентами.

Для оптимальной конфигурации потребовалась платформа с шестью слотами PCI-E (4x PCI-E Gen3.0 x8 для сетевых карт и 2х PCI-E Gen3.0 x16 слотам для Intel QAT адаптеров).

Тесты проводились в разных конфигурациях, как с одним, так и с двумя акселераторами, в итоге был сделан вывод, что для лучшей производительности для двух процессоров использовать две карты Intel QAT, тем самым утилизировав их co-processor’ы на 80%.

При использовании такого сервера видеоотдачи с Nginx, Intel QAT адаптер берет на себя около 30% нагрузки по шифрованию сессий с клиентами.

Intel Xeon Gold 6230R Processor

x2

16GB DDR4 2933MHz

x8

SATA SSD PM883 480Gb

x1

Intel XXV710-DA2 (2x25Gbps)

x4

Intel QA Adapter 8970

x2

В рамках проведенного тестирования (отдача видео c помощью протокола HLS в 5 качествах 288p, 360p, 576p, 720p, 1080p.) удалось увеличить показатели производительности сервера в количестве NGINX RPS (requests/sec).

А также в объеме переданного трафика при полной утилизации процессора.


Idle (%)

Nginx RPS (requests/sec)


Outgoing traffic (Gbps)

Idle (%)

Outgoing traffic (Gbps)

2x6230R

10

21K


100

3

110

2x6230R +2x QA

10

33K


100

3

170






Повышать плотность отдачи в рамках 1U платформ на базе PCI-E 3.0 уже не представлялось возможным, в связи с этим в дальнейшем планируем переход на платформы с PCI-E 4.0 и более емкими сетевыми картами с портами 100Gbps.

Данная технология будет так же актуальна для таких задач как: балансировщики (TLS offload), фронтенды с функцией терминации SSL (в будущем было бы интересно провести тесты).

Для себя мы хотели понять, насколько может быть востребовано это решение в отличии от горизонтального масштабирования типовых серверов видеоотдачи – как технологически, так и экономически. Экономическую эффективность в ~15% можно достичь на 2U серверных платформах за счет увеличения плотности сетевых интерфейсов используя 2х процессорную конфигурацию. А технологически это довольно интересное решение, которому найдётся применение явно не только в части доставки контента.

Похожие статьи