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 Filecoin consensus relies on multiple stages, which are very difficult to execute on a single type of hardware. Therefore, it is strongly not recommended to try to run all parts of an SP from a single machine, as supporting such a setup economically is impossible. To complement the hardware recommendations for each task type or process, it is advisable to configure and delegate sealing phases to lotus-worker, particularly in setups where multiple sectors need to be sealed in parallel. This will help ensure that each specific operation requirement is met and that the lotus-miner process run smoothly.

HardwareSpecification
CPU8-core processor
CPU SupportModels with support for Intel SHA Extensions (AMD since Zen microarchitecture or Intel since Ice Lake) will significantly speed up the processes.
RAM256 GiB RAM + Swap
GPUNvidia GPU with at least 11GB VRAM
Disk2 TB NVMe disk

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 separate 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 separate 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 11GiB 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 separate 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 recommended 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: AddPieceYes (all cores)No-0.2GiBWrite heavy
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--Extremely light computation, usually faster then 1 second
Sealing: commit phase 2Yes (when no GPU, all cores)Yes11 GiB~ 192GiBHighly recommended to run on a GPU. Using 128GiB RAM and 64GiB SWAP is possible, but comes at a performance 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 Replica (RU)Yes (when no GPU, all cores)Yes5 GiB64GiBHighly recommended to run on a GPU.
SnapDeals: PRU2Yes (when no GPU, all cores)Yes11 GiB~ 192GiBHighly recommended to run on a GPU. Using 128GiB RAM and 64GiB SWAP is possible, but comes at a performance hit.
Proving WindowPoStYes (all cores, when no GPU)Yes11 GiB96GiBWindowPoSts must be submitted in 30 minute windows. When no GPU available, the more CPU cores the faster. Highly recommended to run on a GPU.
Proving WinningPoStYesNo6 GiB16GiBWinningPoSt is a less intensive computation and must be completed in a 25-second window. It is highly recommended to run on a GPU.

Future proofing

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

Edit this page on GitHub