Тестирование производительности транскодирования Wowza Streaming Engine и серверной платформы Supermicro MicroBlade

2016-04-03 13:36:00

Компания PWI провела тестирование новой серверной платформы Supermicro MicroBlade для определения возможности ее использования совместно с программным обеспечением Wowza Streaming Engine в качестве сервера транскодирования.

При необходимости транскодирования большого количества потоковых видео и аудио данных OTT оператор сталкивается не только с проблемой выбора производительной аппаратной платформы, но и с проблемой компактного размещения как можно большего количества кодирующего и коммутационного оборудования в стойке, необходимостью обеспечить быструю заменяемость любого транскодирующего сервера с минимальными затратами на их отключение и подключение.

При использовании обычной серверной платформы ( даже если это 1RU - Rack Unit) возникают проблемы следующего характера:
  • Любой 1RU корпус представляет собой неравномерно заполненный системный блок. Это связано с тем, что он изначально проектировался как универсальное средство, позволяющее установить дополнительные платы расширения. Это обычно занимает значительную часть стоечного пространства. Для транскодирования важна же только вычислительная мощность CPU/GPU и другие подсистемы используются мало.
  • В случае выхода сервера из строя необходимо извлечь его из стойки, произведя отключение всех проводов и кабелей. После ремонта его снова нужно подключить. А это не всегда удобно, и всегда долго. Для транскодирования в ЦОД оператора необходимо обеспечить максимально быстрые и удобные условия замены.

Эти две основные проблемы легко решаются с помощью Blade решений, представляющих собой объединенный корпус, включающий в себя систему резервного электропитания, сетевые подключения, систему централизованного управления и контроля. В этот корпус устанавливаются лезвия – компактные системные блоки с минимальным набором аппаратных компонентов. Для выполнение задачи транскодирования IP потока требуется наличие только основных компонентов серверной системы.
  • Серия шасси Supermicro MicroBlade, в зависимости от конфигурации, позволяет установить от 14 (серия Supermicro MBE-314E 3RU) до 28(серия Supermicro MBE-628E 6RU) лезвий в одно шасси, а серверы лезвия Supermicro MBI-6118D позволяют использовать технологию Intel Quick Sync, для которой дискретный графический адаптер не требуется (вся обработка выполняется внутри CPU, что значительно повышает плотность вычислений).

Обычно ОТТ оператор транслирует в сеть порядка 100-200 каналов. Для того, чтобы понять, какие вычислительные мощности позволят решить данную задачу и какое место они займут в стойке, необходимо было провести тестирование одного лезвия, что однозначно позволит определить требуемую общую мощность, количество лезвий и шасси.

Для проведения тестов использовалась платформа Supermicro MicroBlade:
  • Сервер-лезвие: Supermicro MBI-6118D-T4H
  • Процессор: Intel® Xeon® Processor E3-1285 v4 (3.5ГГц, 4 cores/8 threads)
  • Память: 32 ГБ
  • Операционная система: CentOS 7.1
  • Java: Java 8 (64-bit)
  • Графический процессор: Intel IrisPro 6300
  • Программное обеспечение транскодирования - Wowza Streaming Engine

Методика тестирования заключается в следующем: на вход транскодера направляется видеопоток, кодированный H.264/AAC с двумя разрешениями 1280х720 и 1920х1080, c целью преобразования в несколько потоков с меньшим разрешением и битрейтом кодирования ( transrate ) используемых для организации мультибитрейтного вещания ( ABR ). Постепенно увеличивая количество входных потоков производятся замеры уровня утилизации CPU, отслеживается появление ошибок транскодирования (skipped frames, not aligned) в логах Wowza Streaming Engine и одновременно проводится визуальный просмотр видеопотока. При появлении ошибок и визуальной деградации качества видео необходимо остановить тестирование и полученное на предыдущем шаге значение количества входных потоков считать предельно допустимым.

Таблица 1. Тестирование 1280x720 H.264/AAC 4mbps
Потоки на входе Потоки на выходе CPU encoding/decoding QuickSync encoding/decoding

1 потоков

1 потоков 720p

1 потоков 360p

1 потоков 240p

1 потоков 160p

5%

3%

2 потоков

2 потоков 720p

2 потоков 360p

2 потоков 240p

2 потоков 160p

13%

5%

3 потоков

3 потоков 720p

3 потоков 360p

3 потоков 240p

3 потоков 160p

20%

6%

4 потоков

4 потоков 720p

4 потоков 360p

4 потоков 240p

4 потоков 160p

35%

12%

5 потоков

5 потоков 720p

5 потоков 360p

5 потоков 240p

5 потоков 160p

35%

12%

6 потоков

6 потоков 720p

6 потоков 360p

6 потоков 240p

6 потоков 160p

52%

15%

7 потоков

7 потоков 720p

7 потоков 360p

7 потоков 240p

7 потоков 160p

64%

20%

8 потоков

8 потоков 720p

8 потоков 360p

8 потоков 240p

8 потоков 160p

25%

9 потоков

9 потоков 720p

9 потоков 360p

9 потоков 240p

9 потоков 160p

33%

10 потоков

10 потоков 720p

10 потоков 360p

10 потоков 240p

10 потоков 160p

43%

11 потоков

11 потоков 720p

11 потоков 360p

11 потоков 240p

11 потоков 160p

50%

12 потоков

12 потоков 720p

12 потоков 360p

12 потоков 240p

12 потоков 160p

65%



Таблица 2. Тестирование 1920x1080 H.264/AAC 8mbps
Потоки на входе Потоки на выходе CPU encoding/decoding QuickSync encoding/decoding

1 потоков

1 потоков 720p

1 потоков 360p

1 потоков 240p

1 потоков 160p

10%

15%

2 потоков

2 потоков 720p

2 потоков 360p

2 потоков 240p

2 потоков 160p

20%

10%

3 потоков

3 потоков 720p

3 потоков 360p

3 потоков 240p

3 потоков 160p

27%

18%

4 потоков

4 потоков 720p

4 потоков 360p

4 потоков 240p

4 потоков 160p

43%

28%

5 потоков

5 потоков 720p

5 потоков 360p

5 потоков 240p

5 потоков 160p

68%

39%

6 потоков

6 потоков 720p

6 потоков 360p

6 потоков 240p

6 потоков 160p

50%

7 потоков

7 потоков 720p

7 потоков 360p

7 потоков 240p

7 потоков 160p

69%

8 потоков

8 потоков 720p

8 потоков 360p

8 потоков 240p

8 потоков 160p

25%

9 потоков

9 потоков 720p

9 потоков 360p

9 потоков 240p

9 потоков 160p

33%

10 потоков

10 потоков 720p

10 потоков 360p

10 потоков 240p

10 потоков 160p

43%

11 потоков

11 потоков 720p

11 потоков 360p

11 потоков 240p

11 потоков 160p

50%

12 потоков

12 потоков 720p

12 потоков 360p

12 потоков 240p

12 потоков 160p

65%



Выводы:

При использовании QuickSync производительность транскодера и следовательно вычислительная мощность на единицу стоечной емкости (RU) будет, главным образом, зависеть от возможностей процессора .

Исходя из результатов теста каждое лезвие в состоянии производить обработку до 12 потоков 720p или 7 потоков 1080p.

Итого для шасси 3 RU получается: Итого для шасси 6 RU получается:

12х14 = 168 потоков

12х28 = 336 потоков

7х14 = 98 потоков

7х28 = 196 потоков



Полученная плотность транскодируемых каналов на единицу RU отлично подходит для организации системы потокового вещания ОТТ оператора и позволяет рекомендовать платформу Supermicro MicroBlade/MBI-6118D-T2H/ MBI-6118D-T4H в качестве аппаратного обеспечения системы транскодирования на базе Wowza Streaming Engine .