Аппаратные транскодеры видео для серверных ферм YouTube


    Две микросхемы 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.

    См. также:
    Дата-центр «Миран»
    Решения для аренды и размещения ИТ-инфраструктуры

    Комментарии 11

      0
      Интересно, там видео хранятся во всевозможных форматах или только в максимальном качестве, а перекодировка в другие форматы делается онлайн?
        0
        Конечно хранится перекодированное, диски дешевле процессоров. Даже в статье указано что ожидание после загрузки ролика несколько часов — именно в это время происходит транскодинг в необходимые форматты
        0
        Интересно почему бы не избавиться от 144p, 240p, 360p? Они кому-то нужны?
          +1

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

            –1
            В сторонние страницы встраивают видео часто высотой 240 — 360. Если у пользователя автонастройка качества, то качество будет 240p или 360p.
              0
              Не везде такой быстрый интернет как в европейской части РФ, да и на фоне 4К их размер исчезающе мал
                0

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

                  0

                  Попробуйте vanced.
                  Когда гаснет экран или вы его сворачиваете, она качает только звуковую дорожку.

                  0

                  Даже если их редко используют, места ведь они занимают немного и времени на перекодирование много тоже не занимают, так что зачем их удалять :)?

                    +1

                    Хорошо живем просто. Во многих случаях когда еду куда то 144п единственный шанс посмотреть видео.

                    0
                    устаревшего H.264 (слева) с современным VP9 (справа)

                    я понимаю, что перевод есть перевод, но не оставлять тут комментарий на тему ангажированности авторского текста — это не очень хорошо

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Самое читаемое