Farming Cluster
The Farming Cluster is designed for larger farmers, addressing the challenges of scaling effectively. It consists of four main components, all interconnected through a NATS Server.
This setup enables powerful remote computing capabilities. For example, if a computer is ideal for farming but not for plotting, you can run the farming component on that machine while utilizing one or more remote machines for plotting. This ensures continuous plotting and replotting across multiple farms, optimizing the use of plotters until all sectors are fully plotted and replotted.
Networking Considerations
Farming Cluster employs a modular architecture for operating a farm, where each component can function independently and can be scaled by running multiple instances of a component for added scalability and redundancy. As such, it is essential to ensure sufficient LAN bandwidth to facilitate efficient communication of this data transfer across your network between these components.
A 1 Gbit network connection is likely insufficient for this traffic, especially when using GPU plotting resources or multiple plotters. In such cases, a 2.5 Gbit connection should be considered the minimum, with an upgrade to 10 Gbit or higher for larger clusters.
You can reduce LAN bandwidth usage by running the NATS, Controller, Cache, and Plotter components on the same machine. This setup allows most data transfer to occur over the local loopback interface.
Key Benefits
-
Remote Compute Capability
Multiple PCs can contribute their CPU and GPU resources for plotting and replotting, without the need to store farm plots locally. -
Redundancy
Running multiple computers for each process increases redundancy and system resilience. -
Bandwidth Efficiency
Centralized storage of the piece cache helps conserve WAN bandwidth. -
Additional Space
Relocating the piece sync cache to a central location frees up an additional 1% of plot capacity for farming, compared to the Standalone Farmer.
NATS
At the core of Farming Cluster is a third-party software called NATS, which is used for communication between the farming components.
The simplest way to install and run NATS is via Docker.
Set Up and Configure NATS
- Create and save a
nats.config
configuration file with the following:
max_payload = 2MB
- Start NATS with Docker:
docker run \
--name nats \
--restart unless-stopped \
--publish 4222:4222 \
--volume /path/to/nats.config:/nats.config:ro \
nats -c /nats.config