Skip to content
This repository has been archived by the owner on Jun 6, 2023. It is now read-only.

ConfirmSectorProofsValid: batch VerifyDealsOnSectorProveCommit #474

Open
ZenGround0 opened this issue Jun 11, 2020 · 8 comments
Open

ConfirmSectorProofsValid: batch VerifyDealsOnSectorProveCommit #474

ZenGround0 opened this issue Jun 11, 2020 · 8 comments
Assignees
Labels
change-behaviour Changes behaviour or state interpretation, necessitating a network version upgrade cleanup Technical debt recovery and other cleanup work P3 Not urgent or important scale Related to chain state or throughput scalability

Comments

@ZenGround0
Copy link
Contributor

From builtin/miner/miner_actor.go:ConfirmSectorProofsValid:


		// Check (and activate) storage deals associated to sector. Abort if checks failed.
		// return DealWeight for the deal set in the sector
		// TODO: we should batch these calls...

I believe this is referring to batching multiple sectors in a single call from miner to market instead of one call per sector.

@anorth anorth added cleanup Technical debt recovery and other cleanup work P2 Medium priority, beneficial for network functionality and growth scale Related to chain state or throughput scalability labels Jun 18, 2020
@anorth
Copy link
Member

anorth commented Jul 5, 2020

See #483 and be careful not to introduce another problem of that sort.

@Stebalien
Copy link
Member

Q: How should we handle errors here? At the moment, we skip each sector with invalid deals independently (allowing the other sectors to be confirmed).

@anorth
Copy link
Member

anorth commented Jul 14, 2020

I think we want to maintain that property. The request to the market actor should really be a crude batch, associating each sector id with its deals. The response should indicate which ones succeeded. The market actor will need to be careful to persist state changes only for the successful sector groups as atomic units.

@anorth
Copy link
Member

anorth commented Jul 19, 2020

Even if we don't batch these, as low hanging fruit we should at least not make this call if the sector has no deals.

@aarshkshah1992
Copy link
Contributor

@anorth The PR to NOT call ActivateDeals if there are no deals has been merged. Should we keep this issue open in case we want to do this batching in the future or should we close it and remove the TODO from the code ?

@anorth
Copy link
Member

anorth commented Aug 24, 2020

Please remove the TODO, but yes let's keep this issue open.

@anorth
Copy link
Member

anorth commented Oct 14, 2020

We've determined this isn't high importance for network launch. It's an optimization to execution time, but unlikely a large contributor to overall chain validation time (it hasn't shown up in any profiles yet). I've reduced it to P3.

cc @wadealexc

@anorth anorth added P3 Not urgent or important and removed P2 Medium priority, beneficial for network functionality and growth labels Oct 14, 2020
@ZenGround0 ZenGround0 added the change-behaviour Changes behaviour or state interpretation, necessitating a network version upgrade label Oct 28, 2020
@ZenGround0 ZenGround0 added this to the v4 milestone Mar 17, 2021
@ZenGround0
Copy link
Contributor Author

This is a good option for further optimizing aggregated prove commit.

@ZenGround0 ZenGround0 mentioned this issue Apr 8, 2021
28 tasks
@BigLep BigLep modified the milestones: v6, v5 May 13, 2021
@BigLep BigLep assigned ZenGround0 and unassigned aarshkshah1992 May 13, 2021
@ZenGround0 ZenGround0 assigned ZenGround0 and unassigned ZenGround0 May 14, 2021
@BigLep BigLep removed this from the Network Hyperdrive milestone May 28, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
change-behaviour Changes behaviour or state interpretation, necessitating a network version upgrade cleanup Technical debt recovery and other cleanup work P3 Not urgent or important scale Related to chain state or throughput scalability
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants