Minimum Node Requirements

As the Audius network grows, it’s essential that Service Providers on the network work together to guarantee minimum system resources like CPU, memory and disk space (for each registered node) to maintain a baseline level of performance.

Resource requirements to run nodes were published last year, and given the recent growth in both node count, and usage of the network, it makes sense to revisit and start enforcing these requirements as a community of node operators.

The problem

This disparity in resources allocated per node raises a few key issues:

  1. Reputation of the Audius protocol may become tarnished if users consistently experience poor performance.
  2. Inconsistent protocol performance between any two given nodes. Some nodes are able to perform under load with ease, while others are unable to maintain a healthy steady state even without load.
  3. New and upcoming features require an adequate level of resource headroom per node so we may examine and report on performance.

The proposed solution

To help enforce these minimums we propose that

  • Each service will monitor its own available resources as well as resources for other nodes in the network.
  • The service /health_check endpoint will start begin reporting a meets_minimum_requirements boolean
  • In the event minimum requirements are not met, a service would report its health status as unhealthy. Downtime due to failing health checks and non-compliance with specified minimum service requirements are slashable offenses.

Minimum Resource Requirements (Per Registered Node)

  • 8 vCPU
  • 16 GB of RAM
  • 250GB SSD (discovery nodes) / 2000GB SSD (content nodes)

I think this is a great idea and would definitely support this proposal when it reaches a governance vote.

It might make sense to set the min requirements for the content nodes to something slightly under the 2000GB requirement (something like 1950GB) to account for other system disk partitions - but I don’t feel strongly on the matter.

1 Like

Still 2000 and 1950 is not far pretty much the same thing

1 Like