服務提供商網絡,企業(yè)網絡和最終用戶的設備中使用了大量的VoIP 編碼/解碼算法。傳統(tǒng)上,開發(fā)這些算法以減少帶寬消耗 (例如,iBLC、G.729和AMR) 或提供卓越的語音質量 (例如,寬帶編解碼器,如AMR-WB、G.722和OPUS)。
例如,由WebRTC發(fā)起的VoIP會話使用OPUS,企業(yè)VoIP電話可能使用G.729,而移動網絡用戶可能使用AMR-WB。這些不同端點間的呼叫需要在多個編解碼器之間進行媒體轉碼,甚至在呼叫中選擇編解碼。因此,成功可靠地提供具有高度服務質量的實時通信的能力在很大程度上取決于媒體轉碼功能。
媒體轉碼可以在網絡中的多個地方提供: 媒體網關; 會話邊界控制器 (SBCs) 中央化媒體資源功能處理器 (MRFP); 甚至在邊緣設備內。雖然本簡介側重于SBCs,但無論用例如何,許多相同的特性都適用。
多年來,基于SBC的媒體轉碼在DSP中完成,通過硬件實現規(guī);,處理速度和成本進行優(yōu)化。雖然這是一個有效的解決方案,但網絡已經發(fā)展,實時通信遷移到純軟件的虛擬云環(huán)境,迫使SBC適應。當今的SBC可部署在虛擬云環(huán)境中,并為媒體轉碼提供兩種選擇:
01基于CPU的媒體轉碼
英特爾x86是一款通用CPU,可以支持媒體轉碼所需的矢量計算,但它也被設計為支持與媒體處理無關的大量附加指令。因此,英特爾x86是一種功能性但效率低下的媒體轉碼解決方案。雖然現代CPU速度很快,但它們配備了少量內核,從而限制了執(zhí)行的并發(fā)線程數量。對于諸如媒體轉碼之類的計算密集型應用程序,對整體規(guī)模構成了限制,從而使解決方案在功效和成本方面效率低下。
02基于GPU媒體轉碼
GPU配備了大量計算單元,這些計算單元可累計提供高計算和數據吞吐量。雖然是為圖形計算設計的,但今天的GPU是通用并行處理器,已經成為解決大型計算密集型任務 (如圖像處理、機器學習等) 的事實上的選擇。
對于實時通信,當有非常多的媒體會話需要同時進行轉碼時,可以將解決方案要求映射到高性能計算 (HPC) 集群。由于媒體轉碼被認為是一項計算密集型任務,因此它非常適合利用GPU的固有特性,并與優(yōu)化的CPU實現相比,實現突破性的性能提升。
Ribbon SBC
Ribbon SBC軟件,即使運行在物理設備中,也被構造為單獨的信令,媒體數據包處理和媒體轉碼。此體系結構設計非常適合促進向虛擬云部署模型的過渡;诖嗽O計,可以針對每個功能進行優(yōu)化。
用于設置會話、信令協(xié)議互通、會話管理和信令安全的信令軟件,和負運責媒體安全、數據包處理和轉發(fā)以及媒體協(xié)議互通的媒體處理軟件,都非常適合在虛擬云部署中的CPU上運行。
由于CPU用于信令和媒體數據包處理,因此可以將它們用于媒體轉碼,但這不是唯一的, 使用GPU也是一個可行的選擇,有些人會說更好。下面的圖顯示了SBC的這兩個選項之間的區(qū)別,突出顯示了在虛擬CPU上運行的功能與在GPU上運行的功能。請注意,所謂的 “GPU SBC” 實際上是由CPU和GPU組成的,因為CPU仍在處理信令和媒體數據包,以及一些不太復雜的代碼轉換功能。

圖一:基于CPU與基于GPU的SBC轉碼對比
在決定這兩個選項時,必須考慮可伸縮性,語音質量和每個轉碼會話成本的差異。為了評估這些參數,Ribbon進行了實驗室測試以設置基準測量。某個一級運營商采用了類似的測試配置,在相同參數上運行測試。結果如下:
可伸縮性
對多個同時會話涉及許多重復完成的小重復任務情景進行轉碼。當這涉及多種編解碼器類型或復雜的高清編解碼器時,轉碼就成為一項計算密集型任務,這就是GPU的固有設計提供可伸縮性并證明極其有價值的地方。
為了確定GPU的潛在可伸縮性,Ribbon構建了實驗室配置,如圖1所示。目標是使用固定數量的CPU與相同數量的CPU并添加GPU來確定最大并發(fā)轉碼會話。測試是針對G.711和G.722,G.729,AMR-NB,AMR-WB和EVRC之間進行轉碼。結果顯示出顯著的改進,這取決于所使用的編解碼,使用GPU可以達到到400% 到1300% 間的增益。
Ribbon在實驗室做了另一項獨立測試,使用更廣泛的轉碼集,結果顯示GPU可以達到425% 和1100%的增益 (取決于所使用的編解碼)
話音質量
在CPU和GPU之間進行媒體轉碼時,一個重要的考慮因素是它們提供的語音質量水平。由于CPU使用定點計算,而GPU使用浮點計算,因此我們需要評估這是否對語音質量有影響。
我們運行了語音質量評估 (VQA) 測試,得到的結果表明,使用帶有浮點處理的GPU要么在CPU定點處理的1% 內,要么更好,這取決于所使用的編解碼器。另一項獨立的VQA測試檢查了更廣泛的編解碼,顯示了使用GPU的類似VQA結果。
語音質量的底線是使用GPU和CPU進行轉碼之間沒有明顯的語音質量差異。
每個轉碼的會話成本
為了評估每個轉碼會話的成本,Ribbon計算了兩個成本: 每個配置的最大功率消耗; 以及使用/不使用GPU的每個物理配置的成本。
在我們的測試中,我們看到了大量的功耗節(jié)省,相對于CPU,GPU提供了每瓦特功耗下轉碼會話數的54% 到456% 的增長,這取決于所使用的編解碼。類似地,對更廣泛的編解碼的獨立測試表明,根據所使用的編解碼,GPU在400% 和800% 之間提供了每瓦轉碼會話的增益。
除了電力成本之外,我們還考慮了測試配置的相應資本成本,以考慮增量GPU。通過將總成本除以轉碼會話的最大數量,我們計算了每個轉碼會話的成本。結果表明,在所有編解碼對組合中,每個轉碼會話使用GPU的成本要低得多。我們預計每一代連續(xù)的GPU的性能增長速度將快于相關成本,因此GPU的使用將在每個轉碼會話中實現更好的成本。
總結
當服務提供商和大型企業(yè)計劃將其SBC遷移到虛擬云環(huán)境時,他們必須確定如何提供最具成本效益、同時可擴展的媒體轉碼。
在此解決方案簡介中,我們強調了云中媒體轉碼的兩個選項: CPU和GPU, Ribbon和Tier 1網絡運營商進行的測試結果表明,在可擴展性,語音質量和每個轉碼會話的成本方面,GPU在媒體轉碼方面的性能明顯優(yōu)于CPU,尤其是隨著擴展要求的提高。
總之,使用CPU進行媒體轉碼可以很好地用于低規(guī)模的轉碼解決方案或轉碼使用情況,其中最大并發(fā)轉碼會話流量是相對靜態(tài)的,并且預計不會隨著時間的推移而增長。否則,鑒于本解決方案簡介中描述的結果,將網絡基礎結構轉向使用GPU進行媒體轉碼意味著您將朝著正確的未來方向前進。
關于Ribbon
Ribbon是一家在實時通信領域擁有20年領導地位的公司。Ribbon擁有世界一流的技術和知識產權,為當今世界提供智能,安全,嵌入式的實時通信。該公司將固定,移動和企業(yè)網絡從傳統(tǒng)環(huán)境轉變?yōu)榘踩腎P和基于云的體系結構,從而為消費者和企業(yè)提供高效的通信。Ribbon的創(chuàng)新,市場領先的產品組合遍布全球28個國家/地區(qū),為服務提供商和企業(yè)提供了在完全虛擬化環(huán)境中快速創(chuàng)建服務的能力。