Hardware requirements

The hardware requirements for storage providers are tied to the computational resources needed to seal a sector and generating regular Proof of Spacetime for every sealed sector.

The Filecoin network requires storage providers to run computationally expensive operations to generate sealed sectors. The cost of these operations depends on which network the storage provider is running; some testnets use a smaller sector size to increase the speed of sealing artificially. For reference, the requirements listed below correspond to 32GiB sectors, as used by mainnet and the calibration network (testnetwork).

General hardware requirements

The following are general hardware requirements and guidelines for each task type or processes. Please keep in mind that each specific operation requirement adds to the Lotus-Miner processes hardware recommendation of 128 GiB of RAM if the windowPoSt task is not outsourced to a seperate windowPoSt worker. The RAM requirement should be complemented with 128 GiB of swap on a fast NVMe SSD.

Note that Lotus allows to configure and delegate sealing phases to Lotus workers, which in setups that is going to seal multiple sectors in parallel is normally needed.

CPU

To run the just the lotus-miner process without any sealing tasks, it is recommended to have at least a CPU with 8 cores.

PC1

For the PreCommit1 task a CPU model with support for Intel SHA Extensions: AMD since Zen microarchitecture, or Intel since Ice Lake, is a must. Lack of SHA Extensions results in a very significant slow down.

PC2

For the PreCommit2 task a CPU with a lot of cores will speed up the process, unless the task is offloaded to a GPU, which is highly recommended to speed up the task.

C2

For the Commit2 task a CPU with a lot of cores will speed up the process, unless the task is offloaded to a GPU, which is highly recommended to speed up the task.

RAM

128 GiB of RAM are recommended at the very least if the lotus-miner when the windowPoSt task is not outsourced to a windowPoSt worker. This should be complemented with 128 GiB of swap on a fast NVMe SSD.

If the windowPoSt task is outsourced to a seperate windowPoSt worker, one can expect that both the RAM and swap requirement to just run the lotus-miner process to be lower. See the specific operation requirements for more information about the windowPoSt hardware requirements

Sealing tasks

Check the specific task hardware requirements table for RAM usage per task.

GPU

If windowPoSt tasks are not outsourced to a seperate windowPoSt worker, a powerful GPU is highly recommended to have on the server that runs the lotus-miner process, as it speeds up the proving tasks significantly.

PC2

The PreCommit 2 tasks is significantly faster when running on a GPU compared to when running on the CPU. The minimum VRAM requirement to run the PC2 process on a GPU is 5GiB VRAM.

C2

The Commit 2 tasks is significantly faster when running on a GPU compared to when running on the CPU. The minimum VRAM requirement to run the C2 process on a GPU is 11.5GiB VRAM.

Disk

The lotus-miner process in itself does not require a very large disk space. But it is recommended to have the process running on a fast storage medium like a NVMe disk, especially if the windowPoSt process is not outsourced to a seperate worker.

PC1

Each PreCommit 1 sector will generate data to the amount of 384GiB. Since this sealing task can be write heavy if many sectors are sealing in parallel, it is recommeneded to use SSDs or NVMe drives.

PC2

Each PreCommit 2 task will read all the previously generated data by the PreCommit 1 sealing task, which means that this process is very read heavy. Running this task on NVMe drives with great read speeds are recommended.

C2

Each Commit 2 task uses the 16MiB file generated in the Commit1 phase. This process can comfortably be run on SSDs.

Specific operation requirements

The following table shows what hardware resources are needed to run a single tasks of the given sealing phase or proof calculation:

OperationCPU usedGPU usedVRAMMemory (32Gib sectors)Notes
Sealing: preCommit phase 1Yes (1 core or 1 core-complex)No-64GiBPoRep SDR encoding. Not amenable to parallelization. Core usage depends on value of FIL_PROOFS_USE_MULTICORE_SDR.
Sealing: preCommit phase 2Yes (when no GPU, all cores)Yes5 GiB30GiBRead-heavy operation, fast NVMe disks recommended. Highly recommended to run on a GPU
Sealing: commit phase 1YesNo--Exteremly light computation, usually faster then 1 second
Sealing: commit phase 2Yes (when no GPU, all cores)Yes11.5 GiB~ 192GiBHighly recommended to run on a GPU. Using 128GiB RAM and 64GiB SWAP is possible, but comes at a perfomance hit.
UnsealingYes (1 core or 1 core-complex)No-64GiBSame process as preCommit phase 1. Not amenable to parallelization. Core usage depends on value of FIL_PROOFS_USE_MULTICORE_SDR.
SnapDeals: Update ReplicaYes (when no GPU, all cores)Yes5 GiB64GiBHighly recommended to run on a GPU. Using 128GiB RAM and 64GiB SWAP is possible, but comes at a perfomance hit.
SnapDeals: PRU2Yes (when no GPU, all cores)Yes11.5 GiB~ 192GiBHighly recommended to run on a GPU. Using 128GiB RAM and 64GiB SWAP is possible, but comes at a perfomance hit.
Proving WindowPoStYes (all cores, when no GPU)Yes11.5 GiB96GiBWindowPoSts must be submitted in 30 minute windows. When no GPU available, the more CPU cores the faster. HHighly recommended to run on a GPU.
Proving WinningPoStYesNo6 GiB16GiBWinningPoSt is a less intensive computation. Must be completed in a 25 seconds window. Highly recommended to run on a GPU.

Future proofing

The above requirements will not increase in the presumable future, and money spent on hardware should provide users with many years of reliable service.

Edit this page on GitHub