Skip to content

feat: new proving broker implementation#8609

Merged
alexghr merged 2 commits into
ag/refactor-avm-proof-fieldsfrom
ag/scaling-provers
Oct 24, 2024
Merged

feat: new proving broker implementation#8609
alexghr merged 2 commits into
ag/refactor-avm-proof-fieldsfrom
ag/scaling-provers

Conversation

@alexghr

@alexghr alexghr commented Sep 17, 2024

Copy link
Copy Markdown
Contributor

This PR adds ProvingBroker which implements a new interface for distributing proving jobs to workers as specified in #8495

@alexghr alexghr changed the title Ag/scaling provers feat: new proving broker implementation Sep 18, 2024

@spalladino spalladino left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good! Most of my comments are around having a different prior mental model for the broker and how it interacts with the backend. I had assumed the broker would keep all metadata needed in memory, and use a backend to persist it and reload in the event of a crash, and another backend for storing and transmitting payloads. Does that make sense?

Comment on lines 28 to 35
export type ProofAndVerificationKey<P> = {
proof: P;
verificationKey: VerificationKeyData;
};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we independently introduced the same new types :-P

Comment thread yarn-project/prover-client/src/job_pool/proof_request.ts Outdated
Comment thread yarn-project/prover-client/src/job_pool/broker_backend/in_memory.ts Outdated
Comment thread yarn-project/prover-client/src/job_pool/broker.ts Outdated
Comment thread yarn-project/prover-client/src/job_pool/broker.ts Outdated
Comment thread yarn-project/prover-client/src/job_pool/broker_backend/in_memory.ts Outdated
Comment thread yarn-project/prover-client/src/job_pool/broker.ts Outdated
Comment thread yarn-project/prover-client/src/job_pool/broker.ts Outdated
Comment thread yarn-project/prover-client/src/job_pool/broker.ts Outdated
@alexghr alexghr force-pushed the ag/scaling-provers branch from 50f3c40 to 6ad6365 Compare October 17, 2024 09:28
@alexghr alexghr changed the base branch from master to ag/avm-vk October 17, 2024 10:12
@alexghr alexghr force-pushed the ag/scaling-provers branch from 6ad6365 to 7a79a98 Compare October 17, 2024 10:43
Base automatically changed from ag/avm-vk to master October 18, 2024 08:03
@alexghr alexghr force-pushed the ag/scaling-provers branch 3 times, most recently from ae000c2 to 3597330 Compare October 23, 2024 10:54
@alexghr alexghr marked this pull request as ready for review October 23, 2024 10:57
@alexghr alexghr linked an issue Oct 23, 2024 that may be closed by this pull request
21 tasks
@alexghr

alexghr commented Oct 23, 2024

Copy link
Copy Markdown
Contributor Author

use a backend to persist it and reload in the event of a crash, and another backend for storing and transmitting payloads. Does that make sense?

This makes sense! Initially I only thought about the inputs needing to be stored separately, but you're right it makes sense to store inputs and outputs to/from the proving process.

I the next PR I'll change the ProvingJob and ProvingJobResult types to take URIs to inputs and proofs/public inputs instead of the actual data structures.

@alexghr alexghr force-pushed the ag/scaling-provers branch 3 times, most recently from a13235d to fc6a757 Compare October 23, 2024 11:22
@alexghr alexghr enabled auto-merge (squash) October 23, 2024 13:04
@alexghr alexghr requested a review from spalladino October 23, 2024 13:04
@alexghr alexghr force-pushed the ag/scaling-provers branch from fc6a757 to 818ea3b Compare October 24, 2024 14:13
@alexghr alexghr changed the base branch from master to ag/refactor-avm-proof-fields October 24, 2024 14:14
@alexghr alexghr merged commit 5351c4b into ag/refactor-avm-proof-fields Oct 24, 2024
@alexghr alexghr deleted the ag/scaling-provers branch October 24, 2024 14:14
@alexghr alexghr restored the ag/scaling-provers branch October 24, 2024 14:15
alexghr added a commit that referenced this pull request Nov 15, 2024
Reopening of #8609, which was closed/merged by mistake. This PR is
stacked on top of #9391

This PR adds ProvingBroker which implements a new interface for
distributing proving jobs to workers as specified in
#8495
just-mitch pushed a commit that referenced this pull request Nov 16, 2024
Reopening of #8609, which was closed/merged by mistake. This PR is
stacked on top of #9391

This PR adds ProvingBroker which implements a new interface for
distributing proving jobs to workers as specified in
#8495
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Epic] Scaling the provers 📈

2 participants