😉Best Practices
Environment Overview
Node 1
192.168.1.1
GPU * 1
controller autonomys-node
proof-server nats-server
Node 2
192.168.1.2
GPU * 1
controller autonomys-node
proof-server nats-server
Node 3
192.168.1.3
GPU * 1
controller autonomys-node
proof-server nats-server
Plotter 1
192.168.1.4
GPU * 4
autonomys-plot-server-0
autonomys-plot-server-1
autonomys-plot-server-2
autonomys-plot-server-3
sharded-cache full-piece-cache
Plotter 2
192.168.1.5
GPU * 4
autonomys-plot-server-0
autonomys-plot-server-1
autonomys-plot-server-2
autonomys-plot-server-3
sharded-cache full-piece-cache
Storage 1
192.168.1.6
8T NVMe SSD * 4
/mnt/nvme0n1
/mnt/nvme0n2
/mnt/nvme1n2
/mnt/nvme1n1
autonomys-plot-client
Storage 2
192.168.1.7
8T NVMe SSD * 4
/mnt/nvme0n1
/mnt/nvme0n2
/mnt/nvme1n1
/mnt/nvme1n2
autonomys-plot-client
Cluster Start Command
Start by launching NATS, then follow the instructions below to configure Supervisor’s parameters. Once configured, simply run the following command to start all programs:
bashCopy codesupervisorctl start allSupervisor Configuration
Node Configuration
nats-server
This software requires the JetStream feature to be enabled in nats-server. To activate JetStream, simply start nats-server with the --jetstream flag.
For nats-server configuration, please refer to the official NATS documentation as well as the Autonomys NATS configuration documentation.
Here is an example configuration for nats-server for your reference.
autonomys-controller
autonomys-node
autonomys-proof-server
Explanation of Startup Command Parameters and Environment Variables:
--nats-server: This parameter is used to specify the address of the NATS server.CUDA_VISIBLE_DEVICES: This environment variable is used to specify which GPU to use. For example,0represents GPU0,1represents GPU1, and so on.
Plotter Configuration (Example with 4 GPUs)
autonomys-sharded-cache
Explanation of Startup Command Parameters:
--nats-server: Specifies the address of the NATS server.path=/path/to/autonomys-sharded-cache: Specifies the storage path for the piece cache.
autonomys-full-piece
Explanation of Startup Command Parameters:
--nats-server: This parameter is used to specify the address of the NATS server.path=/path/to/autonomys-full-piece: This parameter is used to specify the storage path for the piece cache.
autonomys-plot-server
Explanation of Startup Command Parameters and Environment Variables:
--nats-server: Specifies the address of the NATS server.CUDA_VISIBLE_DEVICES: Sets the GPU to be used, where0represents GPU0,1represents GPU1, and so forth.GPU_CONCURRENCY: Increasing this value raises GPU memory usage. Adjusting this variable may be beneficial when using GPUs of different models.
It is important to note that when using the numactl tool to bind CPU cores, you should consider the NUMA affinity of the GPU to achieve optimal performance.
You can use the nvidia-smi topo -m command to check the NUMA affinity of the GPU.
Storage Configuration (Example with 4 Drives)
autonomys-plot-client
Explanation of Startup Command Parameters:
--nats-server: Used to specify the address of the NATS server.path=/path/to/plot-dir,sectors=8000: Specifies the file path for plots as well as the number of sectors for the plot, with8000as the sector count in this example.
Last updated
