摘要:?背景與挑戰(zhàn) 技博客 GigaOM 曾報道:YouTube 的視頻略縮圖采用 WebP 格式后矢空,網(wǎng)頁加載速度提升了 10%;谷歌的 Chrome 網(wǎng)上應(yīng)用商店采用 WebP 格式圖片后爬舰,每天可以節(jié)省幾 TB 的帶寬威沫,頁面平均加載時間大約減少 1/3;Google+ 移動應(yīng)用采用 WebP 圖片格式后洼专,每天節(jié)省了 50TB 數(shù)據(jù)存儲空間。
背景與挑戰(zhàn)
科技博客 GigaOM 曾報道:YouTube 的視頻略縮圖采用 WebP 格式后孵构,網(wǎng)頁加載速度提升了 10%屁商;谷歌的 Chrome 網(wǎng)上應(yīng)用商店采用 WebP 格式圖片后,每天可以節(jié)省幾 TB 的帶寬颈墅,頁面平均加載時間大約減少 1/3蜡镶;Google+ 移動應(yīng)用采用 WebP 圖片格式后,每天節(jié)省了 50TB 數(shù)據(jù)存儲空間恤筛。但Webp最大的缺點(diǎn)在于壓縮算法計算復(fù)雜度是JPEG的10倍以上官还,我們迫切需要一套高性能加速方案來降低業(yè)務(wù)成本。
項目
今年春節(jié)期間大客戶為了支持其搶紅包業(yè)務(wù)向阿里云提出了webp轉(zhuǎn)碼需求毒坛。根據(jù)以往經(jīng)驗總共需要準(zhǔn)備數(shù)幾十臺32核64線程的物理機(jī)望伦。阿里云為提升用戶體驗降低自身成本林说,使用FaaS(FPGA as a Service) F1實例加速webp編碼。其中FaaS團(tuán)隊提供了FPGA平臺支持屯伞,OSS團(tuán)隊提供了算法的支持腿箩。得益于高性能的FPGA平臺,我們使用5臺單卡FPGA云服務(wù)器扛下了日常40%的webp編碼流量劣摇。
效果
本次性能測試所使用樣本為512x512的圖片珠移,所有測試都在阿里云FaaS F1實例上測試。根據(jù)業(yè)務(wù)方的要求末融,我們對其中部分?jǐn)?shù)據(jù)值做了一些混淆钧惧。
1)延時
在使用了FPGA加速webp編碼之后,延遲降為原來的1/10勾习。
2)吞吐量
每個單卡的F1實例(8vcpu浓瞪,1 * ARRIA 10)可以獲得大約32核64線程物理機(jī)的~2倍吞吐量,跟某業(yè)內(nèi)專業(yè)加速webp編碼公司對比(在用同樣F1實例)语卤。我們發(fā)現(xiàn)某司的FPGA加速webp編碼對CPU依賴非常多追逮,但利用率又只有50-60%,這非常讓人費(fèi)解粹舵。
3)圖片質(zhì)量
下圖是在不同quality下钮孵,對比軟件(藍(lán)線)、OSS(紅線)眼滤、某司(綠線)的編碼后psnr曲線巴席。PSNR使用ImageMagick的convert工具計算,數(shù)值越大越好诅需。OSS提供的硬件加速算法漾唉,在圖像質(zhì)量方面幾乎跟軟件幾乎完全重合,某司提供的webp編碼加速器存在不小的差距(差距在0.1~0.5db之間)堰塌。
4)壓縮率
同樣使用圖片空間的測試架赵刑,quality設(shè)置也一樣,數(shù)值為相對JPEG原圖的壓縮率场刑,數(shù)值越小越好般此。經(jīng)過測試我們發(fā)現(xiàn)軟件、OSS牵现、某司的壓縮率幾乎完全重合铐懊,但依舊保持原有梯隊,軟件>OSS>某司瞎疼。
根據(jù)上面測試結(jié)果科乎,目前阿里云OSS的加速方案在webp壓縮場景所有指標(biāo)都超過了某司,除了壓縮率小幅領(lǐng)先之外贼急,其他兩個指標(biāo)都有非常明顯的優(yōu)勢茅茂。
未來
1)預(yù)計性能優(yōu)化完成之后E2E還可以提升50%的性能捏萍。壓縮率上,未來采用m6等級的編碼玉吁,其壓縮率比當(dāng)前壓縮率更高照弥。
2)單個FPGA板卡的成本遠(yuǎn)小于服務(wù)器,所以降低業(yè)務(wù)成本的關(guān)鍵在于提高FPGA的密度进副。未來webp加速器將使用F3實例这揣,單個芯片的FPGA性能提升了超過2倍,單臺服務(wù)器的FPGA芯片密度也提升了一倍影斑。
閱讀更多干貨好文给赞,請關(guān)注掃描以下二維碼: