From 5cd6a0c2f11d1cd642c3d6c916b2200e28c077cb Mon Sep 17 00:00:00 2001 From: Trent Nelson Date: Tue, 2 Mar 2021 22:32:57 -0700 Subject: [PATCH] Docs: Update validator hardware recommendations --- docs/src/running-validator/validator-reqs.md | 63 ++++++++++---------- 1 file changed, 30 insertions(+), 33 deletions(-) diff --git a/docs/src/running-validator/validator-reqs.md b/docs/src/running-validator/validator-reqs.md index f5b95be091..5b09440710 100644 --- a/docs/src/running-validator/validator-reqs.md +++ b/docs/src/running-validator/validator-reqs.md @@ -2,35 +2,32 @@ title: Validator Requirements --- -## Hardware +## Hardware Recommendations -- CPU Recommendations - - We recommend a CPU with the highest number of cores as possible. AMD Threadripper or Intel Server \(Xeon\) CPUs are fine. - - We recommend AMD Threadripper as you get a larger number of cores for parallelization compared to Intel. - - Threadripper also has a cost-per-core advantage and a greater number of PCIe lanes compared to the equivalent Intel part. PoH \(Proof of History\) is based on sha256 and Threadripper also supports sha256 hardware instructions. -- SSD size and I/O style \(SATA vs NVMe/M.2\) for a validator - - Minimum example - Samsung 860 Evo 2TB - - Mid-range example - Samsung 860 Evo 4TB - - High-end example - Samsung 860 Evo 4TB +- CPU + - 12 cores / 24 threads, or more + - 2.8GHz, or faster + - AVX2 instruction support (to use official release binaries, self-compile +otherwise) + - Support for AVX512f and/or SHA-NI instructions is helpful + - The AMD Threadripper Zen3 series is popular with the validator community +- RAM + - 128GB, or more + - Motherboard with 256GB capacity suggested +- Disk + - PCIe Gen3 x4 NVME SSD, or better + - Accounts: 500GB, or larger. High TBW (Total Bytes Written) + - Ledger: 1TB or larger. High TBW suggested + - OS: (Optional) 500GB, or larger. SATA OK + - The OS may be installed on the ledger disk, though testing has shown better +performance with the ledger on its own disk + - Accounts and ledger _can_ be stored on the same disk, however due to high +IOPS, this is not recommended + - The Samsung 970 and 980 Pro series SSDs are popular with the validator community - GPUs - - While a CPU-only node may be able to keep up with the initial idling network, once transaction throughput increases, GPUs will be necessary - - What kind of GPU? - - We recommend Nvidia Turing and volta family GPUs 1660ti to 2080ti series consumer GPU or Tesla series server GPUs. - - We do not currently support OpenCL and therefore do not support AMD GPUs. We have a bounty out for someone to port us to OpenCL. Interested? [Check out our GitHub.](https://github.com/solana-labs/solana) -- Power Consumption - - Approximate power consumption for a validator node running an AMD Threadripper 3950x and 2x 2080Ti GPUs is 800-1000W. - -### Preconfigured Setups - -Here are our recommendations for low, medium, and high end machine specifications: - -| | Low end | Medium end | High end | Notes | -| :------------------ | :---------------------------------------------------- | :--------------------- | :--------------------- | :------------------------------------------------------------------------------------- | -| CPU | AMD Ryzen 3950x | AMD Threadripper 3960x | AMD Threadripper 3990x | Consider a 10Gb-capable motherboard with as many PCIe lanes and m.2 slots as possible. | -| RAM | 32GB | 64GB | 128GB | | -| Ledger Drive | Samsung 860 Evo 2TB | Samsung 860 Evo 4TB | Samsung 860 Evo 4TB | Or equivalent SSD | -| Accounts Drive\(s\) | None | Samsung 970 Pro 1TB | 2x Samsung 970 Pro 1TB | | -| GPU | Nvidia 1660ti | Nvidia 2080 Ti | 2x Nvidia 2080 Ti | Any number of cuda-capable GPUs are supported on Linux platforms. | + - Not strictly necessary at this time + - Motherboard and power supply speced to add one or more high-end gaming GPUs +in the future suggested ## Virtual machines on Cloud Platforms @@ -41,9 +38,9 @@ However, it may be convenient to run non-voting api nodes on VM instances for your own internal usage. This use case includes exchanges and services built on Solana. -In fact, the offical mainnet-beta API nodes are currently (Oct. 2020) run on GCE -`n1-standard-32` (32 vCPUs, 120 GB memory) instances with 2048 GB SSD for -operational convenience. +In fact, the mainnet-beta validators operated by the team are currently +(Mar. 2021) run on GCE `n2-standard-32` (32 vCPUs, 128 GB memory) instances with +2048 GB SSD for operational convenience. For other cloud platforms, select instance types with similar specs. @@ -61,7 +58,7 @@ We use docker only for development purpose. ## Software -- We build and run on Ubuntu 18.04. Some users have had trouble when running on Ubuntu 16.04 +- We build and run on Ubuntu 20.04. Some users have had trouble when running on Ubuntu 16.04 - See [Installing Solana](../cli/install-solana-cli-tools.md) for the current Solana software release. Be sure to ensure that the machine used is not behind a residential NAT to avoid @@ -69,11 +66,11 @@ NAT traversal issues. A cloud-hosted machine works best. **Ensure that IP ports For more information on port forwarding with regards to residential networks, see [this document](http://www.mcs.sdsmt.edu/lpyeatt/courses/314/PortForwardingSetup.pdf). -Prebuilt binaries are available for Linux x86_64 \(Ubuntu 18.04 recommended\). +Prebuilt binaries are available for Linux x86_64 on CPUs supporting AVX2 \(Ubuntu 20.04 recommended\). MacOS or WSL users may build from source. ## GPU Requirements CUDA is required to make use of the GPU on your system. The provided Solana -release binaries are built on Ubuntu 18.04 with [CUDA Toolkit 10.1 update 1](https://developer.nvidia.com/cuda-toolkit-archive). If your machine is using +release binaries are built on Ubuntu 20.04 with [CUDA Toolkit 10.1 update 1](https://developer.nvidia.com/cuda-toolkit-archive). If your machine is using a different CUDA version then you will need to rebuild from source.