其他
veImageX演进之路:FPGA HEIF 静图编码服务性能优化
veImageX是火山引擎基于字节跳动内部服务实践,推出的图像一站式解决方案 ,覆盖上传、存储、处理、分发、展示、质量监控全链路应用。
背景
架构
业务 App:一般会集成 veImageX 的图片 SDK。既可以兼容各类图片格式(自然也包括 HEIF),提供图片的下载、解码、展示功能。也支持将访问图片过程中产生的指标数据上报,以便于在控制台查看这些性能指标,比如解码耗时、图片加载成功率等。
veImageX 分发基础链路:主要解决图片分发问题,提供基础的图片实时处理能力。其中 CDN 缓存了图片请求,提供加速访问的能力;veImageX 源站服务主要负责访问权限的校验、流量控制、图片资源下载以及静态图片的主体处理流程。对于 HEIF 静图编码场景,veImageX 源站服务则需要和 FPGA HEIF 编码服务互动,协作完成。
FPGA HEIF 编码服务:自上而下可分为编码服务层、编码驱动层、编码硬件层。
优化方向
自适应编码模型预测:每个请求会有最多 5 次的推理,合并为 Batch,减少为 1 次调用;
FPGA 编码:直接调用 SDK 需要 6 次 CGO 调用,对这部分实现 C 的封装,减少为 2 次调用。
优化总结
CPU 负载从 80% 降低为 30%;
服务延时从 140ms 降低为 4ms。
写在最后
推荐阅读
欢迎关注