Autonomys之家
AI3们的阵地

Autonomys Network 耕种集群教程

耕种集群

耕种集群是为规模较大的农民设计的,旨在解决与扩大规模相关的各种挑战。 基本上,集群由四个不同的部分组成:

  • 控制器
  • 缓存
  • 农民
  • 绘图

优点

  1. 带宽效率:piece cache 的集中存储节省带宽。
  2. 远程计算能力:多个PC可以贡献他们的 CPU 能力(最终是GPU) 来绘制,无需本地存储数据块。
  3. 冗余:每个组件多台计算机运行会增加冗余。
  4. 额外空间:通过将块同步缓存(piece sync cache) 移动到一个中心点,可以为较大的集群释放大约1%的SSD。

核心通信技术:NATS.io

该进程的核心是一个名为 NATS.io 的第三方软件,用于农民进程之间的通信。 安装 NATS.io 的最简单方法是通过 Docker。

要启动 NATS,创建一个配置文件,内容如下:

max_payload = 2MB

保存为 nats.config 并使用 Docker启动NATS 服务器:

docker run \
    --name nats \
    --restart unless-stopped \
    --publish 4222:4222 \
    --volume ./nats.config:/nats.config:ro \
    nats -c /nats.config

组件配置

这四个组件中的每一个都需要一些额外的参数,每个组件都需要指定 cluster ,NATS服务器的URL以及要运行的具体组件。

控制器

控制器应该是第一个运行组件。 它连接到节点,所以必须包含 node-rpc-url 。

subspace-farmer cluster --nats-server nats://<NATS_IP>:4222 \
    controller \
        --base-path /path/to/controller-dir \
        --node-rpc-url ws://<NODE_IP>:<NODE_PORT>

用你的 NATS 服务器 IP 地址替换 <NATS_IP>, 并使用您的节点的 IP 地址和端口替换 <NODE_IP>:<NODE_PORT>。使用 --base-path 指定工作目录。

控制器记录农场连接、断开连接和缓存同步进度, 可选连接选项包括 --in-connections, --out-connections, --pending-in-connections, 和 --pending-out-connections

缓存

接下来,运行缓存组件。 虽然您可以运行多个缓存进程来分担负载,但只需要一个。

subspace-farmer cluster --nats-server nats://<NATS_IP>:4222 \
    cache \
        path=/path/to/cache,size=SIZE

将 <NATS_IP> 替换为您的 NATS 服务器 IP 地址。使用 path= 提供缓存文件路径,并指定缓存大小。虽然建议使用 SSD,但也可以使用硬盘。根据主网的当前状态,200 GB 是一个不错的大小,可用于缓存。

农夫

在每台要耕种的计算机上运行农民组件。

subspace-farmer cluster --nats-server nats://<NATS_IP>:4222 \
    farmer \
        --reward-address <REWARD_ADDRESS> \
        path=/path/to/farm,size=SIZE

使用你的 NATS 服务器 IP 地址替换 <NATS_IP> 并提供您的奖励地址、农场路径和大小。可选参数包括 --cpu-sector-encoding-concurrency 或 ----cuda-sector-downloading-concurrency, --farming-thread-pool-size, --disable-farm-locking 和 --create

绘图

最后,运行绘图组件。 至少需要一个绘图组件来绘制和重新绘制农场。 它可以放在与农民相同的计算机上,也可以放在单独的机器上。

subspace-farmer cluster --nats-server nats://<NATS_IP>:4222 \
    plotter

使用你的NATS 服务器 IP 地址替换 <NATS_IP> 。 可选参数包括许多与并发和核心/线程相关的农民选项。

同时运行多个组件

用 -- 将不同的组件参数隔离开,可以一个命令运行多个组件

subspace-farmer cluster --nats-server nats://<NATS_IP>:4222 \
    cache \
        path=/path/to/cache,size=SIZE
    --
    plotter

远程计算潜力

此配置允许扩展远程计算功能。 例如,如果计算机适合耕作,但不适合绘图, 你可以在这台电脑上运行农民,可以在一个或多个远程机器上运行绘图。 这样就能在多个农场之间进行连续绘图和重新绘图,确保有效利用绘图器,直到所有数据块都得到绘图和重新绘图。

高级选项 / 冗余设置

可以设置 nats 服务器集群,但这种集群超出了本文档的范围。 如果你有多个 nats 服务器,你可以指定多个.

subspace-farmer cluster --nats-server nats://<NATS_IP#1>:4222 --nats-server nats://<NATS_IP#2>:4222\

您可以运行多个控制器组件,但每一个都需要指定不同的缓存组。

subspace-farmer cluster --nats-server nats://<NATS_IP>:4222 \
    controller \
        --cache-group group1 \
        --base-path /path/to/controller-dir \
        --node-rpc-url ws://<NODE_IP>:<NODE_PORT>

您需要在缓存组件上指定一个缓存组,这个组与控制器组件上指定的缓存组需要一致。

subspace-farmer cluster --nats-server nats://<NATS_IP>:4222 \
    cache \
        --cache-group group1 \
        path=/path/to/cache,size=SIZE
赞(0)
未经允许不得转载:Autonomys 中文社区 » Autonomys Network 耕种集群教程