Transcodeurs vidéo matériels pour les fermes de serveurs YouTube



Deux ASIC Argos sous un dissipateur thermique géant en aluminium sur une carte PCI-E pleine grandeur



Les ingénieurs de Google ont partagé des informations sur le projet Argos. Il s'agit d'un nouveau type d'appareil - un encodeur vidéo matériel ou une unité de codage vidéo (VCU), dans l'esprit de la tendance actuelle à la spécialisation des puces telles que les GPU GPU et les processeurs TPU Tensor.



Pour plus d'informations sur la conception Argos, voir le document de recherche «Accélération vidéo à l'échelle de l'entrepôt: co-conception et déploiement dans la nature» publié pour la conférence ASPLOS 2021 en avril 2021 (doi: 10.1145 / 3445814.3446723, pdf ).



Les VCU matériels vous aident à transcoder rapidement des vidéos dans plus de dix formats pris en charge par YouTube pour une visualisation fluide et des économies de bande passante. Les serveurs de YouTube sont soumis à une telle pression que le développement de puces YouTube propriétaires a rapidement porté ses fruits. Naturellement, les appareils ne seront pas largement mis en vente, mais continueront d'être utilisés exclusivement dans les centres de données de Google. Ce n'est que grâce à la publication lors de la conférence scientifique que le public a appris que Google utilise ces appareils uniques depuis plus d'un an.



Les auteurs de l'article scientifique écrivent que la puce Argos a augmenté l'efficacité de calcul «jusqu'à 20 à 33 fois par rapport à notre système optimisé précédent qui exécutait des logiciels sur des serveurs traditionnels».



Le package VCU est une carte PCI-E pleine taille, très similaire à un GPU. À en juger par la photo du prototype (sur le KDPV), la carte dispose d'un connecteur d'alimentation à 8 broches séparé, car l'alimentation de la carte mère via PCI-E n'est pas suffisante pour alimenter le VCU.





Microcircuit VCU sous microscope, photo en taille réelle





Disposition des éléments sur un microcircuit VCU



Il y a 10 "noyaux de codage" sur la puce, et la documentation indique que "tous les autres éléments sont constitués de blocs IP prêts à l'emploi". Un cœur code un flux 2160p en temps réel, jusqu'à 60 FPS.



Les cartes sont spécialement conçues pour les centres de données Google. Chaque cluster de calcul YouTube contient une section VCU isolée avec de nouvelles cartes, éliminant ainsi le besoin de les installer sur tous les serveurs. Les VCU sont spécialement conçus après les accélérateurs GPU pour s'adapter aux connecteurs et plateaux d'unité serveur existants.



À l'heure actuelle, «des milliers d'appareils Argos VCU» fonctionnent déjà dans les centres de données de Google. C'est grâce à eux que la vidéo 4K sur YouTube "est disponible en quelques heures, et non en quelques jours, comme avant", explique l'un des développeurs du système dans un commentaire pour CNET.



Le tableau compare les performances et le coût de possession d'une configuration de serveur à l'exécution de l'algorithme sur des puces Intel Skylake et des GPU Nvidia T4.





Comparaison des performances des transcodeurs matériels Intel Skylake, Nvidia T4 et Argos VPU



Aujourd'hui, YouTube génère environ un tiers du trafic Internet dans le monde. Lorsque le service a été lancé en 2005, le maintenir opérationnel était considéré comme une tâche impossible . Google a en fait sauvé la startup perdante en l' achetant en 2006 pour 1,65 milliard de dollars , et tente activement de réduire les coûts de maintenance depuis. Pour ce faire, Google a dû reformater la structure d'Internet en installant des serveurs de cache chez les FAI du monde entier.



Aujourd'hui, le principal problème d'infrastructure de YouTube est de fournir des vidéos à l'utilisateur dans la meilleure qualité possible pour son appareil et sa bande passante. Cela signifie un choix de plusieurs codecs et tailles de trame, ce qui nécessite un transcodage en temps réel. Par exemple, pour un appareil spécifique, la vidéo 8K est disponible en neuf résolutions: 144p, 240p, 360p, 480p, 720p, 1080p, 1440p, 2160p et 4320p (8K) natif.



Certains d'entre eux sont également encodés avec différents codecs. La société souhaite proposer la vidéo dans le codec le plus avancé et le plus efficace, mais elle n'est pas prise en charge ou ralentit sur les appareils mobiles hérités.





Comparer H.264 héritage ( à gauche) avec VP9 moderne ( à droite), le cadre H.264 , cadre VP9





Comparaison de la qualité perçue des flux vidéo H.264 et VP9 selon les tests PSNR



Pour les appareils modernes, une vidéo VP9 efficace est généralement utilisée, et pour les appareils plus anciens, le support H.264 est conservé. D'autres codecs vidéo n'ont pas été divulgués, mais Google parle de la prise en charge des "téléphones à clapet basse résolution". Autrement dit, on peut supposer que les codecs pré-H.264 tels que 3GP sont pris en charge pour les appareils anciens.



Toutes les vidéos de la base de données YouTube doivent constamment être réencodées à mesure que de nouveaux codecs plus efficaces deviennent disponibles. Il est avantageux pour Google de faire cela afin d'économiser du trafic.



Il est difficile d'estimer le nombre total de vidéos sur YouTube. L'entreprise ne publie que des chiffres de croissance vagues (comme "500 heures de vidéo sont téléchargées chaque minute"). Nous parlons probablement d'exaoctets.





Le transcodage vidéo a été presque entièrement basculé vers les transcodeurs matériels 12 mois après leur installation.



Une charge supplémentaire sur le VCU est imposée par les diffusions YouTube Live, où le transcodage est effectué vers tous les formats en direct avec un délai de 100 ms maximum. La charge de travail supplémentaire provient de Google Drive et de Google Photos.



Les codecs sont si importants pour le succès de YouTube que depuis l'achat du service, Google porte en fait l'essentiel du fardeau du développement de nouveaux codecs. En 2009, elle a acheté On2 Technologies (leur codec VP6 a été utilisé pour la vidéo Flash dans la première version de YouTube), et a publié de nouvelles versions en continu depuis lors. Après VP8 et VP9, ​​le prochain sera AV1, sur lequel reposent de grands espoirs.



Une nouvelle version du transcodeur avec support matériel pour AV1 a été développée pour AV1. Selon CNET , les puces de deuxième génération sont déjà intégrées dans les fermes de serveurs de Google.



Voir également:




All Articles