查看原文
其他

【官方】Chia的GPU绘图介绍

河马/ HemaDAO HemaDAO 2023-08-25

GPU 绘图是真实的——而且速度非常快

JM Hands, - 2023 年 1 月 20 日

概括

  • GPU 绘图已经由 Chia 和 madMAX实现——速度非常快。在单个高端 GPU + 256GB RAM 上,K=32 个绘图在 1.5 分钟内完成。

  • GPU 性能和 I/O 带宽正在快速增长

  • 地块研磨, 采用GPU欺骗绘图,理论上可以在第 1 阶段低于 28 秒时执行,但不经济并且需要大量持续能量

  • Chia 区块链设置了常量以防止地块研磨。在不伤害诚实的绘图机的情况下防止地块研磨的最终保护是保持不经济

  • Chia 正在提议一个 CHIP 来减少地块过滤器,以确保地块研磨在可预见的未来仍然不经济

介绍

GPU 绘图现在是真实的,有一些社区绘图机在野外,而且速度非常快。我们看到使用 PCIe 4.0 x16 高端 GPU(RTX 3090 或 4070 Ti)的单次绘图时间为 80-90 秒,这大约是 CPU(英特尔全新的第四代至强可扩展处理器,代号蓝宝石激流)上记录的单次最快绘图时间的一半。这是令人兴奋的,因为 GPU 比顶级服务器更容易获得且成本更低,而且这种发展降低了耕种Chia的进入门槛,因为绘图通常是整个过程中最困难的部分之一。GPU 绘图还将使绘图的能耗降低多达 3 倍。ak=32 的临时内存要求并没有根本改变,对于未压缩的第一阶段绘图,仍然需要大约 256GB 的临时存储空间。
大多数 GPU 绘图仪的操作方式是获取一张表,将其分成桶,类似于 CPU 绘图仪的工作方式,然后将这些桶传递给 GPU 以执行绘图阶段所需的排序、匹配和压缩功能。实际上使用现代显卡GPU执行这些操作时速度非常快,限制在于原始 GPU 性能、PCIe 带宽或内存带宽。使用较少的 DRAM,需要磁盘 io 来卸载到临时文件,这最终成为性能瓶颈并使进程减慢 2-3 倍,但它在绘图方面仍然比桌面 CPU 快得多。

显卡性能

由于 GPU 计算单元数量的增加和硅本身的功率效率,每一代 GPU 都变得越来越快。最新一代 NVidia 4090 卡的计算能力几乎是 3090 的 2 倍,2016 年至 2022 年的平均 CAGR(复合年增长率)性能为 25%。

图 1:随时间变化的 CUDA 性能
PCI Express (PCIe) 是用于计算、存储和网络高速组件的主流通用 I/O 连接器。它也变得更快,通过高性能 SSD,CXL现在正在转向 PCIe Express 总线,用于高速缓存一致性内存扩展、加速器、AI 和 400Gbs 网络。PCI-SIG 预计 I/O 带宽每三年左右翻一番。PCIe 5.0 设备现在正在出现,其中 x16 链路可以在每个方向上达到 64GB/s,类似于 DDR5 内存的几个通道。

图 2:PCI Express 带宽。资料来源:PCI-SIG
举例来说,我们拥有无限的计算能力和完美的软件效率,并且仅受 PCIe 带宽的限制。要完成绘图的第 1 阶段,需要将大约 500GB 的数据下载到 GPU,并将大约 360GB 的数据发送回主机 CPU。这将 PCIe 4.0 x16 卡的理论限制设置为大约 20 秒,将 PCIe 5.0 x16 卡设置为 10 秒。通过 POC,我们实际上获得了大约 24 秒的时间来传输 PCIe 4.0 GPU 上阶段 1 所需的确切数据量。从 PCIe 规范发布到许多供应商出货大批量生产部件的时间通常约为三年。PCIe 5.0 基本规范于 2019 年发布。我们现在看到 AMD 和英特尔在消费平台以及最近推出的服务器平台上都支持 PCIe 5.0。第一个 PCIe 5.0 设备,如 SSD,

图 3:第一阶段数据传输时间

更便宜、更高效的绘图

GPU 使绘图效率比以前最高效的 CPU 内存绘图效率高 2.5 倍,比桌面绘图效率高 5 倍。我们正在测量每 TB 绘制的能源 (kWh) 绘制效率。这意味着农民可以更快地绘制他们的硬盘空间,降低绘图的电力成本,并减少全球能源消耗的规划。
我们看下面的例子
  • AMD 5950X、PCIe 4.0 x16、128GB DDR4、2 个 980 Pro NVMe、3060Ti

  • 绘图时265W

  • 4分钟k=32

  • 31.4 TB/天,每 TB 0.2kWh

  • 重新绘制 200TB 的总成本为 6.37 天和 5.67 美元

    • 与目前配备 0.64kWh/TB bladebit 磁盘和 26.5 天的高端台式机 CPU 进行比较!!

图 4:绘图时测得的 GPU 功率
您可以在此处的电子表格中比较估计的重绘成本和能源:https://docs.google.com/spreadsheets/d/1k6c-OBDtggXqnEfOPdMmq3646puzvOD7dWojwCH2v3c/edit?usp=sharing

有点太快了—地块研磨

可以在标志点发布后开始创建地块节,并尝试在注入点之前完成地块。这在Chia 文档站点上有详细说明。然后,他们在获得质量评级后(或在提交证明(如果符合条件)后)删除该图。这将允许他们创建一个自动通过过滤器的地块,有效地允许他们在不存储任何空间的情况下进行耕种。只有在绘图的第一阶段可以在不到 28 秒(输液前)内完成的情况下,这才变得可行。虽然这不完全是对网络造成安全风险的攻击,但它只是尝试使用计算而不是空间。我们将此称为“地块研磨(plot grinding)”。
假设可以在 28 秒内创建一个通过绘图过滤器的地块。这相当于有 1 * plot filter number of plots 减去错过的两个标志点。当 GPU 试图研磨第一个时,它必须忽略其他挑战。这给出了 ⅓ * 图过滤器常数的杠杆因子。杠杆因子相当于被欺骗的地块数量,因此我们可以通过乘以 ak=32 地块大小轻松计算出 TiB 或 TB 中的欺骗空间量。压缩没有双重浸入,因为它不适用于地块研磨所需的阶段 1。
真正的杠杆作用是在不到 18.75 秒的时间内创建绘图(实际上,过滤器研磨和其他操作可能需要几秒钟的开销,所以在实践中,它可能更像是 15 秒)。这个杠杆似乎是 ⅔ * 绘图过滤器,因为你错过了 3 个标志点中的一个,但有一个技巧。在第二个标志点,通过创建一个 plotid(通过创建许多 BLS 密钥)生成一个图,该图可以通过第一个和第二个挑战的两个过滤器,然后将它们放入满足通过过滤器的两个标准的 SHA256 过滤器哈希中。在时间 t[2],您开始绘制过滤器在时间 t[4] 通过挑战 1 和 2(c1 和 c2)的东西,通过 c3 和 c4 的东西。这个技巧可以扩展到在 9.375 秒的标志点时间下获得阶段 1,如果创建的地块 ID 的哈希值满足通过所有三个过滤器的标准(今天为 512^3),则可以尝试所有三个挑战。值得庆幸的是,它需要一个非常大的 GPU 集群和巨大的功率来执行今天这样的事情,即使扩展杠杆也不经济。
第一阶段时间地块过滤器杠杆因子(地块)空间欺骗 (TiB)
> 28.125 秒512不适用0
28.12551217116.9
18.7551251250.7
9.3755121536152.0
t < 9.3755129.375/T*3或3.5Plot * 101.3GiB / 1024
表 1:绘制研磨杠杆和欺骗空间与绘图时间
今天过滤器是 512 个地块,因此欺骗这些地块大约需要 55 TB 的存储空间。这与拥有 55 TB 的诚实空间的盈利能力完全相同,但这需要更多的硬件成本(资本支出)和更多的能量!55 TB 是三个 18TB 硬盘,每个 5.6W,总共 16.8W。中档 GPU 消耗 150-200W,加上平台功率(主板、CPU、DRAM),使单个 GPU 系统的功率大约是运行磁盘功率的 20 倍。

图 5:绘图时间短有利于诚实绘图者降低能源成本,但过快会导致地块研磨

地块研磨经济学

与 Chia 种植和其他加密货币挖矿一样,总拥有成本 (TCO) 模型可以帮助您了解成本。尝试地块研磨需要的设备是工作站平台、256GB DRAM、多块PCIe 4.0 GPU,成本很容易估算。地块创造的速度决定了空间的恶搞程度,然后Netspace和xch的价格就可以提供盈利能力。
如果已经拥有GPU,那么电力成本(运营支出)就是唯一的成本。欺骗容量的盈利能力必须大于运行的电力成本。
如果可以在单个 GPU 上执行有利可图的地块研磨,Chia 真的很担心,因为带有 PCIe x16 插槽的台式机很容易买到,而且价格便宜。与台式机相比,支持 PCIe 4.0 的服务器和工作站仍然相当昂贵。大多数用于其他硬币的 GPU 矿工都没有现成的这些设置。
在此查看处地块研磨电子表格:https://docs.google.com/spreadsheets/d/16K4Ki846npprN2q5OLGCbusCPX4Ci2Hlk_vMdrY2I4g/edit#gid=495798633

地块过滤器

Plot grinding 是一种将 PoST 转变为 PoW 的尝试。值得庆幸的是,Bram 预料到了这一点,我们在 Chia 中有许多常量来防止这种情况发生。Chia 中选择的重要常数是块时间、网络上的最小 k 大小和绘图过滤器。对此最重要的保护是让它变得难以置信的无利可图和不经济,同时又不会因为需要更多的资源和时间来策划而伤害诚实的策划者。盈利能力与情节过滤器成正比!情节过滤器的减少立即使情节研磨在未来几年变得不可行。
这里提醒一下地块过滤器在农业中的工作原理。
  • 农民接受 VDF 的挑战

  • 农民向收割机发送标志点

  • Harvester 应用 plot filter 来减少磁盘上所需的 i/o (1/512)

  • 对于通过过滤器的地块,收割机执行证明质量检查

  • 如果质量满足所需的迭代(来自困难),那么空间证明是好的

  • 获取整个空间证明
plot filter bits = sha256(plot_id + challenge_hash + sp_hash)
该过滤器在减少磁盘 i/o 方面非常有效,农业存储工作负载分析显示磁盘农场 Chia 处于 99.75% 的空闲状态,并且仅消耗 0.5 IOPS,比现代硬盘驱动器的随机寻道能力低约 350 倍。512 的常数被设计在保守的一面,以使农业尽可能节能。plot filter 的唯一缺点是它对 plot grinding 的影响,因为可以在创建 plot 之前计算 plot filter。过滤器减少 2 倍或 4 倍会使磁盘 io 增加相同的因素,这对于现代硬盘驱动器农场来说不是问题。不过,过滤器确实与绘图压缩有独特的交互作用,因为所有通过过滤器的绘图都必须经过解压缩步骤才能获取完整的空间证明,从而在证明质量检查期间即时生成缺失的匹配项。过滤器的减少会增加通过过滤器的地块,

通过设计—保持 PoST 能源效率

PoST 中有许多旋钮可以防止 plot grinding。我们评估了更改网络上的最小 k 大小(今天为 32)、减少绘图过滤器、向 Chia 空间证明添加更多绘图表以及完全更改 Chia 空间证明算法。虽然我们不会在这里讨论其他提案,但我们确实对这些选项进行了彻底的分析。
摘要:我们建议随着时间的推移减少地块过滤器,以确保地块研磨在经济上永远不可行。
下表的行是我们试图影响的标准,列是我们可以实施的协议更改。这更多是为了让人们了解 Bram 和我是如何思考这个地块研磨问题的,以及我们可以调整以防止它发生的协议更改。
Bram & JM 的理由。

提案 1:过滤减少 提2:增加k提案3:地块分组提案4:增加表格提案5:加强收割
经济地块研磨成比例的成比例的成比例的也许小改进没有效果
51%攻击地块研磨成比例的正比阈值成比例的也许小改进没有效果
诚实的绘图成本没有任何成比例的没有效果重要的没有效果
需要重绘没有任何是的是/一些是的没有效果
诚实的收割成本成比例的没有效果小幅增加小改进
自定义绘图优势是的没有效果小幅增加没有效果
自定义收割优势是(例如 GPU)没有效果质的提高巨大的进步
硬分叉是的是的
最小地块大小没有效果成比例的成比例的增加没有效果

过滤器减少:过滤器的每一个有效减半都会成比例地减少地块研磨的可行性。减少过滤器将影响磁盘 io(已经非常低)和绘图解压缩(收割机上的 cpu/gpu 周期)。

增加 K 大小:将限制提高到 k=33 并每 2-3 年增加一次以跟上计算改进的步伐

新的空间证明(增加表格、绘图分组)空间证明格式或共识的重大变化:在空间证明的研究过程中,评估了许多绘图格式。当前的 Chia 图格式代表了 2 年研究中最好的。有一些共识选项,例如要求空间证明成对出现,或者更改绘图格式以增加表格数量。这些都没有像过滤器或 k 值那样改变常量的相同幅度的影响。

加强收割:将减压转移给耕种,而不是收割机。

标准

  • 经济地块研磨:欺骗更少的地块使得地块研磨按比例减少利润,因为 xch 奖励随着有效空间的增加而增加
  • 51% 攻击地块研磨通过地块研磨使 51% 的网络变得极其昂贵和不可行(没有足够的可用资源)
  • 诚实的绘图成本:减少创建绘图所需的物理计算、内存和存储资源。绘图效率(能源利用率、时间)与资源使用成比例,并且主要由最小 k 大小驱动。
  • 要求重新绘图:更改是否需要旧地块无效 
  • 诚实的收割成本:变化是否使收割和耕作需要更多的资源和能源消耗?
  • 绘图的自定义优势:自定义解决方案是否会比常规绘图仪提供显着的收益
  • 硬分叉:是向后兼容网络的变化。如果某些内容在当前共识中无效,而我们正在使其有效,则需要硬分叉。
  • 最小地块大小:理想情况下,文件大小尽可能小,同时不影响网络安全以激励更多参与者

总结

Chia 网络中的 GPU 绘图已经出现,它比传统的 CPU 绘图更快、更高效。这将使绘图的能源消耗减少 2-5 倍,并显着减少农民的绘图时间,降低Chia的进入壁垒并增加权力下放。GPU 性能和 i/o 带宽正在迅速增加,未来的 GPU 可以在 28 秒内执行绘图的第一阶段,使地块研磨成为可能,尽管不经济/盈利。但是Chia区块链设置了防止地块研磨的常量,我们提出了一个CHIP来进一步降低未来地块研磨的盈利能力。

引入地块过滤器改进提案

理论上,可以使用两个全带宽的 PCIe 4.0 x16 GPU 或一个 PCIe 5.0 GPU 尝试地块研磨。后者尚未从 AMD 或 NVIDIA 获得。我们建议更改地块过滤器以阻止地块研磨变得经济可行。在新提议的CHIP中概述了地块研磨、地块过滤器及其建议的减少。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存