LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 石榴矿池公布1TB内存Filecoin矿机实现单扇区50分钟封装

石榴矿池公布1TB内存Filecoin矿机实现单扇区50分钟封装

2020-06-24 石榴矿业6block 来源:区块链网络

01、背景

自从我们两周前发布了机器选型的内容,并深入地探讨了并行封装的问题之后(详情请见:石榴矿池Filecoin硬件选型全方位测评),官方开发团队也对并行化产生了兴趣。在Slack上,官方对我们上文中所提到的“在1TB内存上并行地封装10个sector”充满了期待。我们也着手进行了一系列测试,并决定公开相关的实验结果。

02、环境

AMD EYPC 7*** (出于商业原因暂时隐去型号)

1TB内存

4TB NVMe SSD * 2

2080Ti * 1

03、实验

实验1:官方代码

我们首先在以上环境中运行了官方的benchmark,作为对照。结果如下:

results (v27) (34359738368)

seal: addPiece: 10m6.129864129s (54.1 MiB/s)

seal: preCommit phase 1: 4h18m12.197808042s (2.12 MiB/s)

seal: preCommit phase 2: 21m53.294717595s (25 MiB/s)

seal: commit phase 1: 429.925168ms (74.4 GiB/s)

seal: commit phase 2: 49m6.659433424s (11.1 MiB/s)

实验2:12个PreCommit1并行(石榴矿池优化版本1)

是的,你没有看错,我们进行了12个sector的并行实验。具体步骤为:先并行计算12个PreCommit1,然后计算一个PreCommit2、一个Commit1和一个Commit2。实验结果如下:

PreCommit1阶段,占用了CPU总体的37.6%

PreCommit1阶段,内存使用了829GB。

PreCommit1执行完后,SSD使用了2.95TB。

PreCommit1运行了4h50m,比不并行增加了半小时。

可见,12并行是完全可行的。虽然增加了半小时的计算时间,但这是值得的。增加时间的原因,可以从图中看出,是由于同时读写SSD造成的IO wait。该方案平均每sector密封时间在两小时之内。

CPU占用(图表来源:石榴矿池)

内存占用(图表来源:石榴矿池)

硬盘占用(图表来源:石榴矿池)

04、开发中的优化版本

方向1:内存不变,提升速度(石榴矿池优化版本2)

展示一下我们正在开发的两个优化方向。首先是保持PreCommit1使用的内存不变,加快计算速度。这样,速度得到了提升,又不会影响并行度。

实验环境保持不变,以下是实验结果。其中AddPiece和Commit2也做了一些优化。

results (v27) (34359738368)

seal: addPiece: 46.026373071s (712 MiB/s)

seal: preCommit phase 1: 2h56m27.986792594s (3.09 MiB/s)

seal: preCommit phase 2: 22m19.407208518s (24.5 MiB/s)

seal: commit phase 1: 620.730282ms (51.6 GiB/s)

seal: commit phase 2: 26m21.373588122s (20.7 MiB/s)

CPU占用(图表来源:石榴矿池)

内存占用(图表来源:石榴矿池)

方向2:更多内存,极致速度

如果不限制PreCommit1所使用的内存,那速度的极致能做到多快呢?我们也给出了自己的答案。

results (v27) (34359738368)

seal: addPiece: 46.068148218s (711 MiB/s)

seal: preCommit phase 1: 2小时左右

seal: preCommit phase 2: 22m3.992263233s (24.7 MiB/s)

seal: commit phase 1: 649.69206ms (49.3 GiB/s)

seal: commit phase 2: 32m28.636361938s (16.8 MiB/s)

(*出于商业原因,隐去具体数据,商业合作可以联系石榴矿池)

CPU占用(图表来源:石榴矿池)

内存占用(图表来源:石榴矿池)

05、总结

石榴矿池通过自己研发的3个不同版本的优化软件,分别测试了在1TB内存机器上可以取得的极致速度。初步的测试结果非常理想。我们已经在1TB的机器上,取得12个sector以上的并行,并且P1、P2、C2相比官方软件都有非常大的效率提升。考虑到并行度,我们在1TB 内存机器可以上实现 50分钟一个Sector的速度。

正如我们之前强调的,评估解决方案好坏的唯一标准,不是计算速度、并行度或价格,而是性价比。我们可以配置价格高昂性能卓越的硬件,可以以内存为代价高速地完成封装,也可以进行大量并行的计算。但是这些都不能作为解决方案好坏的评估标准。最终,需要将这些指标按照计算公式得到性价比,才能用于评估解决方案的好坏。在诸多条件的相互制约下,如何得到最优的解,这可以叫做“凸优化问题”,也可以叫做“背包问题”,但我更愿意把它叫做“未来一直努力的方向”。

—-

编译者/作者:石榴矿业6block

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...