В блоге YouTube недавно появилась публикация, в которой сервис потокового вещания приоткрывает подробности своего устройства, скрытые от пользователей. Глобальная платформа решает сложную задачу — ей приходится справляться с огромными объемами видео, которые загружаются, хранятся и должны быть мгновенно доступны для миллионов создателей и миллиардов зрителей. При этом приходится перекодировать видео, адаптируя его к возможностям и предпочтениям клиента.
Масштаб проблемы позволяют оценить всего два показателя: за минуту на платформу загружается около 500 часов видео, а ежемесячно ее посещают более 2 млрд пользователей. Неудивительно, что возможностей обычного оборудования недостаточно, чтобы справиться с этим. Вот почему для YouTube были разработаны специализированные микросхемы для перекодирования видео, которые называются VCU (Video [trans] Coding Units). Процессор, получивший название Argos, по эффективности превосходит «обычную серверную платформу» в 20-30 раз. В центрах обработки данных YouTube эти микросхемы используются в картах расширения PCIe для серверов, на которых они установлены по две штуки.
Нижняя иллюстрация дает представление о структуре Argos. Она включает контроллеры ввода-вывода и памяти, CPU для управления потоком данных, три ядра декодера и десять ядер кодера. Каждое ядро кодера способно в реальном времени кодировать видео с разрешением 2160p и кадровой частотой 60 к/с с использованием трех опорных кадров.