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 recommended against trying 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.
Hardware | Specification |
---|---|
CPU | 8-core processor |
CPU Support | Models with support for Intel SHA Extensions (AMD since Zen microarchitecture or Intel since Ice Lake) will significantly speed up the processes. |
RAM | 256 GiB RAM + Swap |
GPU | Nvidia GPU with at least 11GB VRAM |
Disk | 2 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 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 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 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:
Operation | CPU used | GPU used | VRAM | Memory (32Gib sectors) | Notes |
---|---|---|---|---|---|
Sealing: AddPiece | Yes (all cores) | No | - | 0.2GiB | Write heavy |
Sealing: preCommit phase 1 | Yes (1 core or 1 core-complex) | No | - | 64GiB | PoRep SDR encoding. Not amenable to parallelization. Core usage depends on value of FIL_PROOFS_USE_MULTICORE_SDR . |
Sealing: preCommit phase 2 | Yes (when no GPU, all cores) | Yes | 5 GiB | 30GiB | Read-heavy operation, fast NVMe disks recommended. Highly recommended to run on a GPU |
Sealing: commit phase 1 | Yes | No | - | - | Exteremly light computation, usually faster then 1 second |
Sealing: commit phase 2 | Yes (when no GPU, all cores) | Yes | 11 GiB | ~ 192GiB | Highly recommended to run on a GPU. Using 128GiB RAM and 64GiB SWAP is possible, but comes at a perfomance hit. |
Unsealing | Yes (1 core or 1 core-complex) | No | - | 64GiB | Same 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) | Yes | 5 GiB | 64GiB | Highly recommended to run on a GPU. |
SnapDeals: PRU2 | Yes (when no GPU, all cores) | Yes | 11 GiB | ~ 192GiB | Highly recommended to run on a GPU. Using 128GiB RAM and 64GiB SWAP is possible, but comes at a perfomance hit. |
Proving WindowPoSt | Yes (all cores, when no GPU) | Yes | 11 GiB | 96GiB | WindowPoSts 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 WinningPoSt | Yes | No | 6 GiB | 16GiB | WinningPoSt 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.