图片逐渐成为互联网主要的内容构成,相应的图片处理需求也在高速成长,移动应用与用户生产内容(UGC)正在驱动数据中心图像处理的业务负载快速增加。本文深维科技联合创始人兼CEO樊平详细剖析了图片加速的必要性、当前实际的图片解决方案与部署方式以及如何通过FPGA+CPU异构计算的方案维护用户体验与服务成本新平衡。
文 / 深维科技樊平
整理 / LiveVideoStack
1. 为什么需要图片加速?
目前,图片处理的需求正在快速成长,即源于用户生成内容、视频图片抓取等方式的图片缩略图生成,像素处理,图片转码、智能分析处理需求不断增加。众多应用迫切需要高性能,高性价比的图片处理解决方案。
在这种情况下,数据中心面临着一个核心的考验 —— 即用户体验与服务成本之间的平衡。总地来说,目前存在的纯CPU处理方案,TCO(服务器、电费、带宽、场地人员 成本)相对高昂,用户体验也相对较差。
2. 解决方案
2.1 ThunderImage JPEG2JPEG缩略图方案
鉴于此,深维科技推出了基于FPGA+CPU异构计算的解决方案——JPEG2JPEG,通过高性能FPGA分担CPU处理任务,其所带来的优势是20倍吞吐性能提升,20倍延迟的降低,5倍实际成本的节省以及10倍的能效比提升。
JPEG2JPEG缩略图方案是将用户上传的图片进行高质量的缩放,即可满足绝大多数应用场合需求,例如,微信接收的一般都是缩小后的图片。缩略图是一项大量的、高并发的需求,针对4K图像输入,输出缩放至1024x768、640x480的场景。目前,JPEG2JPEG缩略图方案可以实现吞吐量550张、延迟约58ms的高性能效果。
2.2 ThunderImage JPEG2WebP转码方案
WebP的需求主要来自于对带宽成本的节省。WebP相较于JPEG在同等图像质量情况下,压缩率可以提升25%~34%,相应带宽成本的节省更加明显,并且因为传输数据量的减少,延迟也会随之降低,进而带来用户体验的提升。但与此同时,WebP也存在一些问题,其计算复杂度是JPEG的10倍,对服务器的性能要求也更高,进而造成部署成本的提升。
深维科技的ThunderImage JPEG2WebP转码方案,通过FPGA加速可以带来10倍左右的性能提升,进而降低WebP的复杂度及服务器成本。ThunderImage JPEG2WebP转码方案支持Baseline、Main、Ultra几种类型,实现了对WebP M4以及M6模式的支持,并且支持M4的比特级一致(与CPU参考软件输出结果每比特一致)。
3. 部署问题
实现了技术方面的突破之后要如何与生产环境集成呢?如何在实际的业务体系中实现对FPGA优势更好的应用?实际部署是其中最值得探讨与研究的方向。对此,深维科技进行了一系列的探索与尝试,形成了以下几种方案。
3.1 如何与生产环境集成
在云端,ThunderImage通常会与OBS进行集成,用户端发送对图片的请求,CDN检查是否存在本地缓存,如不存在则向OBS发送请求,OBS通过相应参数与ThunderImage交互,生成相应的图片格式,最终通过CDN返回给用户端。这种与OBS集成的在线处理的方式,带来的是带宽成本以及存储成本的降低,以及QoS的提升。
3.2 FPGA产品部署方面
目前,FPGA产品在部署方面可以划分为公有云方案以及私有云方案两种方式。深维科技目前所拥有的解决方案对行业输出的产品形态主要分为公有云:SaaS、Instance以及镜像服务;私有云以及线下产品:软硬一体机。所应用的场景包括手机、电商、社交、CDN、云存储、视频等。
3.3 私有云部署方案
针对私有云部署,架构基于视频加速卡的硬件环境,服务器上层相应的操作系统以及虚拟化处理相结合,覆盖赛灵思驱动层、管理层工具等部分。深维科技的方案部署于此架构上,直接面向相应的应用场景。
3.4 Alveo U50部署方案
Alveo U50采用了UltraScale+架构,集成了超高带宽的8GB HBM2存储器技术,所以大幅缩小了产品尺寸。以此为基础的方案是当前计算密度最高的处理方案,对于数据中心服务器升级来说更加便捷。
4. 案例分析
上图为某社交网络云相册缩略图生产的实际案例,单节点吞吐性能提升可以达到16倍,TCO可以降低到一半,并且具有更优质的服务质量体验。因为其集群规模更小,所以维护起来更加方便。
4.1 公有云部署
公有云部署主要涉及平台、功能以及服务几个方面。其中云上的服务形态包括SaaS、Instance、Image三种。SaaS的优势是易部署,起步费用较低,方便小规模用户集成使用。Instance的集成更加灵活,封装比较完整,成本相比SaaS更低。对于Image来说,购买云主机以及镜像,需要在服务器端将应用与镜像完美集成,这意味着我们有机会将整体方案的最好性能发挥出来,因此Image方式的性能是最强的,并且可以实现深度的定制。
4.2 某视频网站WebP转码方案
上图为某视频网站WebP转码方案的实际案例,我们在云端上的整体性能都是有保障的,虽然云端的CPU为VCPU,在性能上会有些损耗,但整体性能收益一般情况下都会有20倍以上的性能提升。
综上,深维科技ThunderImage图像处理方案,支持丰富的编解码算法,能够适应差异化的应用场景,同时,无缝兼容业界常见算法平台。高效便捷的应用体验与部署方式,对于无论是公有云,私有云还是混合云端的应用来说都是一种新的优化与选择。
关于深维科技
北京深维科技有限公司(简称深维科技)成立于2016年,由中国顶级FPGA软件和硬件开发人员组成。 公司团队在多媒体处理,HPC应用和异构系统架构设计方面拥有丰富的经验。致力于成长为领先的异构加速应用领域FPGA计算平台供应商,为更多行业和应用提供支持。
深维科技基于FPGA + CPU的异构计算技术,为数据中心应用提供超高性能的图像和视频处理解决方案和产品。除此之外,深维科技还为高性能计算和大数据应用,如存储压缩加速和地震勘探等应用提供解决方案和设计服务。
LiveVideoStackCon 2020
上海/北京/旧金山 讲师招募
2020年LiveVideoStackCon将持续迭代,LiveVideoStackCon将分别在上海(6月13-14日),北京(9月11-12日)和旧金山(11月)举行。欢迎将你的技术实践、踩坑与填坑经历、技术与商业创业的思考分享出来,独乐不如众乐。请将个人资料和话题信息邮件到 speaker@livevideostack.com 或点击【阅读原文】了解成为LiveVideoStackCon讲师的权益与义务,我们会在48小时内回复。