Skip to content

Commit 1e68a71

Browse files
tigarciah4rkl
andauthored
Blog Post: Suggesting validators run bare metal, not cloud (#1588)
Co-authored-by: harkl <89045610+h4rkl@users.noreply.github.com>
1 parent 7a31a21 commit 1e68a71

1 file changed

Lines changed: 155 additions & 0 deletions

File tree

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
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

Comments
 (0)