Définitions de tâches Amazon ECS pour les charges de travail de transcodage vidéo - Amazon Elastic Container Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Définitions de tâches Amazon ECS pour les charges de travail de transcodage vidéo

Pour utiliser les charges de travail de transcodage vidéo sur Amazon ECS, enregistrez les instances Amazon EC2 VT1. Après avoir enregistré ces instances, vous pouvez exécuter des charges de travail de transcodage vidéo en direct et prérendues en tant que tâches sur Amazon ECS. EC2 VT1 Les instances Amazon utilisent les cartes de transcodage multimédia Xilinx U30 pour accélérer les charges de travail de transcodage vidéo en direct et pré-rendues.

Note

Pour obtenir des instructions sur l'exécution de charges de travail de transcodage vidéo dans des conteneurs autres qu'Amazon ECS, consultez la documentation Xilinx.

Considérations

Avant de commencer VT1 le déploiement sur Amazon ECS, tenez compte des points suivants :

  • Vos clusters peuvent contenir à la fois des instances VT1 et des VT1 non-instances.

  • Vous avez besoin d'une application Linux qui utilise des cartes de transcodage multimédia Xilinx U30 avec des codecs AVC (H.264) et HEVC (H.265) accélérés.

    Important

    Les applications qui utilisent d'autres codecs peuvent ne pas améliorer les performances des VT1 instances.

  • Une seule tâche de transcodage peut être exécutée sur une carte U30. Chaque carte est associée à deux appareils. Vous pouvez exécuter autant de tâches de transcodage qu'il y a de cartes pour chacune de vos VT1 instances.

  • Lorsque vous exécutez une tâche autonome ou créez un service, vous pouvez utiliser des attributs de type d'instance lors de la configuration des contraintes de placement des tâches. Cela garantit que la tâche est lancée sur l'instance de conteneur que vous spécifiez. Cela vous permet de vous assurer que vous utilisez vos ressources de manière efficace et que vos tâches de transcodage vidéo incombent à vos VT1 instances. Pour de plus amples informations, veuillez consulter Comment Amazon ECS place les tâches sur les instances de conteneur.

    Dans l'exemple suivant, une tâche est exécutée sur une instance vt1.3xlarge de votre cluster default.

    aws ecs run-task \ --cluster default \ --task-definition vt1-3xlarge-xffmpeg-processor \ --placement-constraints type=memberOf,expression="attribute:ecs.instance-type == vt1.3xlarge"
  • Vous configurez un conteneur pour utiliser une carte U30 spécifique disponible sur l'instance de conteneur hôte. Vous pouvez effectuer cette opération en utilisant le paramètre linuxParameters et en spécifiant les détails de l'appareil. Pour de plus amples informations, veuillez consulter Exigences relatives à la définition de tâche.

Utilisation d'une VT1 AMI

Deux options s'offrent à vous pour exécuter une AMI sur Amazon EC2 pour les instances de conteneur Amazon ECS. La première option consiste à utiliser l'AMI officielle Xilinx sur AWS Marketplace. La deuxième option consiste à créer votre propre AMI à partir de l'exemple du référentiel.

  • Xilinx propose AMIs sur le. AWS Marketplace

  • Amazon ECS fournit un exemple de référentiel que vous pouvez utiliser pour créer une AMI pour les charges de travail de transcodage vidéo. Cette AMI est fournie avec les pilotes Xilinx U30. Vous pouvez trouver le référentiel contenant les scripts Packer sur GitHub. Pour plus d'informations sur Packer, consultez la documentation Packer.

Exigences relatives à la définition de tâche

Pour exécuter des conteneurs de transcodage vidéo sur Amazon ECS, votre définition de tâche doit contenir une application de transcodage vidéo utilisant les codecs H.264/AVC et H.265/HEVC accélérés. Vous pouvez créer une image de conteneur en suivant les étapes indiquées sur le Xilinx GitHub.

La définition de tâche doit être spécifique au type d'instance. Les types d'instance sont 3xlarge, 6xlarge et 24xlarge. Vous devez configurer un conteneur pour utiliser des appareils Xilinx U30 spécifiques disponibles sur l'instance de conteneur hôte. Vous pouvez effectuer cette opération à l'aide du paramètre linuxParameters. Le tableau suivant détaille les cartes et SoCs les appareils spécifiques à chaque type d'instance.

Type d'instance v CPUs RAM (Gio) Cartes accélératrices U30 XCU30 appareils SoC adressables Chemins de l'appareil
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
Important

Si la définition de tâche répertorie les appareils que l' EC2 instance ne possède pas, la tâche ne s'exécute pas. Lorsque la tâche échoue, le message d'erreur suivant s'affiche dans stoppedReason : CannotStartContainerError: Error response from daemon: error gathering device information while adding custom device "/dev/dri/renderD130": no such file or directory.