Massive Skalierung der VCU
Mit der Technik erreiche Google nach zahlreichen Experimenten inzwischen sogar leicht geringere Bitraten als mit den zuvor genutzten Software-Encodern für H.264 und VP9. Google verweist außerdem auf die mit dem System deutlich verbesserte optische Qualität von VP9 im Vergleich zu H.264. Dies mit Software-Encodern zu erreichen sei vom rechnerischen Aufwand her "nicht realisierbar". Google schreibt aber auch selbst, dass die Hardware-Encoder erwartbar eine etwas schlechtere Qualität lieferten als ihre jeweiligen Software-Pendants, da einige Optimierungen fehlten.
Der eigentliche Ablauf des Encodings sei zudem vollständig sequentiell, Eingabedaten wie die Frames würden nicht verändert und das Schreiben der kodierten Frames geschehe ebenfalls sequentiell. Das ermögliche ein einfaches Speichermodell. Hinzu kommt, dass eine einzelne Hardwareeinheit für das Encoding sämtliche Eingabedaten wie Frames oder auch Look-up-Tables im DRAM der VCU vorhält.
Die Firmware kann einzelne Arbeitsschritte deshalb auf einen jeweils freien Encoding-Kern verteilen. Für den Speicher setzt Google auf vier 32-Bit-LPDDR4-3200-Kanäle (36 GByte/s) für 8 GByte nutzbaren RAM pro Chip, da jede VCU zwischen 27 und 37 GByte/s benötigt. Daten erhalten die Karten vom Host-System via PCIe Gen3 x16, also x8 pro VCU.
Google setzt für das Encoding außerdem auf das sogenannte Multiple-output transcoding (MOT). Das heißt, das Quellmaterial der Youtube-Nutzer wird lediglich einmal dekodiert und dann parallel zueinander für die verschiedenen Bitraten und Auflösungen kodiert. Laut Google gebe es zudem nur wenige Videos, die für ihr eigenes Encoding einen einzelne VCU benötigen. Das Unternehmen ist also in der Lage, mehrere Videos auf einem der Chips nebeneinander zu verarbeiten.
So viele VCUs pro Rack wie möglich
Insgesamt finden sich zehn Encoder-Cores in einer Argos VCU, die Karte selbst enthält zwei VCUs. In jedem Host-System gibt es dann jeweils 20 VCUs. Jedes Server-Rack habe dabei so viele Hostsysteme wie die Netzwerkanbindung, der verfügbare Platz und die Stromversorgung erlauben. Dieses Stecksystem für sein Videoencoding kann Youtube dann ebenfalls relativ einfach skalieren, was Google so auch in seinen weltweiten Rechenzentren umsetzt.
Den Aufwand betreibt Google vor allem wegen der riesigen Fülle immer neuer Videos auf Youtube. Pro Minute würden 500 Stunden neues Videomaterial hochgeladen. Während der Covid-19-Pandemie habe der Videokonsum auf Youtube zudem massiv zugelegt, so dass sich kleiner kodierte Videos und damit eingesparte Rechenleistung für Google besonders rentieren.
Zusätzlich zu den VCU-Encodern für H.264 und VP9 arbeitet das Team an neuer Hardware für den freien Video-Codec AV1. Für die bisher genutzten Chips habe Google bereits ausschließlich bestehende IP-Blöcke von spezialisierten Unternehmen lizenziert. Es ist davon auszugehen, dass dies auch bei AV1 geschieht und die AV1-VCUs bei Google bald zum Einsatz kommen können.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Argos VCU: Google baut eigene Encoding-Chips für Youtube |
- 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???