Две микросхемы Argos ASIC под гигантским алюминиевым радиатором на полноразмерной карте в формате PCI-E

Инженеры Google поделились информацией о проекте Argos. Это устройство нового типа — аппаратный кодер видео или video coding unit (VCU), в духе современной тенденции на специализацию микросхем, как графические процессоры GPU и тензорные процессоры TPU.

Подробнее о конструкции Argos см. в научной статье "Warehouse-scale video acceleration: co-design and deployment in the wild", опубликованной для конференции ASPLOS 2021 в апреле 2021 года (doi: 10.1145/3445814.3446723, pdf).

Аппаратные VCU помогают быстро транскодировать видеоролики в более чем десять форматов, которые поддерживаются на YouTube для обеспечения плавного просмотра и экономии трафика. Серверы YouTube испытывают такую огромную нагрузку, что разработка проприетарных YouTube-микросхем быстро окупилась. Естественно, устройства не пойдут в широкую продажу, а будут и дальше эксклюзивно использоваться в дата-центрах Google. Только благодаря публикации на научной конференции общественность узнала, что Google уже больше года использует эти уникальные девайсы.

Авторы научной статьи пишут, что чип Argos увеличил эффективность вычислений «до 20-33 раз по сравнению с нашей предыдущей оптимизированной системой, которая запускала программное обеспечение на традиционных серверах».

Пакет VCU представляет собой полноразмерную карту PCI-E, очень похожую на GPU. Судя по фотографии прототипа (на КДПВ), на карте предусмотрен отдельный разъём питания 8-pin, потому что мощности от материнской платы через PCI-E недостаточно для питания VCU.


Микросхема VCU под микроскопом, полноразмерное фото


Расположение элементов на микросхеме VCU

На чипе располагается 10 «кодирующих ядер», а в документации сказано, что «все остальные элементы сделаны из готовых IP-блоков». Одно ядро кодирует поток 2160p в реальном времени, до 60 FPS.

Карты специально разработаны для дата-центров Google. Каждый вычислительный кластер YouTube содержит изолированную секцию VCU с новыми картами, что избавляет от необходимости устанавливать их во все серверы. VCU специально разработаны по образцу ускорителей GPU, чтобы вписаться в существующие разъёмы и лотки серверных юнитов.

В данный момент в дата-центрах Google уже работают «тысячи устройств Argos VCU». Именно благодаря им видео в формате 4K на YouTube «доступно уже через несколько часов, а не через несколько дней, как это было раньше», говорит один из разработчиков системы в комментарии для CNET.

В таблице приводится сравнение производительности и стоимости владения серверной установки по сравнению с запуском алгоритма на чипах Intel Skylake и графических процессорах Nvidia T4.


Сравнение производительности аппаратных транскодеров Intel Skylake, Nvidia T4 и Argos VPU

На сегодня YouTube генерирует примерно треть интернет-трафика в мире. Когда сервис запустили в 2005 году, поддержание его работы считалось невыполнимой задачей. Корпорация Google фактически спасла убыточный стартап, купив его в 2006 году за $1,65 млрд, и с тех пор активно пытается снизить расходы на обслуживание. Для этого Google пришлось переформатировать структуру Интернета путём установки кэш-серверов у интернет-провайдеров по всему миру.

Сегодня основная инфраструктурная проблема YouTube — выдача пользователю видео в максимально возможном качестве для его устройства и пропускной способности. Это означает выбор из нескольких кодеков и размеров кадра, что требует транскодирования в реальном времени. Например, для одного конкретного устройства видео 8K доступно в девяти разрешениях: 144p, 240p, 360p, 480p, 720p, 1080p, 1440p, 2160p и оригинальное 4320p (8K).

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


Сравнение устаревшего H.264 (слева) с современным VP9 (справа), кадр H.264, кадр VP9


Сравнение воспринимаемого качества видеопотоков H.264 и VP9 по тестам PSNR

Для современных устройств обычно используется эффективный видео VP9, а для старых сохраняется поддержка H.264. Информация о других видеокодеках не разглашается, но Google говорит о поддержке «раскладных телефонов низкого разрешения». То есть можно предположить, что для древних устройств поддерживаются кодеки эпохи до H.264, такие как 3GP.

Все видеоролики в базе YouTube постоянно приходится перекодировать заново по мере появления новых, более эффективных кодеков. Google выгодно это делать, чтобы сэкономить трафик.

Сложно оценить общее количество видеоматериалов на YouTube. Компания публикует только смутные цифры роста (типа «каждую минуту загружается 500 часов видео»). Вероятно, речь идёт об экзабайтах.


Транскодирование видео практически полностью перешло на аппаратные транскодеры через 12 месяцев после их установки

Дополнительную нагрузку на VCU накладывают трансляции YouTube Live, где транскодирование осуществляется во все форматы в прямом эфире с задержкой не более 100 мс. Дополнительная рабочая нагрузка поступает от Google Drive и Google Photos.

Кодеки настолько важны для успеха YouTube, что с момента покупки этого сервиса Google фактически несёт основную ношу по разработке новых кодеков. В 2009 году она купила On2 Technologies (их кодек VP6 использовался для флэш-видео в первой версии YouTube), и с тех пор постоянно выпускает новые версии. После VP8 и VP9 следующим будет AV1, на который возлагаются большие надежды.

Для AV1 была разработана новая версия транскодера с аппаратной поддержкой AV1. По данным CNET, чипы второго поколения уже поэтапно внедряются в серверные фермы Google.

См. также: