Docs: Update validator hardware recommendations

This commit is contained in:
Trent Nelson
2021-03-02 22:32:57 -07:00
committed by mergify[bot]
parent 658951e680
commit 5cd6a0c2f1

View File

@ -2,35 +2,32 @@
title: Validator Requirements title: Validator Requirements
--- ---
## Hardware ## Hardware Recommendations
- CPU Recommendations - CPU
- We recommend a CPU with the highest number of cores as possible. AMD Threadripper or Intel Server \(Xeon\) CPUs are fine. - 12 cores / 24 threads, or more
- We recommend AMD Threadripper as you get a larger number of cores for parallelization compared to Intel. - 2.8GHz, or faster
- 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. - AVX2 instruction support (to use official release binaries, self-compile
- SSD size and I/O style \(SATA vs NVMe/M.2\) for a validator otherwise)
- Minimum example - Samsung 860 Evo 2TB - Support for AVX512f and/or SHA-NI instructions is helpful
- Mid-range example - Samsung 860 Evo 4TB - The AMD Threadripper Zen3 series is popular with the validator community
- High-end example - Samsung 860 Evo 4TB - 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 - 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 - Not strictly necessary at this time
- What kind of GPU? - Motherboard and power supply speced to add one or more high-end gaming GPUs
- We recommend Nvidia Turing and volta family GPUs 1660ti to 2080ti series consumer GPU or Tesla series server GPUs. in the future suggested
- 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. |
## Virtual machines on Cloud Platforms ## 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 your own internal usage. This use case includes exchanges and services built on
Solana. Solana.
In fact, the offical mainnet-beta API nodes are currently (Oct. 2020) run on GCE In fact, the mainnet-beta validators operated by the team are currently
`n1-standard-32` (32 vCPUs, 120 GB memory) instances with 2048 GB SSD for (Mar. 2021) run on GCE `n2-standard-32` (32 vCPUs, 128 GB memory) instances with
operational convenience. 2048 GB SSD for operational convenience.
For other cloud platforms, select instance types with similar specs. For other cloud platforms, select instance types with similar specs.
@ -61,7 +58,7 @@ We use docker only for development purpose.
## Software ## 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. - 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 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, For more information on port forwarding with regards to residential networks,
see [this document](http://www.mcs.sdsmt.edu/lpyeatt/courses/314/PortForwardingSetup.pdf). 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. MacOS or WSL users may build from source.
## GPU Requirements ## GPU Requirements
CUDA is required to make use of the GPU on your system. The provided Solana 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. a different CUDA version then you will need to rebuild from source.