Ask questionsAdd a batched PreCommitSectors method

The miner PreCommitSector method only supports committing a single sector at a time. It's one of the two highest frequency methods observed on the chain at present (the other being ProveCommitSector). High-growth miners commit sectors at rates exceeding 1 per epoch. It's also a relatively expensive method, with multiple internal sends and loading and storing state including:

  • the Storage Power actor's power total (read)
  • the Storage Market actor's deal proposal AMT (read)
  • the Reward actor's totals (read)
  • the AllocatedSectors bitfield (read and modify)
  • the PrecommittedSectors HAMT (read and modify)
  • the Sectors AMT (read)
  • the PreCommittedSectorsExpiry AMT (read and modify)
  • the Storage Power actor's pledge total (read and modify)

A PreCommitSectorsBatch method has potential to amortize some of these costs across multiple sectors. If miner operators implemented a relatively short batch aggregation period (a few epochs), the number of invocations could be reduced significantly, and some of the state manipulations above reduced in proportion.


Answer questions stuberman

It is not clear to me whether the pre commit batch affects sealing. While precommit commit messages are waiting for release (expiration of "PreCommitBatchWait") are those sectors held from further processing/sealing? As an example is PreCommitBatchWait = 8 hours will PC2 sectors queue up on sealing disks until the timer expires? If so, miners will need to be advised to set the wait timer low enough to not run out of disk capacity and cause worker to idle waiting for timer to expire.


Related questions

No questions were found.
Stuart Berman stuberman Network engineer and IT security architect interested in cryptomining.
Github User Rank List