本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
適用於視訊轉碼工作負載的 Amazon ECS 任務定義
若要在 Amazon ECS 上使用影片轉碼工作負載,請註冊 Amazon EC2 VT1
注意
如需如何在 Amazon ECS 以外的容器中執行影片轉碼工作負載的說明,請參閱 Xilinx 文件
考量事項
當您開始在 Amazon ECS 上部署 VT1 之前,請考量下列事項:
-
您的叢集可包含 VT1 和非 VT1 執行個體組合。
-
您需要使用具有加速 AVC (H.264) 和 HEVC (H.265) 解碼器的 Xilinx U30 媒體轉碼卡的 Linux 應用程式。
重要
使用其他解碼器的應用程式在 VT1 執行個體上可能沒有提升效能。
-
U30 卡上只能執行一個轉碼任務。每張卡都有兩個與其關聯的裝置。只要您的每個 VT1 執行個體都有轉碼卡,您就可以執行所需數量的轉碼任務。
-
建立服務或執行獨立任務時,您可以在設定任務置放限制條件時使用執行個體類型屬性。這可確保在您指定的容器執行個體上啟動任務。此舉有助於確保您有效地運用資源,並確保您的影片轉碼工作負載任務位於 VT1 執行個體上。如需詳細資訊,請參閱 Amazon ECS 如何在容器執行個體上放置任務。
在以下範例中,在您的
default
叢集的vt1.3xlarge
執行個體上執行任務。aws ecs run-task \ --cluster default \ --task-definition
vt1-3xlarge-xffmpeg-processor
\ --placement-constraints type=memberOf,expression="attribute:ecs.instance-type == vt1.3xlarge" -
您可以設定容器,以便在主機容器執行個體上使用可用的特定 U30 卡。您可使用
linuxParameters
參數並指定裝置詳細資訊來實現這一操作。如需詳細資訊,請參閱 任務定義需求。
使用 VT1 AMI
您有兩種可選的選項,在 Amazon EC2 上執行 Amazon ECS 容器執行個體的 AMI。第一個選項是使用 AWS Marketplace上的 Xilinx 正式 AMI。第二個選項是從範本儲存庫建置自己的 AMI。
-
賽靈思提供 AMI
上的. AWS Marketplace -
Amazon ECS 提供了一個範本儲存庫,您可以使用該範本儲存庫為影片轉碼工作負載建置 AMI。此 AMI 隨附 Xilinx U30 驅動程式。您可以在GitHub
上找到包含封裝程式指令碼的儲存庫。如需 Packer 的詳細資訊,請參閱 Packer documentation (《Packer 文件》)。
任務定義需求
若要在 Amazon ECS 上執行視影片轉碼容器,您的任務定義必須包含使用加速 H.264/AVC 和 H.265/HEVC 解碼器的影片轉碼應用程式。您可以按照 Xil GitHub
任務定義必須根據執行個體類型專門設定。執行個體類型為 3xlarge、6xlarge 和 24xlarge。您必須設定容器,以便在主機容器執行個體上使用可用的特定 Xilinx U30 裝置。您可以使用 linuxParameters
參數進行該動作。下表詳細 SoCs 說明每個執行個體類型專屬的卡片和裝置。
執行個體類型 | vCPU | RAM (GiB) | U30 加速器卡 | 可定址 XCU30 SoC 裝置 | 裝置路徑 |
---|---|---|---|---|---|
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 |
重要
如果任務定義列出 EC2 執行個體沒有的裝置,則任務無法執行。當任務失敗時,下列錯誤訊息會出現在 stoppedReason
:CannotStartContainerError: Error response from
daemon: error gathering device information while adding custom device
"/dev/dri/renderD
130
": no such file or
directory