Тестирование производительности транскодирования 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 .