Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Amazon ECS-Aufgabendefinitionen für Videotrankodierungs-Workloads
Um Workloads zur Video-Transcodierung auf Amazon ECS zu verwenden, registrieren Sie die Amazon-EC2-VT1
Anmerkung
Anleitungen für das Ausführen von Workloads zur Video-Transcodierung in anderen Containern als Amazon ECS finden Sie in der Xilinx-Dokumentation
Überlegungen
Seien Sie sich der folgenden Überlegungen bewusst, bevor Sie mit der Bereitstellung von VT1 auf Amazon ECS beginnen:
-
Ihre Cluster können eine Mischung aus VT1- und Nicht-VT1-Instances enthalten.
-
Sie benötigen eine Linux-Anwendung, die Xilinx U30-Medientranscodierungskarten mit beschleunigten H.264/AVC- und H.265/HEVC-Codecs verwendet.
Wichtig
Anwendungen, die andere Codecs verwenden, haben möglicherweise keine verbesserte Leistung auf VT1-Instances.
-
Nur eine Transcodierungsaufgabe kann auf einer U30-Karte ausgeführt werden. Jede Karte hat zwei Geräte, die damit verbunden sind. Sie können so viele Transcodierungsaufgaben ausführen, wie es Karten für jede Ihrer VT1-Instance gibt.
-
Wenn Sie eine eigenständige Aufgabe ausführen oder einen Service erstellen, können Sie beim Konfigurieren der Aufgabenplatzierungbedingungen Attribute des Instance-Typs verwenden. Dadurch wird sichergestellt, dass die Aufgabe auf der von Ihnen angegebenen Container-Instance gestartet wird. So können Sie Ihre Ressourcen effektiv nutzen und sicherstellen, dass sich Ihre Aufgaben für Video-Transcodierungs-Workloads auf Ihren VT1-Instances befinden. Weitere Informationen finden Sie unter Wie Amazon ECS Aufgaben auf Container-Instances platziert.
Im folgenden Beispiel wird eine Aufgabe auf einer
vt1.3xlarge
-Instance auf Ihremdefault
-Cluster ausgeführt.aws ecs run-task \ --cluster default \ --task-definition
vt1-3xlarge-xffmpeg-processor
\ --placement-constraints type=memberOf,expression="attribute:ecs.instance-type == vt1.3xlarge" -
Sie können einen Container so konfigurieren, dass er die spezifische U30-Karte verwendet, die auf der Host-Container-Instance verfügbar ist. Sie können dazu den
linuxParameters
-Parameter nutzen und die Geräteinformationen angeben. Weitere Informationen finden Sie unter Anforderungen an die Aufgabendefinition.
Verwenden eines VT1-AMI
Sie haben zwei Möglichkeiten, ein AMI auf Amazon EC2 für Amazon-ECS-Container-Instances auszuführen. Die erste Option besteht darin, das offizielle Xilinx-AMI auf AWS Marketplace zu verwenden. Die zweite Option besteht darin, Ihr eigenes AMI aus dem Beispiel-Repository zu erstellen.
-
Xilinx bietet AMIs
auf dem. AWS Marketplace -
Amazon ECS stellt ein Beispiel-Repository bereit, mit dem Sie ein AMI für Video-Transcodierungs-Workloads erstellen können. Dieses AMI wird mit Xilinx U30-Treibern geliefert. Sie finden das Repository, das Packer-Skripte enthält, auf. GitHub
Weitere Informationen zu Packer finden Sie in der Packer-Dokumentation .
Anforderungen an die Aufgabendefinition
Um Video-Transcodierungscontainer auf Amazon ECS auszuführen, muss Ihre Aufgabendefinition eine Video-Transcodierungsanwendung enthalten, die die beschleunigten H.264/AVC- und H.265/HEVC-Codecs verwendet. Sie können ein Container-Image erstellen, indem Sie den Schritten auf dem GitHubXilinx
Die Aufgabendefinition muss für den Instance-Typ spezifisch sein. Die Instance-Typen sind 3xlarge, 6xlarge und 24xlarge. Sie müssen einen Container so konfigurieren, dass er spezifische Xilinx U30-Geräte verwendet, die auf der Host-Container-Instance verfügbar sind. Dazu können Sie den linuxParameters
-Parameter verwenden. In der folgenden Tabelle sind die Karten und Geräte aufgeführt SoCs , die für jeden Instance-Typ spezifisch sind.
Instance-Typ | vCPUs | RAM (GiB) | U30 Accelerator-Karten | Adressierbare XCU30 SoC-Geräte | Gerätepfade |
---|---|---|---|---|---|
vt1.3xlarge | 12 | 24 | 1 | 2 | /dev/dri/renderD128 ,/dev/dri/renderD129 |
vt1.6xlarge | 24 | 48 | 2 | 4 | /dev/dri/renderD128 ,/dev/dri/renderD129 ,/dev/dri/renderD130 ,/dev/dri/renderD131 |
vt1.24xlarge | 96 | 182 | 8 | 16 | /dev/dri/renderD128 ,/dev/dri/renderD129 ,/dev/dri/renderD130 ,/dev/dri/renderD131 ,/dev/dri/renderD132 ,/dev/dri/renderD133 ,/dev/dri/renderD134 ,/dev/dri/renderD135 ,/dev/dri/renderD136 ,/dev/dri/renderD137 ,/dev/dri/renderD138 ,/dev/dri/renderD139 ,/dev/dri/renderD140 ,/dev/dri/renderD141 ,/dev/dri/renderD142 ,/dev/dri/renderD143 |
Wichtig
Wenn die Aufgabendefinition Geräte auflistet, die die EC2-Instance nicht hat, kann die Aufgabe nicht ausgeführt werden. Wenn die Aufgabe fehlschlägt, wird die folgende Fehlermeldung in stoppedReason
angezeigt: CannotStartContainerError: Error response from
daemon: error gathering device information while adding custom device
"/dev/dri/renderD
.130
": no such file or
directory