Azure 上的 x264 工作负载简介
基于 Ampere Altra 处理器的Dpsv5 虚拟机
Ampere® Altra®处理器从设计伊始就旨在为云原生应用程序(如视频编码)提供卓越的性能。以其创新架构,提供高性能、线性可扩展性和惊人的能源效率,Ampere Altra允许工作负载在不断增加的负载下,性能变化很小,以可预测的方式运行。为视频编码这样的实际云工作负载中提供行业领先的性能/瓦特能力和更低的碳足迹。
微软提供了一个全面的Azure虚拟机系列产品,以Ampere Altra云原生处理器为特色,可以运行各种各样的向外扩展的工作负载,如web服务器、开源数据库、内存应用程序、大数据分析、游戏、媒体等。由Ampere Altra处理器提供算力的Dpsv5 虚拟机是一种通用虚拟机产品,每个vCPU提供 2GB内存。vCPU、内存和本地存储的优化组合,可以经济有效地运行工作负载,不需要每个vCPU占用大量RAM。Epsv5虚拟机为内存优化型虚拟机,每个vCPU提供4gb的内存,适用于开源数据库、内存缓存应用、游戏和数据分析引擎等内存密集型工作负载。
我们使用libx264实现了H.264/MPEG-4 AVC标准,这是目前使用最广泛的标准。“vbench:云视频转码基准,新兴视频即服务工作负载的基准”,可在http://arcade.cs.columbia.edu/vbench上获得,用于评估x264性能。根据这篇论文,vBench中的15个输入视频是通过算法选择的,综合了分辨率、帧速率和复杂性等因素,可以代表一个数百万个视频的大型商业资料库。
由Ampere Altra处理器驱动的Microsoft Azure Dpsv5 虚拟机在各种视频编码工作负载(包括vbench中使用的配置)中提供了出色的性能。我们使用vbench的“上传”和“视频点播”配置来评估性能。上传配置中使用单次转码而不降低输入视频质量。这表示对视频服务的初始上传编码,要求速度和质量。视频点播(VoD)配置使用两步转码,需要速度和更好的压缩比例,同时不降低视频质量。VoD第一次传递收集统计信息,这些统计信息用于第二次传递,以便在编码复杂帧和简单帧时分配更多位。
Dpsv5虚拟机的原始性能优于传统x86虚拟机。在vbench Upload配置中,D16ps v5 的性能比Intel® Xeon® Ice Lake-based D16s v5 高5%,比AMD EPYC™ Milan-based d16as v5 高4%。对于vbench视频点播配置,性能最好的是D16ps v5,比D16s v5 高3%,比D16as v5 高2%。
如果比较性价比,Dpsv5虚拟机比高端x86虚拟机超出的更多。在vbench Upload配置中,D16ps v5虚拟机的性价比比D16s v5高出31%,比D16as v5高出16%。对于vbench视频点播配置,D16ps v5虚拟机具有最佳的性价比,比D16s v5高出29%,比D16as v5高出14%。
Standard D16s v5 | Standard D16s v5 | Standard D16s v5 | |
---|---|---|---|
Number of vCPUs | 16 | 16 | 16 |
Hourly cost | $0.768 | $0.688 | $0.616 |
Operating System | Ubuntu 20.04.4 LTS | Ubuntu 20.04.4 LTS | Ubuntu 20.04.4 LTS |
Kernel version | 5.13.0-1021-azure | 5.13.0-1017-azure | 5.13.0-1027-azure |
Memory | 64 | 64 | 64 |
Disk | Premium SSD 30GB | Premium SSD 30GB | Premium SSD 30GB |
gcc version | 9.4 | 9.4 | 9.4 |
ffmpeg version | N-106462-g55e509b094 | N-106462-g55e509b094 | N-106462-g55e509b094 |
x264 version | Version: 0.164.3094 | Version: 0.164.3094 | Version: 0.164.3094 |
我们使用了Andrea Lottarini、Alex Ramirez、Joel Coburn、Martha a. Kim Parthasarathy Ranganathan、Daniel Stodolsky和Mark Wachsler(2018)中“vbench:云中的视频转码基准,新兴的视频即服务工作负载的测试基准”中指定的vbench配置。
对于VM中可用的每个vCPU,我们使用numactl运行以下命令,将进程固定到特定的核心。
# command line for vbench Upload configuration numactl -m 0 -C $CORE ffmpeg -i $INPUT -c:v libx264 -threads 1 -y -loglevel quiet -crf 18 $OUTPUT # command line for vbench VoD configuration - note the bitrate below is set per input file as described in the vbench paper # Pass #1 numactl -m 0 -C $CORE ffmpeg -i $INPUT -c:v libx264 -threads 1 -y -loglevel quiet -passlogfile ffmpeg2pass -pass 1 -f null -an -sn -b:v $BITRATE -preset medium /dev/null # Pass #2 numactl -m 0 -C $CORE ffmpeg -i $INPUT -c:v libx264 -threads 1 -y -loglevel quiet -passlogfile ffmpeg2pass -pass 2 -b:v $BITRATE -preset medium ${OUTPUT}.
视频编码在云中是一种流行的工作负载,考虑到目前可用的无数格式、目标设备和分辨率,这是一项计算密集型任务。H.264仍然是市场上最流行的视频编解码器。在我们的测试中,与传统的x86虚拟机相比,由Ampere®Altra®云原生处理器驱动的Microsoft Azure Dpsv5虚拟机提供了更好的性能和性价比——使用流行的vbench基准测试,性能提高了5%,性价比提高了31%。
有关使用基于amere Altra 处理器的Azure虚拟机的更多信息,请访问Azure博客了解更多详细信息。
此处包含的所有数据和信息仅供参考,Ampere 保留更改它的权利,恕不另行通知。本文档可能包含技术错误、遗漏和印刷错误,Ampere 没有义务更新或更正此信息。 Ampere 不作任何形式的陈述或保证,包括但不限于对不侵权、适销性或适用于特定目的的明示或暗示保证,并且不承担任何形式的责任。所有信息均“按原样”提供。本文件不是 Ampere 的要约或具有约束力的承诺。使用此处设想的产品需要随后的谈判和最终协议的执行,或者受 Ampere 的商品销售条款和条件的约束。
与 Ampere 测试中使用的不同的系统配置、组件、软件版本和测试环境可能会导致与 Ampere 获得的测量结果不同。
性价比是在2022年9月使用微软的虚拟机定价计算的。有关详细信息,请参阅单个测试。
©2022 Ampere Computing 版权所有。Ampere、Ampere Computing、Altra和“A”标志均为Ampere Computing的注册商标或商标。Arm是Arm有限公司(或其子公司)的注册商标。本出版物中使用的所有其他产品名称仅用于识别目的,可能是其各自公司的商标。
Ampere Computing®/ 4655 Great America Parkway, Suite 601 / Santa Clara, CA 95054 / amperecomputing.com