|
| 1 | +--- |
| 2 | +title: "Solana Runs on Bare Metal Hardware" |
| 3 | +description: >- |
| 4 | + Solana's core mission is to build the most performant distributed blockchain |
| 5 | + technology. Validators must run on bare metal hardware to keep pace with |
| 6 | + current and future performance gains. |
| 7 | +publishedAt: 2026-06-17T00:00:00.000Z |
| 8 | +categories: |
| 9 | + - category: validators |
| 10 | +status: published |
| 11 | +author: solana-foundation |
| 12 | +tags: |
| 13 | + - tag: developer |
| 14 | + - tag: network |
| 15 | +--- |
| 16 | + |
| 17 | +Solana's engineering north star is **IBRL—Increase Bandwidth, Reduce Latency.** |
| 18 | +Every major upgrade shipping today has that goal in mind. As the network gets |
| 19 | +faster, the gap between the protocol and the hardware it runs on keeps |
| 20 | +shrinking. |
| 21 | + |
| 22 | +The closer the protocol gets to the hardware, the less room there is for the |
| 23 | +abstraction layers that cloud providers and container platforms put in between. |
| 24 | +You _can_ run a validator on AWS, GCP, or inside a container. However, in |
| 25 | +practice core engineers have seen cloud based solutions performing poorly when |
| 26 | +compared to bare metal hardware under load. |
| 27 | + |
| 28 | +## XDP and 100M CUs |
| 29 | + |
| 30 | +The upcoming protocol feature activation for 100M CUs demonstrates the need for |
| 31 | +bare metal hardware. 100M CUs is a 66% increase over today's 60M CU cap. |
| 32 | +More compute units per block means more transaction capacity, but it also |
| 33 | +moves the bottleneck. At 100M CUs, the constraint is no longer execution; |
| 34 | +it's **Turbine**, the layer that propagates blocks across the network. If |
| 35 | +shreds can't fan out to thousands of nodes fast enough, the extra |
| 36 | +capacity is not helpful to the network. |
| 37 | + |
| 38 | +To support the 100M CU feature activation, XDP will soon be enabled by default |
| 39 | +for all clients. To read more about XDP, see the [XDP on Solana](/upgrades/xdp) |
| 40 | +post. |
| 41 | + |
| 42 | +## XDP: High Performance Networking |
| 43 | + |
| 44 | +XDP is high-performance mode for your network interface card. It skips the |
| 45 | +slower more generalized path that your kernel uses to handle networking and |
| 46 | +instead moves the logic to the hardware. The |
| 47 | +[Anza XDP setup guide](https://www.anza.xyz/blog/agave-xdp-setup-guide) walks |
| 48 | +operators through XDP configuration and explains what operators must do to |
| 49 | +get the most performance from their hardware. |
| 50 | + |
| 51 | +Here are a few requirements to highlight: |
| 52 | + |
| 53 | +- **Elevated capabilities.** The validator process needs `CAP_NET_RAW`, |
| 54 | + `CAP_NET_ADMIN`, `CAP_BPF`, and `CAP_PERFMON` |
| 55 | +- **Dedicated cores.** XDP and Proof of History (PoH) **must be assigned to |
| 56 | + separate physical cores.** Not threads, not "vCPUs"—physical cores. |
| 57 | +- **Serious packet rates.** Because Turbine fans shreds out aggressively, |
| 58 | + a highly staked validator can push **approaching 150,000 outbound packets |
| 59 | + per second.** Highly staked nodes send even more, because they get more |
| 60 | + leader slots. |
| 61 | + |
| 62 | +Every one of those requirements is easy to satisfy when you have control over |
| 63 | +the hardware: you can pick the NIC, you pin the cores, you choose the driver |
| 64 | +and kernel. |
| 65 | + |
| 66 | +## "Possible" in the cloud is not the same as "competitive" |
| 67 | + |
| 68 | +It would be incorrect to claim XDP can't run in the cloud. It can. |
| 69 | + |
| 70 | +- AWS's ENA driver supports native AF_XDP with zero-copy. |
| 71 | +- GCP's gVNIC driver supports driver-mode XDP. |
| 72 | + |
| 73 | +However, the details matter when running a high performance validator. These |
| 74 | +NIC drivers are supported, but a cloud VM still puts abstractions between |
| 75 | +the validator and the hardware that XDP wants to reach directly. |
| 76 | + |
| 77 | +- A **virtual NIC is not a NIC you own.** ENA and gVNIC are fast, |
| 78 | + provider-managed devices. You don't choose the physical NIC model, firmware, |
| 79 | + queue implementation, or switch path. The `ethtool`, ring-size, IRQ-affinity, |
| 80 | + and NUMA tuning that validator operators rely on is either unavailable or only |
| 81 | + partially effective. |
| 82 | + |
| 83 | +A cloud instance can be extensively tuned to perform well. However, to make a |
| 84 | +cloud or containerized validator competitive, you end up |
| 85 | +dedicating the instance, pinning vCPUs to physical cores, enabling host |
| 86 | +networking, granting elevated capabilities, and giving the process direct |
| 87 | +access to the host NIC. Each of those steps moves you away from what |
| 88 | +virtualization and containers are for. Once you have done all of them, you have |
| 89 | +discarded the elasticity, isolation, and portability that justified the cloud in |
| 90 | +the first place. You are now doing more operational work than you would running |
| 91 | +directly on a bare machine, and the best case is that you only match its |
| 92 | +performance. |
| 93 | + |
| 94 | +## Containers add a layer you then have to delete |
| 95 | + |
| 96 | +Containers add another layer of abstraction that can lead to performance issues. |
| 97 | +The only container shape that preserves XDP performance is one that |
| 98 | +systematically removes container isolation: `--network=host` to share the |
| 99 | +host's network namespace, the elevated capabilities listed above, direct |
| 100 | +access to the host interface. |
| 101 | + |
| 102 | +This is why Anza's own |
| 103 | +[validator requirements](https://docs.anza.xyz/operations/requirements) strongly |
| 104 | +suggest that running an Agave validator for live clusters, including |
| 105 | +mainnet-beta, inside Docker is |
| 106 | +**"not recommended and generally not supported,"** citing containerization |
| 107 | +overhead and performance degradation unless specially configured. |
| 108 | +The same page warns that running in the cloud "requires significantly greater |
| 109 | +operational expertise to achieve stability and performance." |
| 110 | + |
| 111 | +## CPU, RAM, and Storage |
| 112 | + |
| 113 | +XDP is an upcoming high performance improvement, but operators should strive |
| 114 | +to take advantage of the hardware directly. Bare metal's advantages extend |
| 115 | +across the whole machine. Anza's requirements call for a high-clock CPU |
| 116 | +(2.8GHz+ base, AMD Gen 3 / Intel Ice Lake or newer, with SHA and AVX2 support). |
| 117 | +They also call for generous ECC memory and fast NVMe storage. |
| 118 | + |
| 119 | +On a generic cloud instance, storage is often a network-attached block device |
| 120 | +with provisioned IOPS and throughput ceilings. On bare metal you choose known |
| 121 | +enterprise NVMe drives and avoid hidden shared-infrastructure limits. |
| 122 | + |
| 123 | +The community has created a very useful resource, |
| 124 | +[solana hardware compatibility list](https://solanahcl.org), cataloging common |
| 125 | +Solana validator hardware along with a summary of operator opinions on the |
| 126 | +hardware. The site contains known good CPUs, storage, and networking for mainnet |
| 127 | +validators, and on recommends dedicated hardware. A good example from the |
| 128 | +site is Anza's networking requirement for a staked node is a 2 Gbit/s |
| 129 | +symmetric connection, but the community recommendation of 10–25GbE comes from |
| 130 | +experience running a high performance machine in practice. |
| 131 | + |
| 132 | +## Recommendations |
| 133 | + |
| 134 | +For a production, staked Agave validator, the metrics that matter most are skip |
| 135 | +rate, block propagation, and 100M CU readiness. The strong recommendation is to |
| 136 | +run on **dedicated bare metal.** Prefer a high-clock CPU, ECC RAM, fast |
| 137 | +enterprise NVMe drives, and 10 to 25GbE symmetric connectivity. At today's |
| 138 | +throughput of roughly 2,000 TPS and 100M CU blocks, most modern NICs are |
| 139 | +sufficient. As TPS grows, a high-end NIC family proven for AF_XDP zero-copy |
| 140 | +gives you the headroom to keep up, and Mellanox/NVIDIA ConnectX is the standout |
| 141 | +choice. Run Agave directly under systemd rather than inside a container. |
| 142 | + |
| 143 | +A cloud VM or container is a perfectly reasonable tool for the right job, such |
| 144 | +as experimentation, monitoring, or RPC prototyping. If the goal is a top-tier |
| 145 | +validator with XDP enabled, running on bare metal is strongly recommended over a |
| 146 | +cloud or container based deployment. |
| 147 | + |
| 148 | +--- |
| 149 | + |
| 150 | +References: |
| 151 | + |
| 152 | +- [Solana XDP upgrade](https://solana.com/upgrades/xdp) |
| 153 | +- [Anza Agave XDP setup guide](https://www.anza.xyz/blog/agave-xdp-setup-guide) |
| 154 | +- [Agave validator requirements](https://docs.anza.xyz/operations/requirements) |
| 155 | +- [Solana Hardware Compatibility List](https://www.solanahcl.org/) |
0 commit comments