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

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