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.
To run the just the
lotus-miner process without any sealing tasks, it is recommended to have at least a CPU with 8 cores.
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.
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.
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.
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
Check the specific task hardware requirements table for RAM usage per task.
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.
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.
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.
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.
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.
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.
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: 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 |
|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.5 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 |
|SnapDeals: Update Replica||Yes (when no GPU, all cores)||Yes||5 GiB||64GiB||Highly recommended to run on a GPU. Using 128GiB RAM and 64GiB SWAP is possible, but comes at a perfomance hit.|
|SnapDeals: PRU2||Yes (when no GPU, all cores)||Yes||11.5 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.5 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.|
The above requirements will not increase in the presumable future, and money spent on hardware should provide users with many years of reliable service.