本文摘要:摘要 :本文聚焦電視播出系統(tǒng)云化的關(guān)鍵技術(shù)問題中的 ST 2110信號收發(fā)環(huán)節(jié),對基于云化/虛擬化平臺上的高帶寬數(shù)據(jù)包收發(fā)、數(shù)據(jù)包流量整型、多個 IP 流時鐘同步、IP 信號在虛擬化/云平臺的收發(fā)幾個關(guān)鍵技術(shù)問題進行分析和說明,探索面向數(shù)據(jù)中心構(gòu)建電視播出系統(tǒng)的可行
摘要 :本文聚焦電視播出系統(tǒng)云化的關(guān)鍵技術(shù)問題中的 ST 2110信號收發(fā)環(huán)節(jié),對基于云化/虛擬化平臺上的高帶寬數(shù)據(jù)包收發(fā)、數(shù)據(jù)包流量整型、多個 IP 流時鐘同步、IP 信號在虛擬化/云平臺的收發(fā)幾個關(guān)鍵技術(shù)問題進行分析和說明,探索面向數(shù)據(jù)中心構(gòu)建電視播出系統(tǒng)的可行方案,希望能夠為行業(yè)內(nèi)系統(tǒng)建設(shè)提供一點參考思路。
關(guān) 鍵 詞 :SMPTE ST 2110SR-IOV DPDK Rivermax
1 引言
“互聯(lián)網(wǎng) +”時代,電視臺業(yè)務(wù)越來越向互聯(lián)網(wǎng)、融媒體和 IP 技術(shù)發(fā)展,云計算和云平臺的建設(shè)越來越在技術(shù)建設(shè)當(dāng)中占據(jù)更大的比重。一方面,為了適配融媒體、互聯(lián)網(wǎng)需要的彈性,需要進行云平臺的建設(shè) ;另一方面,業(yè)界也在努力將傳統(tǒng)的電視制播業(yè)務(wù)搬到云上,實現(xiàn)集中維護、降低建設(shè)成本等目標。經(jīng)過全行業(yè)內(nèi)的多年實踐,面向融媒體的制作、分發(fā)等方面在云上已經(jīng)具備了不少成功案例。 這 是 因 為 采 用 H.264、H.265 等編解碼格式的碼流、文件都可以比較好的和軟件技術(shù)相結(jié)合,比較容易部署在云上,并且在公有云和私有云上都有比較成功的實踐。但傳統(tǒng)電視臺內(nèi)部的制播業(yè)務(wù)都采用傳統(tǒng)的無壓縮信號進行生產(chǎn),這也導(dǎo)致臺內(nèi)相當(dāng)多的實際業(yè)務(wù)無法上云,降低了云建設(shè)本身在集中維護、降低成本方面的初衷。因此,本文嘗試針對云化的關(guān)鍵技術(shù)問題進行探討。
2 電視播出系統(tǒng)云化概述
播出系統(tǒng)是電視臺生產(chǎn)節(jié)目的主要發(fā)布形式,也是演播室、非編等生產(chǎn)系統(tǒng)對接的出口系統(tǒng),所以,播出系統(tǒng)天然就存在文件處理和信號處理兩個部分的應(yīng)用。其中,文件化應(yīng)用采用的非實時處理模式在傳統(tǒng)播出系統(tǒng)中主要通過 x86 通用服務(wù)器完成遷移、轉(zhuǎn)碼、技審等自動化工作流程,這部分應(yīng)用采用云服務(wù)上的虛擬化主機,可以做到完全替代物理機。
但對于播出的信號應(yīng)用部分,目前業(yè)內(nèi)主要還是采用同軸電纜和 SDI傳送信號,只有部分電視臺實現(xiàn)了部分通道或頻道的 IP 化。在這些已經(jīng)建設(shè)的 IP 播出系統(tǒng)中,主要采用廣 電 專 業(yè) 硬 件 設(shè) 備 完 成 ST 2110 和ST 2022-7 信 號 的 發(fā) 送 接 收。 比 如,Imagine、Grass Valley、Evertz 等公司的 IPG 類設(shè)備和 Matrox 公司的硬件信號 I/O 卡,都采用這種方案。但同時,我們也看到,主流視音頻廠商也大量采用 x86 通用服務(wù)器平臺部署專業(yè)視音頻設(shè)備,如哈雷公司的 IP 播出視頻服務(wù)器、羅德施瓦茨公司的 IP 信號多畫面等。這說明,采用通用計算機技術(shù)是具備解決實時信號的基本計算能力條件的,只要解決了信號的 I/O問題,就具備了將信號設(shè)備部署在云環(huán)境下的基本條件。
3 關(guān)鍵技術(shù)問題
電視播出系統(tǒng)采用通用設(shè)備實現(xiàn)IP 信號的收發(fā),在解決了 IP ST 2110無壓縮信號的封裝后,還要解決以下四個方面的問題。(1)無壓縮視音頻數(shù)據(jù)的高帶寬吞吐要求。(2)ST 2110 數(shù)據(jù)包收發(fā)能夠平穩(wěn)有序的流量整型。(3)ST 2110 信號涉及的多個組播流精確同步問題。(4)虛擬化主機收發(fā) ST 2110 的IP 信號問題。
3.1 高帶寬 I/OST 2110 無壓縮
IP 信號的特點之一是大量的帶寬需求。通 過 SDI 傳 輸 視 音 頻 信 號 時,1080i50 信 號 需 要 1.485Gbps,4KUHD 需 要 12Gbps。 通 過 IP 傳 輸 視音頻信號時所需要的網(wǎng)絡(luò)帶寬因為 ST2110 采用視頻、音頻、輔助數(shù)據(jù)分離的方式,可以采用三路組播流來實現(xiàn)信號傳輸,同時去掉了視頻中的冗余數(shù)據(jù),相比 SDI 的帶寬略少,能節(jié)約30% 的帶寬,1080i50 視頻數(shù)據(jù)需要1.1Gbps 左右,4K UHD 需要 8.7Gbps左右。相比 IPTV 系統(tǒng)中傳輸?shù)牟坏?0Mbps 的碼流,其傳輸?shù)臄?shù)據(jù)要求高出很多,如此大的數(shù)據(jù)量需要專用板卡或者具有瞬間進行大量報文轉(zhuǎn)發(fā)的網(wǎng)卡才能支撐。基 于 通 用 設(shè) 備 實 現(xiàn) 發(fā) 送, 除 了要具備發(fā)送高帶寬碼流的能力,還要保證發(fā)送碼流的延遲在可接受范圍內(nèi),即低延遲需求。傳統(tǒng)方式遵循計算機 OSI 七層模型標準,要跨越應(yīng)用層、表示層、會話層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層、物理層才能將數(shù)據(jù)包發(fā)送出去。
首先,應(yīng)用程序創(chuàng)建 Socket 并綁定端口,對數(shù)據(jù)進行 UDP、RTP、IP 層協(xié)議封裝,將數(shù)據(jù)送到操作系統(tǒng)的 Kernel 層進行TCP/IP 傳輸,然后再調(diào)用網(wǎng)卡硬件,完成發(fā)送流程。在這個過程中,應(yīng)用程序、Socket、驅(qū)動程序到網(wǎng)卡內(nèi)部都存在緩存隊列,這個對 IP 信號發(fā)送的及時性以及數(shù)據(jù)的 I/O 吞吐性能會造成很大的影響。為了擴大數(shù)據(jù)吞吐能力,需要引入內(nèi)核旁路模式。該方案可以直接跳過操作系統(tǒng)的 Kernel 層,讓應(yīng)用程序直接和硬件網(wǎng)卡建立通信,這樣省去了中間環(huán)節(jié),減少了 Kernel層兩個緩存隊列,可以有效提高數(shù)據(jù)I/O 吞吐能力,并降低延遲。
3.2 數(shù)據(jù)包流量整型
對 于 專 用 的 視 音 頻 板 卡, 可 以使用板卡的邏輯處理控制數(shù)據(jù)包流量和速度,且不會過多占用主機寶貴的 CPU 資源。對于上層應(yīng)用軟件來說,只需要把封裝好的數(shù)據(jù)傳輸給板卡,板卡就可以有序發(fā)送數(shù)據(jù)包,并且保證發(fā)包不會出現(xiàn)亂序,發(fā)包間隔也符合下游設(shè)備要求。對于通用設(shè)備來說,數(shù)據(jù)包只能通過網(wǎng)卡送出,而網(wǎng)卡通常都不具備自主緩存發(fā)送數(shù)據(jù)包的能力,這樣,數(shù)據(jù)包的發(fā)送就需要主機的 CPU 高度參與,控制好每個發(fā)送數(shù)據(jù)包的間隔,以使數(shù)據(jù)包發(fā)送符合一定的規(guī)范。比如,ST 2110-21標準中提出了網(wǎng)絡(luò)兼容模型和虛擬接收緩存兩個數(shù)據(jù)包發(fā)送和接收的模型。作為一款優(yōu)化加速軟件,NVIDIARivermax 符 合 SMPTE ST 2110-21規(guī)范要求,并通過了 JT-NM 測試計劃,能夠與市場上多個廣播電視設(shè)備和軟件供應(yīng)商進行集成和互聯(lián)互通。軟件在 NVIDIA ConnectX-5 及之后的網(wǎng)卡配合運行,僅需要較低的 CPU使用率,就可以支持在通用設(shè)備上實現(xiàn)高清、4K UHD 視頻流的收發(fā)。
該軟件支持物理機、VMware ESXI 和Linux OpenStack 虛擬化,可以使系統(tǒng)平滑上云。3.3 多個 IP 流信號同步如果基于通用設(shè)備發(fā)送 ST 2110IP 信號,那么該服務(wù)器就需要作為一個 IP 設(shè)備同步并鎖定到 PTP 時鐘上。SMPTE ST 2059-2 是針對廣電IP 視音頻傳輸特性而制定的一套標準,它在 IEEE 1588 協(xié)議的基礎(chǔ)上定義了 ST 2059 Profile。PTP4L 是關(guān)于1588v2 PTP 協(xié)議棧的開源代碼,這個代碼實現(xiàn)了各種 ITU 規(guī)定的 Profile,也可以配置成廣電所需要的 ST 2059Profile。為保證主機被 PTP 同步,當(dāng)檢測到 PTP 主鐘,且 PTP 主鐘和被檢測設(shè)備之間的相位差在 1000ns 之內(nèi),即認為設(shè)備鎖定。鎖定后的主機應(yīng)用程序在收發(fā) ST 2110 信號時,可以為發(fā)送流設(shè)置具有高精度的時間戳,接收流可以依據(jù) RTP 數(shù)據(jù)包中的時間戳同步視頻、音頻、輔助數(shù)據(jù)中不同的IP 流進行時間上的對齊,同時也能夠根據(jù)主機自身的 PTP 時鐘計算出 IP 流信號與主機的時鐘偏差。
3.4 虛擬化主機收發(fā) IP 信號系統(tǒng)
云化的關(guān)鍵指標是要能夠虛擬化,由此才能獲得云化系統(tǒng)所帶來的動態(tài)分配、冗余負載等高級功能。而專用的視音頻板卡不支持虛擬化,需要引入 NVIDIA Rivermax 才可以實現(xiàn)在虛擬化環(huán)境下收發(fā) ST 2110、ST 2022-6信號。Rivermax 使用的虛擬化基于SR-IOV 技術(shù),其可以將一塊物理網(wǎng)卡虛擬成多個虛擬網(wǎng)卡,并支持將虛擬網(wǎng)卡(VF)直通到虛擬機中,這樣虛擬機可以基于 VF 進行信號的 I/O 操作,虛擬機與操作虛擬網(wǎng)卡的訪問就如同訪問物理機網(wǎng)卡一樣,沒有延遲消耗。
基于此,虛擬主機就可以實現(xiàn) PTP 時鐘同步、ST 2110 信號收發(fā)。如圖 3所示,SR-IOV 技術(shù)也可以實現(xiàn)一塊物理網(wǎng)卡做成多塊虛擬網(wǎng)卡,分配給不同的虛擬機,達到網(wǎng)卡帶寬資源的充分利用,并能夠?qū)崿F(xiàn)不同類應(yīng)用程序的隔離。SR-IOV 技術(shù)通過創(chuàng)建不同虛擬功能的方式,一個物理網(wǎng)卡可以虛擬出多個網(wǎng)卡,分配給虛擬機的就是獨立網(wǎng)卡,實現(xiàn)虛擬機直接跟硬件網(wǎng)卡通信,這樣可以不再經(jīng)過軟件交換機,減少了 Hypervisor 層的地址轉(zhuǎn)換。硬 件 方 面, 支 持 包 括 芯 片 組 對SR-IOV 設(shè) 備 的 識 別,BIOS 為 SRIOV分配足夠的資源。
此外,需要開啟 VT-d 支 持。Intel VT-d 是 Intel虛擬化技術(shù)的一部分,主要針對的是I/O 子系統(tǒng)。它的實現(xiàn)主要是通過在硬件上引入重定向單元,該硬件重定向單元用于對 I/O 子系統(tǒng)的 DMA 操作和中斷傳遞進行重定向,從而輔助VMM 實現(xiàn) I/O 子系統(tǒng)的虛擬化。軟 件 方 面, 虛 擬 化 操 作 系 統(tǒng) 層的虛機管理器將驅(qū)動管理權(quán)限交給Domain 0,Domain 0 操作系統(tǒng)支持SR-IOV 功能。Domain 0 通過物理功能(PF)驅(qū)動發(fā)現(xiàn)設(shè)備的 SR-IOV 功能后將包括發(fā)送、接收隊列在內(nèi)的物理資源依據(jù) VF 數(shù)目劃分成多個子集,然后 PF 驅(qū)動將這些資源子集抽象成設(shè)備,即系統(tǒng)中所見的虛擬功能(VF)設(shè) 備。 創(chuàng) 建 VF 設(shè) 備 后,Domain 0可將 VF 設(shè)備以 Passthrough(PCI/PCIe)方式分配給虛擬機。SR-IOV 的軟件架構(gòu)可以分成 PF、VF、控制面板以及 PF 和 VF 間的通信機制四個部分。
(1)PF(物理功能)是 Domain 0中負責(zé)管理 SR-IOV 設(shè)備的特殊驅(qū)動,其主要功能是為特權(quán) Domain 0 提供設(shè)備訪問功能和全局貢獻資源配置的功能。虛擬機所有影響設(shè)備狀態(tài)的操作均需通過通信機制向 PF 發(fā)出請求完成。(2)VF(虛擬功能)是輕量級的PCIe 功能,其功能包含向虛擬機操作系統(tǒng)提供接口、數(shù)據(jù)的發(fā)送及接收功能、與 PF 進行通信完成全局相關(guān)操作三個方面。由于 VF 的資源僅是設(shè)備資源的子集,因此,VF 驅(qū)動能夠訪問的資源有限,對其他資源的訪問要求通過 PF 完成。
(3)控制面板同 PF 一樣位于特權(quán) Domain 0 中,其主要功能是負責(zé)生成 PCIe 配置空間并將 VF 抽象成PCIe 設(shè)備,同時向用戶提供 VF 分配、回收等接口。(4)通信機制指一旦在 PF 中啟用 SR-IOV,就可以通過 PF 的總線、設(shè)備和功能編號(路由 ID)訪問各個VF 的 PCI 配置空間。每個 VF 都具有一個 PCI 內(nèi)存空間,用于映射其寄存器集。VF 設(shè)備驅(qū)動程序?qū)拇嫫骷M行操作以啟用其功能,并且顯示為實際存在的 PCI 設(shè)備。創(chuàng)建 VF 后,可以直接將其指定給 I/O 來賓域或各個應(yīng)用程序。此功能使得虛擬功能可以共享物理設(shè)備,并在沒有 CPU 和虛擬機管理程序軟件開銷的情況下執(zhí)行 I/O。
相對于軟件模擬 I/O 虛擬化,首先,SR-IOV 可 以 從 虛 擬 機 環(huán) 境 直接 訪 問 硬 件, 降 低 了 I/O 延 遲 和 對CPU 的占用,獲得了接近原生的 I/O性能,虛擬機直接使用虛擬文件系統(tǒng),沒有了虛擬機管理器的陷入處理 ;其次,數(shù)據(jù)更加安全,每個 VF 專屬于一個 IOMMU Group,共享 IOMMUGroup 的設(shè)備不能分配給不同的虛擬機,而每個 IOMMU Group 又有獨立的內(nèi)存。相對于設(shè)備直接分配,SR-IOV不存在一個 PCIe 設(shè)備只能給一個虛擬機的尷尬,允許在 I/O 來賓域之間高效 共 享 PCIe 設(shè) 備,SR-IOV 下 多 個虛擬機可通過獨占虛擬設(shè)備的方式共享一個 PCIe 設(shè)備。而設(shè)備直接分配需要將宿主機 Host 中的物理 PCIe 設(shè)備直接分配給客戶機 Guest 使用,虛擬機獨占這個 PCIe 設(shè)備。與此同時,SR-IOV 也存在使用虛擬設(shè)備的虛擬機不能在線遷移的缺點,并且需要注意 PCIe 的訪問控制服務(wù)等特性。
4 結(jié)語
基于通用設(shè)備實現(xiàn) ST 2110 的 IP信號收發(fā)是電視播出系統(tǒng)云化的基本能力組件,目前,NVIDIA Rivermax技術(shù)已經(jīng)能夠做到與第三方廣電設(shè)備的信號格式兼容,作為云或虛擬化系統(tǒng)的基礎(chǔ)資源。在測試和實踐過程中,我們發(fā)現(xiàn),在系統(tǒng)冗余切換過程中,因為 SR-IOV 技術(shù)特性,從虛擬機遷移到另外一臺物理主機后,需要對 SR-IOV 虛擬網(wǎng)卡與目標設(shè)備的物理網(wǎng)卡進行一次關(guān)聯(lián)映射。未來,隨著 DPDK 技術(shù)的發(fā)展,可以做到更好地控制流量整型,更完美地實現(xiàn)虛擬機在物理機間的熱遷移,更加充分地使用云計算自身的動態(tài)分配所帶來的紅利。
作者:昆明廣播電視臺 方嘉珂 楊劍霖
轉(zhuǎn)載請注明來自發(fā)表學(xué)術(shù)論文網(wǎng):http:///wslw/30157.html