Dois ASICs Argos sob um dissipador de calor gigante de alumínio em uma placa PCI-E de tamanho normal Os
engenheiros do Google compartilharam informações sobre o projeto Argos. Este é um novo tipo de dispositivo - um codificador de vídeo de hardware ou unidade de codificação de vídeo (VCU), no espírito da tendência atual de se especializar em chips como GPUs GPU e processadores tensores TPU.
Para obter mais informações sobre o projeto Argos, consulte o artigo de pesquisa "Aceleração de vídeo em escala de armazém: co-projeto e implantação na natureza" publicado para a conferência ASPLOS 2021 em abril de 2021 (doi: 10.1145 / 3445814.3446723, pdf ).
As VCUs de hardware ajudam a transcodificar vídeos rapidamente para mais de dez formatos suportados pelo YouTube para uma visualização suave e economia de largura de banda. Os servidores do YouTube estão sob uma pressão tão grande que o desenvolvimento de chips proprietários do YouTube rapidamente valeu a pena. Naturalmente, os dispositivos não estarão muito à venda, mas continuarão a ser usados exclusivamente nos data centers do Google. Foi apenas graças à publicação na conferência científica que o público ficou sabendo que o Google vem usando esses dispositivos exclusivos há mais de um ano.
Os autores do artigo científico escreveram que o chip Argos aumentou a eficiência da computação "em até 20-33 vezes em comparação com nosso sistema otimizado anterior que executava software em servidores tradicionais".
O pacote VCU é uma placa PCI-E de tamanho normal, muito parecida com uma GPU. A julgar pela foto do protótipo (no KDPV), a placa tem um conector de alimentação de 8 pinos separado, porque a alimentação da placa-mãe via PCI-E não é suficiente para alimentar a VCU.
Microcircuito VCU sob um microscópio, foto em tamanho real
Arranjo de elementos em um microcircuito VCU
Existem 10 "núcleos de codificação" no chip, e a documentação diz que "todos os outros elementos são feitos de blocos IP prontos". Um núcleo codifica um fluxo de 2160p em tempo real, até 60 FPS.
Os mapas são especialmente projetados para data centers do Google. Cada cluster de computação do YouTube contém uma seção VCU isolada com novos cartões, eliminando a necessidade de instalá-los em todos os servidores. VCUs são especialmente projetados após aceleradores GPU para caber em bandejas e conectores de unidade de servidor existentes.
No momento, "milhares de dispositivos VCU da Argos" já estão em execução nos data centers do Google. É graças a eles que o vídeo 4K no YouTube “está disponível em algumas horas, e não em alguns dias, como estava antes”, disse um dos desenvolvedores do sistema em um comentário para a CNET.
A tabela compara o desempenho e o custo de propriedade de uma configuração de servidor com a execução do algoritmo em chips Intel Skylake e GPUs Nvidia T4.
Comparação de desempenho de transcodificadores de hardware Intel Skylake, Nvidia T4 e Argos VPU
Hoje, o YouTube gera cerca de um terço do tráfego de Internet no mundo. Quando o serviço foi lançado em 2005, mantê-lo funcionando era considerado uma tarefa impossível . O Google, na verdade, salvou a startup que estava perdendo dinheiro ao comprá-lo em 2006 por US $ 1,65 bilhão e, desde então, vem tentando reduzir os custos de manutenção. Para fazer isso, o Google teve que reformatar a estrutura da Internet instalando servidores de cache em ISPs em todo o mundo.
Hoje, o principal problema de infraestrutura do YouTube é entregar vídeos ao usuário na mais alta qualidade possível para seu dispositivo e largura de banda. Isso significa uma escolha de vários codecs e tamanhos de quadro, o que requer transcodificação em tempo real. Por exemplo, para um dispositivo específico, o vídeo de 8K está disponível em nove resoluções: 144p, 240p, 360p, 480p, 720p, 1080p, 1440p, 2160p e 4320p nativo (8K).
Alguns deles também são codificados com codecs diferentes. A empresa quer oferecer vídeo no codec mais avançado e eficiente, mas não é compatível ou fica mais lento em dispositivos móveis legados.
Compare H.264 legado (esquerda) com VP9 moderna (à direita), do quadro H.264 , quadro VP9
Comparação da qualidade percebida de streams de vídeo H.264 e VP9 de acordo com os testes PSNR
Para dispositivos modernos, vídeo VP9 eficaz é geralmente usado, e para dispositivos mais antigos, o suporte H.264 é mantido. Outros codecs de vídeo não foram divulgados, mas o Google está falando sobre o suporte para "telefones clamshell de baixa resolução". Ou seja, pode-se presumir que codecs pré-H.264, como 3GP, são suportados para dispositivos antigos.
Todos os vídeos no banco de dados do YouTube precisam ser recodificados constantemente conforme novos codecs mais eficientes se tornam disponíveis. É benéfico para o Google fazer isso para economizar tráfego.
É difícil estimar o número total de vídeos no YouTube. A empresa publica apenas números vagos de crescimento (como "500 horas de vídeo são enviadas a cada minuto"). Provavelmente estamos falando de exabytes.
A transcodificação de vídeo foi quase completamente trocada para transcodificadores de hardware 12 meses após sua instalação.
Uma carga adicional no VCU é imposta pelas transmissões do YouTube Live, onde a transcodificação é realizada para todos os formatos ao vivo com um atraso de não mais de 100 ms. A carga de trabalho adicional vem do Google Drive e do Google Fotos.
Codecs são tão importantes para o sucesso do YouTube que, desde a compra do serviço, o Google realmente carrega a maior parte do fardo de desenvolver novos codecs. Em 2009, ela comprou a On2 Technologies (seu codec VP6 foi usado para vídeo em Flash na primeira versão do YouTube), e tem lançado novas versões continuamente desde então. Depois de VP8 e VP9, o próximo será AV1, no qual grandes esperanças estão depositadas.
Uma nova versão do transcodificador com suporte de hardware para AV1 foi desenvolvida para AV1. De acordo com a CNET , os chips de segunda geração já estão sendo introduzidos nos farms de servidores do Google.
Veja também: