GPU轉(zhuǎn)碼性能、成本和質(zhì)量
音頻轉(zhuǎn)碼的GPU性能和成本
為了更好地確定使用GPU與CPU的固有價(jià)值,我們分析了三個(gè)變量: 性能 (支持的會(huì)話數(shù)),功耗 (# 會(huì)話/瓦特) 和成本 ($/會(huì)話)。 對(duì)于CPU,我們使用了英特爾至強(qiáng)E5-2698 v3 @ 2.10GHz,16-core dual socket card。 對(duì)于GPU ,我們使用了Nvidia P100。圖3描述了我們分析的配置。 注意: 對(duì)于下面討論的所有分析,我們認(rèn)識(shí)到這是一個(gè)時(shí)間點(diǎn)評(píng)估。 最肯定的是,CPU和GPU的處理能力將繼續(xù)提高,但我們相信GPU的增量將繼續(xù)超過CPU可實(shí)現(xiàn)的增量。
對(duì)于規(guī)模、功率和成本的計(jì)算,CPU是完全配置和完全加載的。GPU完全符合成本,但對(duì)于規(guī)模和功耗的分析,僅加載到可以在CPU處理中使用瓶頸的程度。這在使用少于4個(gè)GPU的低復(fù)雜度編解碼器類型中最為明顯。此外,CPU處理被設(shè)置為不超過85% 利用率。

GPU與CPU性能對(duì)比:會(huì)話數(shù)
圖3.1顯示了使用CPU+GPU進(jìn)行轉(zhuǎn)碼而不是僅使用CPU時(shí)可能支持的會(huì)話數(shù)的增量或增加。 假定100% 會(huì)話被轉(zhuǎn)碼, 可以看出,根據(jù)編解碼器類型,GPU將會(huì)話數(shù)增加到1366%。

GPU與CPU功耗對(duì)比,會(huì)話數(shù)/瓦
圖3.2顯示了每瓦特使用的會(huì)話數(shù)。在此分析中,服務(wù)器和CPU的功耗是常見的,因此功耗差異基于所使用的GPU數(shù)量。與總體會(huì)話計(jì)數(shù)所見的結(jié)果一樣,每瓦會(huì)話數(shù)在會(huì)話數(shù)量上顯示出非常強(qiáng)勁的增長,根據(jù)編解碼的類型,范圍從54% 到456% 增加

GPU與CPU成本消耗對(duì)比:美元/每會(huì)話
圖3.3顯示了每個(gè)會(huì)話的美元成本以及使用GPU潛在的成本節(jié)省。 在這里,通過轉(zhuǎn)移到GPU解決方案可以實(shí)現(xiàn)的節(jié)省范圍從使用AMR-NB的65% 到使用EVRC B0的492% (9.3 kbps)。

使用浮點(diǎn)處理的GPU音頻質(zhì)量
曾經(jīng)一個(gè)反對(duì)使用GPU進(jìn)行轉(zhuǎn)碼的論點(diǎn)是:使用CPU進(jìn)行定點(diǎn)處理轉(zhuǎn)碼更有效,可以產(chǎn)生更好的語音質(zhì)量。這與專為浮點(diǎn)計(jì)算而設(shè)計(jì)的GPU形成對(duì)比。如果此論點(diǎn)成立,則直接意味著使用GPU會(huì)導(dǎo)致語音質(zhì)量下降。實(shí)際上,通過查看實(shí)際測(cè)試結(jié)果可以證明該論點(diǎn)是錯(cuò)誤的。
我們分析了CPU (固定點(diǎn)) 與GPU (浮點(diǎn)) 的語音質(zhì)量結(jié)果,用于轉(zhuǎn)碼三種編解碼類型: G729AB; AMR-WB; 和EVRC-WB,使用G.729標(biāo)準(zhǔn)規(guī)范中的語音測(cè)試向量。語音質(zhì)量測(cè)量是使用PESQ標(biāo)準(zhǔn)進(jìn)行的。表1顯示了完整的PESQ測(cè)量結(jié)果。亮點(diǎn)是:
G729AB: GPU在CPU語音質(zhì)量測(cè)量的0.4% 之內(nèi)。請(qǐng)注意,測(cè)試是在沒有不連續(xù)傳輸 (DTX) 的情況下運(yùn)行的,也就是“沉默抑制”,因此在沉默期間發(fā)送了數(shù)據(jù)包。
EVRC-B: GPU的語音質(zhì)量測(cè)量與CPU的語音質(zhì)量測(cè)量相差0.9% 或更小。在兩個(gè)比特率上進(jìn)行了測(cè)試: 9.3kbps 和8.5 kbps,結(jié)果相似。
AMR-WB: GPU測(cè)量對(duì)比CPU測(cè)量,范圍從0.7% 好~0.55% 差。這個(gè)測(cè)試是在從6.6 kbps到23.85 kbps的比特率的整個(gè)頻譜上進(jìn)行的

總之,我們的測(cè)試表明,使用帶浮點(diǎn)處理的GPU的語音質(zhì)量測(cè)量比使用固定點(diǎn)處理的CPU更好,或在1% 內(nèi)。 根據(jù)我們的經(jīng)驗(yàn),<1% 差異將不會(huì)導(dǎo)致語音質(zhì)量的感知下降。有關(guān)固定點(diǎn)與浮點(diǎn)語音質(zhì)量的其他研究,請(qǐng)閱讀3GPP TR 26.976版本10.0.0版本10, AMR-WB語音編解碼器文檔的性能表征。具體地說,附件B和B.7章節(jié)確認(rèn)了我們發(fā)現(xiàn)的使用浮點(diǎn)與固定點(diǎn)編碼的AMR-WB PESQ分?jǐn)?shù)的比較。

從表2可以看出,根據(jù)轉(zhuǎn)碼類型,GPU的使用可以將性能提高到480%。這種增量性能帶來了137% 的增量成本。因此,基于轉(zhuǎn)碼類型或規(guī)模要求,GPU的使用比僅使用CPU更具吸引力

音頻和視頻混合轉(zhuǎn)碼
正如我們從音頻和視頻的性能評(píng)估中看到的那樣,GPU為規(guī)模和性能提供了非凡的價(jià)值。那么,當(dāng)音頻和視頻轉(zhuǎn)碼都在同一臺(tái)服務(wù)器上執(zhí)行時(shí),性能會(huì)如何呢?為了分析這一點(diǎn),我們重新使用了圖4中的配置,并對(duì)音頻進(jìn)行了基準(zhǔn)測(cè)試。表3僅顯示了AMR-WB<-> G.711音頻轉(zhuǎn)碼的比較

接下來,我們添加了視頻。對(duì)于GPU,為了適應(yīng)兩種類型,我們分配了40個(gè)內(nèi)核中的12個(gè)用于視頻轉(zhuǎn)碼,并將其余28個(gè)內(nèi)核分配給音頻轉(zhuǎn)碼。表4顯示了將視頻和音頻轉(zhuǎn)碼放在一起的匯總結(jié)果。對(duì)于組合轉(zhuǎn)碼,僅使用CPU,視頻轉(zhuǎn)碼會(huì)話平均下降67%,音頻轉(zhuǎn)碼會(huì)話下降25%。相反,當(dāng)使用CPU和GPU時(shí),視頻轉(zhuǎn)碼會(huì)話的數(shù)量保持恒定,并且音頻轉(zhuǎn)碼會(huì)話僅減少6.25%。

總結(jié)
媒體轉(zhuǎn)碼現(xiàn)在可以在云中交付,等于或比使用傳統(tǒng)DSP可以實(shí)現(xiàn)的性能更好。盡管最初在虛擬環(huán)境中進(jìn)行了媒體轉(zhuǎn)碼,使用CPU,該解決方案不足以實(shí)現(xiàn)規(guī)模,并且始終將只是未來的墊腳石。 現(xiàn)在很明顯,未來就在這里,它是使用GPU進(jìn)行實(shí)時(shí)通信的轉(zhuǎn)碼-云中的通信服務(wù)。
這份白皮書表明,進(jìn)行音頻轉(zhuǎn)碼在性能方面GPU遠(yuǎn)遠(yuǎn)優(yōu)于CPU,成本、功率和在語音質(zhì)量方面都等于CPU。當(dāng)將視頻轉(zhuǎn)碼添加到混音中,GPU再次成為超級(jí)解決方案,使基于GPU的媒體互通成為基于虛擬云部署的最佳解決方案
