企业存储技术 · 2020年08月31日

万兆NAS模拟测试 (下):Premiere多层高清视频编辑存储分析

在发表了前文《万兆NAS__模拟测试:是什么限制了性能?》之后,我收到了读者朋友们热情的反馈,其中从知乎上选出一条简单分享下。

image.png

这位朋友的经验供大家参考,我的测试环境其实还不太一样,两端都是Aquantia AQtion AQC107网卡直连。本文继续沿用这套平台进行测试。
image.png

前面板带有3.5mm__声卡接口、SD__读卡器,显然这不是普通的服务器。

仍然是那2台Dell Precision 3930 Rack 1U机架工作站。该机型定位不同于传统服务器,本地存储扩展盘位有限,从机箱前端插拔的驱动器可选2个3.5英寸(上面那台)或者4个2.5英寸(位于下面的)SATA。另外就是我之前介绍过的,主板上还有2个M.2 NVMe SSD槽位。

这次我测试的SMB文件共享目录,仍然创建在带宽超过单个10Gb以太网口的Class 50 SSD上。

Blackmagic和AJA盘速测试工具:参考价值和局限性

image.png
Blackmagic Design在视频后期制作领域是家知名公司,不过PC平台上这个测试工具却比较简单。从某种程度上来说,Disk Speed Test有点像一个在大文件上单线程顺序读写的测试。估计是由于NAS共享目录写缓存优化的原因,这里的写带宽846MB/s比读带宽737MB/s要高,此时单个万兆网口并没有完全发挥。

在速度仪表盘显示下方,还有个不同视频格式/分辨率下能否实时播放(读)/输出(写)的参考。ProRes 422 HQ、Cinema DNG RAW分别是由苹果和Adobe发起的视频格式(多用于摄像机内压缩),10 Bit YUV 4:2:2则是无压缩。视频文件的压缩比越大,对存储性能的要求也就越低。右边绿色的数字代表存储吞吐可能达到的FPS帧速度参考。

然而,实际的视频编辑存储压力负载远没有这么简单。我们先来看看另一个工具:

image.png

AJA的视频I/O板卡等产品,定位接近于BMD的DeckLink家族。AJA System Test这个测试工具的功能要相对丰富一点。

首先,默认设置下,文件大小设置为16GB,在Windows 10文件共享目录测出的读写带宽与前面的工具基本一致。

image.png

当我把设置里的“单文件”改为“每帧一个文件”之后,测试过程中生成的临时文件如下图:

image.png

5,408 KB,应该就是1920x1080(HD)10bit YUV无压缩视频一帧的大小。此时NAS的读写性能有所变化:

image.png

我们看到当NAS上的单个文件拆开变小后,读写带宽都下降到64x MB/s。作为对比,下面给大家看看SSD所在本地NTFS文件系统上测试的数据。

image.png

上图为本地SSD__测试,采用默认的Single file__单文件设置。

测试用的这款SSD写带宽看上去不算太突出,不过正如前文所述,它是一个Class 50标准的NVMe盘,在正常寿命范围内无论写多久其速度都是保持恒定的。为了验证这点,我还特别用Iometer做了一整天的写入压力测试:

image.png

不难看出,这款SSD顺序写还是相当稳定的,如果用于视频制作不会出现写着写着性能不够的情况。

_注:如果是HDD__机械硬盘要考虑内圈速度低于外圈__的限制,通常7200__转盘的传输率会下降到50%__左右_)。

image.png
上图为本地SSD__测试,采用File per frame__每帧一个文件设置。

SSD本地盘的测试结果反映出:由5,408KB文件组成的视频流,其性能与单一大文件相比,并不像NAS一样下降那么明显,这时已经可以看出网络文件存储的效率问题了。当然我用的只是SMB 2.x共享而不是SMB3,操作系统也只是几乎没有调优的Win10而不是Windows Server。

细心的朋友可能注意到,AJA System Test的分辨率和Codec Type(编码类型)都是可调的。这些设置都会影响到单帧视频的大小,从而可能进一步影响存储性能的发挥。这点即使是用本地磁盘(HDD/SSD)测试也同样会有变化。由于本文的重点是看NAS/网络文件共享的效率,对于该问题先不展开讨论了。

另外,以上2个视频存储模拟测试工具还有一点限制:只能模拟单一视频流(单层)的情况,而如今的高清视频剪辑和后期制作普遍会用到多层,万兆以太网的带宽能否进一步发挥?接下来的Adobe Premiere实际操作测试就是为了验证这一点。

测试素材准备:水银加速输出CUDA提速5倍以上

两年前我写过《Optane SSD 900P__评测(3)__:一个非典型8K__视频编辑方案》,不够专业,希望本文水平能有提高。班门弄斧,还望大家多指正:)

这次手头的原始视频素材,应该是SONY摄像机录制的4K RAW机内压缩文件。由于测试用的3930 Rack工作站只是配置了一颗6-8核Intel Core CPU,在Premiere等软件中要想同时播放(解码)多层这样的视频,CPU会吃不消的。所以为了存储测试的需要,我再次把视频转码成无压缩格式以避开CPU瓶颈,最终获得了1920x1080分辨率、200MB/s每层的效果。

image.png

一开始我在视频转码输出时没有使用NVIDIA GPU,一段2分钟的视频CPU或者Intel集成显卡OpenCL处理要用大约5分钟的时间,而在设置了Mercury Playcack Engine GPU水银加速(CUDA)之后只需要45秒左右。此时GeForce RTX 2080 Super的占用率显示约为36%。

image.png

现在Adobe Premiere等软件,还有Davinci对N卡的支持都不错。

image.png

这张照片是打开上盖的3930 Rack 1U工作站,左上方的位置就是全尺寸双宽的2080S显卡。

image.png

如上图,除了支持1块高端NVIDIA Quadro RTX 5000/6000或者GeForce显卡之外,这2个PCIe扩展槽也可以安装2块单宽度板卡(此时切换为2个PCIe3.0 x8模式),总功率不超过300W即可。

由于1U机架式机箱中的40mm系统风扇(上面照片中可以看到PCIe显卡这一侧有3个),该机型实际上也可以配置被动散热板卡,比如我就测试过一款180W的AI计算卡(非GPU但散热器与Tesla相似),调整风扇转速后还是可以轻松通过的。

image.png

NAS共享目录上的测试视频文件生成好之后,就可以开始下面的测试了。

Premiere多层视频测试:万兆网络带宽线性发挥*

image.png

前面说过我生成的测试素材码率大约200MB/s,在只测试1层视频播放(回放,playback)的时候,10GbE网卡显示接收速率为1.7Gbps。

image.png
上图为4层200MB/s视频的播放,刚开始缓冲预读(原理图如下)会把10Gb网卡基本用满,而稳定后网卡接收速率在6.9Gbps左右。继续增加到5层视频时,网卡带宽利用继续提高到8.5-8.7Gbps,仍然满足25fps完全流畅播放。

image.png
上图引用自技术白皮书《Dell EMC Isilon: Adobe Premiere ProConfiguration and Optimization | H17334__》,介绍了Premiere__文件系统访问中的回放吞吐量激增特征。

image.png

当我增加到6层200MB/s视频时,单个万兆网口实际上已经不够用了,此时视频播放应该有一些丢帧,网卡跑到了接近上限的9.8 Gbps。可见Premiere多层视频处理对存储的优化还不错*,包括NAS网络存储。

总结、从单机到集群NAS存储

本文只是进行了一些基础测试,验证了单一客户端万兆SMB文件访问。如果按照常规4K压缩视频处理每层50MB/s的标准,10Gb网络NAS应该说足够了?但实际上我们还要考虑更多因素,比如:

_1、__NAS__最大的价值时文件共享,那么多客户端、多协议并发访问时的性能?
_

_2、__受限于性价比,除了短片制作对容量需求较小适合SSD__之外,像电影、电视剧这些素材量较大的应用许多用户还会选择HDD__硬盘。多少块机械盘的RAID 5/6__能满足性能?RAID__卡或者NAS__控制器又能达到什么水平?
_

3、__单机或Active-Active__(双控)NAS__存储的性能和容量扩展受限,规模较大的应用需要Scale-out__扩展的集群NAS__,这时数据保护技术通常就是跨节点的EC__纠删码__了。

正好上一篇有读者朋友留言说希望我写下集群NAS,今天先简单谈几句吧。

image.png

例如很早就在广电媒体圈流行的Isilon,就专门提供了针对Premiere的配置和优化文档。

如上图,Isilon文件存储集群内部互连的InfiniBand(后端网络)在这里简化了没有画出来,只是为了说明下前端连接。40GbE连接客户端适合无压缩4K工作流,比如电影大片的高品质调色等;10GbE客户端的“CraftEditorial”,我理解对视频质量的要求没有那么严格,可以直接使用机内压缩格式或者H.264等编辑;最后是1GbE客户端,适合代理文件编辑和预览,也就是用原始视频素材生成低分辨率的代理文件,只做基本的时间点剪辑处理。

image.png

在音视频这个领域,除了Windows/Linux工作站之外,苹果Mac Pro(“垃圾桶”或“搓衣板”)的忠实用户也不少。上图应该就是来自macOS,因为水银GPU加速似乎只有OpenCL而没有CUDA。

image.png

上面这一段描述,是关于新版本macOS推荐使用SMB3协议的说明,特别提到多线程操作超出NFS。

最后再感谢一下我以前的同事小胖和小赵,之前在视频领域遇到不明白的问题,幸得他们指点迷津:)

参考资料_《DellEMC Isilon: Adobe Premiere Pro Configuration and Optimization | H17334__》_

https://www.dellemc.com/resou...

 

推荐阅读

本文转载自企业存储技术微信公众号原文链接点这里

注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。 进一步交流技术可以加我的微信/QQ:490834312。
尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号:HL_Storage,也欢迎关注企业存储技术极术专栏,定期更新。
42.jpg

推荐阅读
关注数
5554
内容数
236
关注存储、服务器、图形工作站、AI硬件等方面技术。WeChat:490834312
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息