Page cover

😉Best Practices

Note: The following names, IP addresses and other details are examples.

Environment Overview

Server
IP Address
Configuration
Component

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 all

Supervisor Configuration

Node Configuration

Each node requires the deployment of 4 components: controller autonomys-node proof-server nats-server

Deployment sequence: nats-server -> autonomys-node -> controller -> proof-server

nats-server

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, 0 represents GPU0, 1 represents GPU1, and so on.


Plotter Configuration (Example with 4 GPUs)

Each plotter requires the deployment of e components: autonomys-plot-server, autonomys-sharded-cacheand autonomys-full-piece-cache

The autonomys-plot-server component retrieves pieces from both the autonomys-sharded-cache and autonomys-full-piece-cache components for use on the plotting drive.

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, where 0 represents GPU0, 1 represents 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.

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, with 8000 as the sector count in this example.

Last updated