异构计算助力客户春节webp图片编码

摘要: 背景与挑战 技博客 GigaOM 曾报道:YouTube 的视频略缩图采用 WebP 格式后,网页加载速度提升了 10%;谷歌的 Chrome 网上应用商店采用 WebP 格式图片后,每天可以节省几 TB 的带宽,页面平均加载时间大约减少 1/3;Google+ 移动应用采用 WebP 图片格式后,每天节省了 50TB 数据存储空间。

背景与挑战

科技博客 GigaOM 曾报道:YouTube 的视频略缩图采用 WebP 格式后,网页加载速度提升了 10%;谷歌的 Chrome 网上应用商店采用 WebP 格式图片后,每天可以节省几 TB 的带宽,页面平均加载时间大约减少 1/3;Google+ 移动应用采用 WebP 图片格式后,每天节省了 50TB 数据存储空间。但Webp最大的缺点在于压缩算法计算复杂度是JPEG的10倍以上,我们迫切需要一套高性能加速方案来降低业务成本。

项目

今年春节期间大客户为了支持其抢红包业务向阿里云提出了webp转码需求。根据以往经验总共需要准备数几十台32核64线程的物理机。阿里云为提升用户体验降低自身成本,使用FaaS(FPGA as a Service) F1实例加速webp编码。其中FaaS团队提供了FPGA平台支持,OSS团队提供了算法的支持。得益于高性能的FPGA平台,我们使用5台单卡FPGA云服务器扛下了日常40%的webp编码流量。

效果

本次性能测试所使用样本为512x512的图片,所有测试都在阿里云FaaS F1实例上测试。根据业务方的要求,我们对其中部分数据值做了一些混淆。

1)延时

在使用了FPGA加速webp编码之后,延迟降为原来的1/10。

图片描述

2)吞吐量

每个单卡的F1实例(8vcpu,1 * ARRIA 10)可以获得大约32核64线程物理机的~2倍吞吐量,跟某业内专业加速webp编码公司对比(在用同样F1实例)。我们发现某司的FPGA加速webp编码对CPU依赖非常多,但利用率又只有50-60%,这非常让人费解。

图片描述

3)图片质量

下图是在不同quality下,对比软件(蓝线)、OSS(红线)、某司(绿线)的编码后psnr曲线。PSNR使用ImageMagick的convert工具计算,数值越大越好。OSS提供的硬件加速算法,在图像质量方面几乎跟软件几乎完全重合,某司提供的webp编码加速器存在不小的差距(差距在0.1~0.5db之间)。

图片描述

4)压缩率

同样使用图片空间的测试架,quality设置也一样,数值为相对JPEG原图的压缩率,数值越小越好。经过测试我们发现软件、OSS、某司的压缩率几乎完全重合,但依旧保持原有梯队,软件>OSS>某司。

图片描述

根据上面测试结果,目前阿里云OSS的加速方案在webp压缩场景所有指标都超过了某司,除了压缩率小幅领先之外,其他两个指标都有非常明显的优势。

未来

1)预计性能优化完成之后E2E还可以提升50%的性能。压缩率上,未来采用m6等级的编码,其压缩率比当前压缩率更高。
2)单个FPGA板卡的成本远小于服务器,所以降低业务成本的关键在于提高FPGA的密度。未来webp加速器将使用F3实例,单个芯片的FPGA性能提升了超过2倍,单台服务器的FPGA芯片密度也提升了一倍。

原文链接
干货好文,请关注扫描以下二维码:
图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522231.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

发动机压缩比怎么计算公式_怎么判断发动机有积碳,发动机积碳多的症状有哪些...

经过时间的积累,积碳作为发动机的通病几乎无处不有,很多车主也对此十分头疼。不过,很多车主小白并不了解车辆积碳是如何产生的,更不知道如何判断发动机是否有积碳,其实发动机积碳多的症状很容易让车主误以为车辆出现其…

Kubernetes之路 1 - Java应用资源限制的迷思

摘要: 随着容器技术的成熟,越来越多的企业客户在企业中选择Docker和Kubernetes作为应用平台的基础。然而在实践过程中,还会遇到很多具体问题。本文分析并解决了Java应用在容器使用过程中关于Heap大小设置的一个常见问题。随着容器技术的成熟&…

你家的饮水机,到底可以有多脏?

戳蓝字“CSDN云计算”关注我们哦!作者 | 胡巍巍出品 | CSDN(ID:CSDNnews)几年前,笔者在一所培训学校工作。因为学生多、学校大,老师也多,自然办公室也多。这种情况下,学校为了省事&a…

ajax前台传json到后台解析的方法以及注意事项

首先&#xff0c;如果是maven工程的话&#xff0c;需要在pom.xml文件中添加下方依赖<dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.4</version><classifier>jdk15</classif…

java http get_我是如何进入阿里巴巴的-面向春招应届生Java面试指南(九)

基础篇基本功面向对象的特征1.final, finally, finalize 的区别 final—修饰符&#xff08;关键字&#xff09;如果一个类被声明为final&#xff0c;意味着它不能再派生出新的子类&#xff0c;不能作为父类被继承。因此一个类不能既被声明为 abstract的&#xff0c;又被声明为f…

链表的快慢指针思想的解决

看接下来的一道题目 1、给定一个头结点为 head 的非空单链表&#xff0c;返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二个中间结点。 例子&#xff1a;[1,2,3,4,5] 返回中间节点3 [1,2,3,4,5,6] 返回中间节点4 我们该如何做呢&#xff0c;首先这里用到了快慢…

使用Helm 在容器服务k8s集群一键部署wordpress

摘要&#xff1a; Helm 是啥? 微服务和容器化给复杂应用部署与管理带来了极大的挑战。Helm是目前Kubernetes服务编排领域的唯一开源子项目&#xff0c;做为Kubernetes应用的一个包管理工具&#xff0c;可理解为Kubernetes的apt-get / yum&#xff0c;由Deis 公司发起&#xff…

保镖机器人作文_关于机器人作文400字

【第1篇】“爱闯祸”的机器人世纪科技发达&#xff0c;人类发明出了机器人&#xff0c;我也赶时髦&#xff0c;买了一个。可是&#xff0c;这是一个“爱闯祸”的机器人。我的学校正在举行科技展览会&#xff0c;科学老师建议我把机器人带去&#xff0c;让同学们开开眼界。第二天…

Jupyter Notebook数据科学高效技巧

摘要&#xff1a; 本文有一些关于Jupyter Notebook的干货&#xff0c;希望看完文章可以给你带来收获当我学习有关深度学习的优秀的fast.ai课程时&#xff0c;我学到了很多适用于通用软件工程的干货。我写这篇文章是为了总结这些技巧并与你分享。1.Jupyter Notebook拓展标准的Ju…

格罗方德起诉台积电侵犯16项专利、影响巨大;中兴通讯与印尼Smartfren展开合作;网传FB开发新通讯应用Threads……...

关注并标星星CSDN云计算极客头条&#xff1a;速递、最新、绝对有料。这里有企业新动、这里有业界要闻&#xff0c;打起十二分精神&#xff0c;紧跟fashion你可以的&#xff01;每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 索尼将于9月5日在IFA 2019上…

JS之前台参数提交到后台,双引号转义为解决办法

问题描述 var param $("#searchForm").serializeJson(); 前台封装好了键值对形式的字符串&#xff0c;使用了EasyUI的treeGrid控件&#xff0c;传到后台后&#xff0c;双引号转义为" 解决办法 apache工具包common-lang中有一个很有用的处理字符串的工具类&am…

MaxCompute理解数据、运算和用户的大脑:基于代价的优化器

摘要&#xff1a; 回顾大数据技术领域大事件&#xff0c;最早可追溯到06年Hadoop的正式启动&#xff0c;而环顾四下&#xff0c;围绕着数据库及数据处理引擎&#xff0c;业内充斥着各种各样的大数据技术。在云栖社区2017在线技术峰会大数据技术峰会上&#xff0c;阿里云大数据计…

python高阶函数闭包装饰器_Python自学从入门到就业之高阶函数、嵌套函数、闭包、装饰器...

高阶函数 在Python中&#xff0c;函数其实也是一种数据类型。 def test(): return hello world print(type(test)) # 函数对应的数据类型是 function,可以把它当做是一种复杂的数据类型。 既然同样都是一种数据类型&#xff0c;我们就可以把它当做数字或者字符串来处理。 定义…

MaxCompute与OSS非结构化数据读写互通(及图像处理实例)

摘要&#xff1a; MaxCompute作为阿里巴巴集团内部绝大多数大数据处理需求的核心计算组件&#xff0c;拥有强大的计算能力&#xff0c;随着集团内外大数据业务的不断扩展&#xff0c;新的数据使用场景也在不断产生。在这样的背景下&#xff0c;MaxCompute&#xff08;ODPS&…

装mysql最后一步没响应_每天14点遭遇惊魂时刻,如何一步一步揪出真凶?

“ 笔者所在的公司有一款大 DAU(日活)的休闲游戏。这款游戏的后端架构很简单&#xff0c;可以简单理解为通讯-逻辑-存储三层结构。其中存储层大量使用了 Redis 和 MySQL。图片来自 Pexels随着存量用户的增加&#xff0c;Redis 就隔三差五的出现问题。所以笔者打算把遇到的一系列…

form表单提交,后台实体类接收转义问题

问题&#xff1a;前台表单用ajax提交&#xff0c;data为validateForm.serializeArray()&#xff0c;后台用实体类接收参数&#xff0c;&符号被转义为&但是从request中直接取值是没问题的&#xff0c;请问如何解决实体类接收到的参数的转义问题。 代码如下&#xff1a;…

AI落地谁最强?AI Top 30+案例评选等你来秀

人工智能历经百年发展&#xff0c;如今迎来发展的黄金时期。目前&#xff0c;AI 技术已涵盖自然语言处理、模式识别、图像识别、数据挖掘、机器学习等领域的研究&#xff0c;在汽车、金融、教育、医疗、安防、零售、家居、文娱、工业等行业获得了令人印象深刻的成果。在各行业宣…

NAT网关之SNAT进阶使用(二)构建ECS级别SNAT出网方式

摘要&#xff1a; NAT网关是云上VPC ECS访问Internet的出入口。阿里云NAT网关控制台创建SNAT条目默认只支持交换机粒度。如何设置ECS粒度的SNAT规则呢&#xff0c;本文将为您揭晓。 背景 NAT网关是云上VPC ECS访问Internet的出入口。阿里云NAT网关控制台创建SNAT条目默认只支持…

java下载json需要的包_jenkins 获取插件,下载插件提速,配置国内镜像

jenkins 是目前比较流行的自动化运维工具&#xff0c;由于 jenkins 的镜像源是国外的所以在下载插件的时候会非常慢&#xff0c;甚至会超时,所以本文就重点介绍如何解决这个问题。正确的做法自然是修改为国内的镜像源&#xff0c;本文使用的是清华大学的镜像源站 清华大学开源软…

使用NAT网关轻松为单台云服务器设置多个公网IP

摘要&#xff1a; 背景 在应用中&#xff0c;有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢&#xff0c;有了NAT网关这个也不是难题。 配置单云主机多公网IP功能流程 1、为ECS实例配置多块网卡。 2、创建NAT网关。 背景 在应用中&#xff0c;有时…