Transcodificadores de video por hardware para granjas de servidores de YouTube



Dos ASIC de Argos debajo de un disipador de calor de aluminio gigante en una tarjeta PCI-E de tamaño completo



. Los ingenieros de Google compartieron información sobre el proyecto Argos. Este es un nuevo tipo de dispositivo: un codificador de video de hardware o una unidad de codificación de video (VCU), en el espíritu de la tendencia actual hacia la especialización de chips como GPU GPU y procesadores de tensor de TPU.



Para obtener más información sobre el diseño de Argos, consulte el artículo de investigación "Aceleración de video a escala de almacén: co-diseño e implementación en la naturaleza" publicado para la conferencia ASPLOS 2021 en abril de 2021 (doi: 10.1145 / 3445814.3446723, pdf ).



Las VCU de hardware lo ayudan a transcodificar videos rápidamente a más de diez formatos compatibles con YouTube para una visualización fluida y ahorros de ancho de banda. Los servidores de YouTube están bajo una presión tan grande que el desarrollo de chips patentados de YouTube rápidamente dio sus frutos. Naturalmente, los dispositivos no saldrán a la venta de forma generalizada, pero seguirán utilizándose exclusivamente en los centros de datos de Google. Fue solo gracias a la publicación en la conferencia científica que el público se enteró de que Google ha estado utilizando estos dispositivos únicos durante más de un año.



Los autores del artículo científico escriben que el chip Argos aumentó la eficiencia informática "hasta 20-33 veces en comparación con nuestro sistema optimizado anterior que ejecutaba software en servidores tradicionales".



El paquete VCU es una tarjeta PCI-E de tamaño completo, muy parecida a una GPU. A juzgar por la foto del prototipo (en el KDPV), la tarjeta tiene un conector de alimentación de 8 pines por separado, porque la energía de la placa base a través de PCI-E no es suficiente para alimentar la VCU.





Microcircuito VCU bajo un microscopio, foto de tamaño completo





Disposición de elementos en un microcircuito VCU



Hay 10 "núcleos de codificación" en el chip, y la documentación dice que "todos los demás elementos están hechos de bloques IP prefabricados". Un núcleo codifica una transmisión de 2160p en tiempo real, hasta 60 FPS.



Los mapas están especialmente diseñados para los centros de datos de Google. Cada clúster de cómputo de YouTube contiene una sección VCU aislada con nuevas tarjetas, lo que elimina la necesidad de instalarlas en todos los servidores. Las VCU están especialmente diseñadas después de los aceleradores de GPU para encajar en los conectores y bandejas de unidades de servidor existentes.



Por el momento, "miles de dispositivos Argos VCU" ya se están ejecutando en los centros de datos de Google. Es gracias a ellos que el video 4K en YouTube “está disponible en unas pocas horas, y no en unos días, como lo estaba antes”, dice uno de los desarrolladores del sistema en un comentario para CNET.



La tabla compara el rendimiento y el costo de propiedad de la configuración de un servidor con la ejecución del algoritmo en chips Intel Skylake y GPU Nvidia T4.





Comparación del rendimiento de los transcodificadores de hardware Intel Skylake, Nvidia T4 y Argos VPU



Actualmente, YouTube genera alrededor de un tercio del tráfico de Internet en el mundo. Cuando se lanzó el servicio en 2005, mantenerlo en funcionamiento se consideraba una tarea imposible . Google realmente salvó a la startup que perdió dinero comprándola en 2006 por $ 1.65 mil millones , y ha estado tratando activamente de reducir los costos de mantenimiento desde entonces. Para hacer esto, Google tuvo que reformatear la estructura de Internet instalando servidores de caché en los ISP de todo el mundo.



Hoy en día, el principal problema de infraestructura de YouTube es entregar videos al usuario con la mayor calidad posible para su dispositivo y ancho de banda. Esto significa una selección de múltiples códecs y tamaños de fotogramas, lo que requiere transcodificación en tiempo real. Por ejemplo, para un dispositivo específico, el video de 8K está disponible en nueve resoluciones: 144p, 240p, 360p, 480p, 720p, 1080p, 1440p, 2160p y 4320p nativo (8K).



Algunos de ellos también están codificados con diferentes códecs. La compañía quiere ofrecer video en el códec más avanzado y eficiente, pero no es compatible o se ralentiza en los dispositivos móviles heredados.





Comparar H.264 legado (a la izquierda) con VP9 moderna (derecha), el marco H.264 , marco VP9





Comparación de la calidad percibida de las transmisiones de video H.264 y VP9 según las pruebas de PSNR



Para los dispositivos modernos, generalmente se usa video VP9 efectivo, y para los dispositivos más antiguos, se mantiene la compatibilidad con H.264. No se han revelado otros códecs de video, pero Google está hablando de compatibilidad con "teléfonos con cubierta de baja resolución". Es decir, se puede suponer que los códecs anteriores a H.264, como 3GP, son compatibles con dispositivos antiguos.



Todos los videos de la base de datos de YouTube deben volver a codificarse constantemente a medida que se encuentran disponibles códecs nuevos y más eficientes. Es beneficioso para Google hacer esto para ahorrar tráfico.



Es difícil estimar el número total de videos en YouTube. La empresa solo publica cifras de crecimiento vagas (como "se suben 500 horas de video por minuto"). Probablemente estemos hablando de exabytes.





La transcodificación de video se cambió casi por completo a transcodificadores de hardware 12 meses después de su instalación.



Las transmisiones de YouTube Live imponen una carga adicional en la VCU, donde la transcodificación se lleva a cabo a todos los formatos en vivo con un retraso de no más de 100 ms. La carga de trabajo adicional proviene de Google Drive y Google Photos.



Los códecs son tan importantes para el éxito de YouTube que, desde la compra del servicio, Google lleva la mayor parte de la carga de desarrollar nuevos códecs. En 2009, compró On2 Technologies (su códec VP6 se ​​usó para video Flash en la primera versión de YouTube) y ha estado lanzando nuevas versiones continuamente desde entonces. Después de VP8 y VP9, ​​el próximo será AV1, en el que se depositan grandes esperanzas.



Se ha desarrollado una nueva versión del transcodificador con soporte de hardware para AV1 para AV1. Según CNET , los chips de segunda generación ya se están incorporando gradualmente a las granjas de servidores de Google.



Ver también:




All Articles