挖矿的同时运算视频转码?了解一下 Livepeer 的 显卡(GPU) 矿机

[复制链接]
9790 |0
发表于 2020-4-23 01:36:06 | 显示全部楼层 |阅读模式

今年 6 月链闻曾报道去中心化视频转码协议 Livepeer 宣布完成 800 万美元 A 轮融资,擅长于媒体类投资的欧洲风险投资机构 Northzone 领投。这篇文章则介绍 显卡(GPU) 矿机如何同时运行挖矿和 Livepper 视频转码软件。

原文标题:《引介 | Livepeer 与 显卡 矿工》
作者:Eric Tang
翻译:阿剑

Livepeer 媒体流平台将来一系列升级的一个关键部分就是让 显卡(GPU) 矿机可以同时运行 Livepper 视频转码软件。我们的视频转码软件利用了消费级 显卡 上闲置的视频处理专用电路,因此,它可以在不影响 显卡(GPU) 矿机的算力的同时给视频转码(译者注:因为包括 Ethash 算法在内的许多工作量证明算法都是内存密集型的,即需要快速读写大量数据,但在计算上并不复杂)。

这就使得 显卡(GPU) 矿工可以放心参与 Livepeer 网络、无需追加资本投入,Livepeer 网络的生产力和可靠性也可大幅提升。自我们的开始研究以来,工程团队已经朝着目标取得了可观的进展。我们希望能分享一些与 Livpeer 社区的初始基准测试结果。

742f00f8795848b1aa8e43017b694552.jpg-article.jpg

742f00f8795848b1aa8e43017b694552.jpg-article.jpg 在 Livepeer 的办公室里测试矿机

硬件详述

为了测试软件的性能,我们针对下述硬件开发了一个基本的挖矿测试工具:

  • 显卡: 1xNvidia 1080ti (Pascal encoder/decoder)
  • 显卡 Connection: PCIE
  • CPU: Intel Pentium 3.1GHz
  • RAM: 16GB

注意我们只用了单卡。一般来说,矿工会在一台机器上组 6 张到 12 张卡。Livepeer 软件可以在单台机器内的多张GPU之间做基本的负载均衡,但负载均衡的最优化机制仍在研究中。

性能基准

在做基准测试之前,我们通过运行一个流媒体转码任务确定了我们的性能基准(没有同时运行挖矿软件)。这一转码任务是将一个 720p、24fps 的视频转成一个 {720p 30fps,360p 30fps,240p 30fps} 的多码率视频。我们使用了 H264 作为视频解码器,并使用 HLS 作为视频传输协议,这是当今视频流媒体服务的常见设置。

输入数量输出数量成功率
13100%
26100%
412100%
61897.51%
82484.885%

1080Ti 单卡的转码基准性能

我们可以看到,当 1080ti 单卡同时执行超过 4 个任务时,丢失视频片段的情况就开始出现。

基准测试

我们尝试的第一个基准测试就是模拟一个高清直播视频的转码工作流,同时运行 Ethminer。该视频工作流就是将一个直播视频以 4 秒为单位分切成视频片段。这些视片段会实时传输到解码器中运算,同时挖矿工具会在一个独立的进程中运行 Ethminer。从测试结果中可以看出,哈希率基本上没受什么影响。这是因为GPU可以用相互独立的资源来运行挖矿程序和转码程序,只有很少一部分资源会在两个独立线程间共用。

输入数量输出数量哈希率能耗算力损失
0032.48 Mh/s214W0%
1331.58-31.90 Mh/s206-216W1.79% - 2.77%
2630.75-31.56 Mh/s205-214W2.83% - 5.33%
41229.72 - 30.39 Mh/s201-215W6.43% - 8.50%
61828.86 - 29.39 Mh/s200-214W9.51% - 11.15%
82428.33 - 28.90 Mh/s198-212W11.02% - 12.78%

高清直播转码 + Ethminer 的基准测试结果

注意,我们只关心输入流媒体少于 4 个的情况,因为同时运行超过 4 个转码任务就会开始丢失视频片段。不过,看到哈希率受到的影响在并发超过 4 个转码任务之后仍然是线性上升的,我们还是很高兴。

负载测试

获得初步结果后,我们希望知道可以把GPU利用到何种程度。所以,我们不再模拟直播转码工作流,而是尽可能快地把视频喂给GPU,希望 100% 利用转码能力。结果显示,在视频转码全负载的情况下,哈希率可以维持在 80% 左右。

我们猜测那 20% 的减少是软件和硬件两方面的原因都有,前者的原因包括驱动序列化工作的方式,后者如GPU内存读写中出现的资源共用。注意,我们的基准测试设置得相当简单,就是用独立的进程来运行视频转码和挖矿服务而已,这就完全依赖于驱动程序来分配资源。

我们还观察到一个有趣的现象——同时运行挖矿和转码计算时,耗电量还稍稍下降了。我们猜这是因为挖矿和转码工作的序列化导致 显卡(GPU) 的整体利用率下降了,并且认为这是转码、挖矿软件未来改进方向的一个线索。

结论

建立一个去中心化的视频转码网络是一个大胆的想法。我们已经在视频挖矿上看到了一些鼓舞人心的迹象,但很清楚的是还有大量的工作要做。我们鼓励社区帮助我们在他们自己的环境中进行基准测试,只需根据这些指令执行就好,而我们也很愿意在 Discord 群组或者 Livepeer 聊天室里听到你的反馈。

如果你想跟进我们的进展,并且希望了解更多如何参与的信息,请注册 Livepeer 转码者邮件列表。

衷心感谢 Michael Ira Krufky 在基准测试上的工作、Josh Allmann 对转码软件的编写工作、以及许多其他 Livepeer 工程团队的成员。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表