Definições de tarefa do Amazon ECS para workloads de transcodificação de vídeo
Para usar workloads de transcodificação de vídeo no Amazon ECS, registre instâncias VT1 do Amazon EC2
nota
Para obter instruções sobre como executar workloads de transcodificação de vídeo em outros contêineres que não os do Amazon ECS, consulte a documentação da Xilinx
Considerações
Antes de começar a implantar a VT1 no Amazon ECS, considere o seguinte:
-
Seus clusters podem conter uma combinação de instâncias VT1 e não VT1.
-
Você precisa de uma aplicação Linux que utilize placas de transcodificação de mídia Xilinx U30 com codecs AVC (H.264) e HEVC (H.265) acelerados.
Importante
Aplicações que utilizam outros codecs podem não ter performance aprimorada em instâncias VT1.
-
Apenas uma tarefa de transcodificação pode ser executada em uma placa U30. Cada placa tem dois dispositivos associados. É possível executar tarefas de transcodificação na medida em que houver placas para cada instância VT1.
-
Ao criar um serviço ou executar uma tarefa autônoma, você pode usar atributos de tipo de instância ao configurar as restrições de posicionamento de tarefas. Assim, você se certifica de que a tarefa será iniciada na instância de contêiner que você especificar. Isso ajuda a garantir que você use seus recursos de maneira eficaz e que suas tarefas para workloads de transcodificação de vídeo estejam em suas instâncias VT1. Para ter mais informações, consulte Como o Amazon ECS posiciona tarefas em instâncias de contêineres.
No exemplo a seguir, uma tarefa é executada em uma instância
vt1.3xlarge
do clusterdefault
.aws ecs run-task \ --cluster default \ --task-definition
vt1-3xlarge-xffmpeg-processor
\ --placement-constraints type=memberOf,expression="attribute:ecs.instance-type == vt1.3xlarge" -
Você configura um contêiner para usar a placa U30 específica disponível na instância de contêiner host. É possível fazer isso utilizando o parâmetro
linuxParameters
e especificando os detalhes do dispositivo. Para ter mais informações, consulte Requisitos de definição de tarefa.
Usar uma AMI VT1
Existem duas opções para executar uma AMI no Amazon EC2 para instâncias de contêiner do Amazon ECS. A primeira é usar a AMI oficial da Xilinx no AWS Marketplace. A segunda é criar a sua própria AMI do repositório de amostra.
-
O Amazon ECS fornece um repositório de amostra que pode ser usado para criar uma AMI para workloads de transcodificação de vídeo. Essa AMI acompanha drivers Xilinx U30. O repositório que contém os scripts do Packer pode ser encontrado no GitHub
. Para obter mais informações sobre o Packer, consulte a documentação do Packer .
Requisitos de definição de tarefa
Para executar contêiners de transcodificação de vídeo no Amazon ECS, sua definição de tarefa precisa conter uma aplicação de transcodificação de vídeo que utilize codecs H.264/AVC e H.265/HEVC acelerados. É possível criar uma imagem de contêiner seguindo as etapas no repositório da Xilinx no GitHub
A definição de tarefa deve ser específica do tipo de instância. Os tipos de instância são: 3xlarge, 6xlarge e 24xlarge. É necessário configurar um contêiner para usar dispositivos Xilinx U30 específicos disponíveis na instância de contêiner host. Para isso, use o parâmetro linuxParameters
. A tabela a seguir fornece detalhes sobre as placas e SoCs de dispositivo específicos de cada tipo de instância.
Tipo de instância | vCPUs | RAM (GiB) | Placas aceleradoras U30 | Dispositivos SoC XCU30 endereçáveis | Caminhos de dispositivos |
---|---|---|---|---|---|
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 |
Importante
Se a definição de tarefa indicar dispositivos ausentes na instância do EC2, a tarefa não será executada. Quando a tarefa falhar, a mensagem de erro a seguir aparecerá no stoppedReason
: CannotStartContainerError: Error response from
daemon: error gathering device information while adding custom device
"/dev/dri/renderD
.130
": no such file or
directory