Argos VCU: Google baut eigene Encoding-Chips für Youtube
CPUs reichen Youtube nicht mehr für das Video-Encoding. Also hat sich Google eigene ASICs dafür gebaut, die einige Raffinessen bereithalten.

Der Videostreaming Dienst Youtube hat sich eigene ASICs für das Video-Encoding gebaut. Die Argos VCU (Video Coding Unit) hat das Unternehmen in einem exklusiven Interview mit dem Magazin CNET sowie in einem Blogpost vorgestellt. Weitere vor allem technische Details haben die bei Google an dem Projekt Beteiligten zudem in einer Abhandlung für die Architectural Support for Programming Languages and Operating Systems Conference (ASPLOS) zusammengefasst.
- Argos VCU: Google baut eigene Encoding-Chips für Youtube
- Massive Skalierung der VCU
Google hat sich offenbar für die gesonderte Hardware wegen deren deutlich verbesserter Leistung entschieden. In dem Blogpost heißt es: "Wir haben eine zu 20- bis 33-fache Verbesserungen der Recheneffizienz im Vergleich zu unserem vorherigen optimierten System festgestellt, auf dem Software auf herkömmlichen Servern ausgeführt wurde."
Bei der Argos VCU handelt es sich um PCIe-Gen3-x16-Steckkarten in voller Länge und Höhe, die damit zumindest von ihrer Bauform mehr oder weniger an handelsübliche Grafikkarten erinnern. Auf dem Board selbst befinden sich zwei der eigentlichen ASICs, die passiv über Heatsinks gekühlt werden. Zur Stromversorgung dient außerdem offenbar ein 8-Pin-Anschluss (theoretisch 150 Watt plus 75 Watt via PCIe), was ebenfalls an Grafikkarten erinnert.
Zu dem VCU-System selbst ist es darüber hinaus wichtig zu wissen, dass zwar Grafikkarten seit Jahrzehnten über speziellen Hardware-Einheiten (Fixed Functions) wie AMDs VCE oder Nvidias NVENC zum Encoding verfügen, die diese Aufgabe im Vergleich zu Software-Encodern massiv beschleunigen.
Vor allem für das Video-Streaming setzen großen Anbieter wie eben Youtube bisher aber meist auf Software-Encoder der CPUs. Das liegt vor allem daran, dass die herkömmlichen Hardware-Encoder für den Endkundenbereich so gut wie keine Variationen im Kodierungsprozess erlauben. Anders ist dies bei Software, die auf CPUs läuft und vollständig an eigene Bedürfnisse angepasst werden kann.
Encoding für eigene Bedürfnisse
Google hat sich der Beschreibung der VCU zufolge für einen Mittelweg dieser beiden Extrempositionen - alles in Hardware oder alles in Software - entschieden. Wie das Team selbst schreibt, seien dafür bestimmte, aber nicht alle Teile und Algorithmen zum Encoding tatsächlich in Hardware umgesetzt worden. Die Encoding-Hardware folgt dabei dem üblichen Aufbau und Ablauf des Video-Encodings in Software.
So werden zunächst 16x16 Pixel große Macroblocks (für H.264) oder ein 64x64 Pixel Superblock (für VP9) erstellt. Diese werden wiederum unterteilt und etwa für eine Rate-distortion-Optimization (RDO) oder per Bewegungsanalyse untersucht. Hinzu kommen die Auswahl von Optimierungen und Transformationsfunktionen, um die ungefähr gewünschte Bitrate zu erhalten. Es folgt das eigentliche Entropie-Encoding sowie temporale Filter und die Auswahl der Referenz-Frames.
Der fertig kodierte Block wird zudem noch dekodiert, mit einem Loop-Filter behandelt und dann per Frame-Buffer-Compression (FBC) verlustfrei verkleinert, um diesen in einem Speicher auf den Chips selbst abzulegen. Dies ist notwendig, um Referenz-Frames vorhalten zu können. Die FBC wiederum reduziere die benötigte Bandbreite der Lesezugriffe dabei um bis zu 50 Prozent.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Massive Skalierung der VCU |
- 1
- 2
Mir ist noch kein AV1 GPU Encoder bekannt. Ich denke das wird vielleicht in Zukunft noch...
Wieso? Im Grunde ein ganz normales Kettenbriefspiel, oder?
Windows Treiber halte ich persönlich auch für sehr unwahrscheinlich, ob Google selber...
wie viel ETH am Tag mach das Ding???