-
Notifications
You must be signed in to change notification settings - Fork 240
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: abort ongoing proving jobs #6049
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Benchmark resultsMetrics with a significant change:
Detailed resultsAll benchmarks are run on txs on the This benchmark source data is available in JSON format on S3 here. L2 block published to L1Each column represents the number of txs on an L2 block published to L1.
L2 chain processingEach column represents the number of blocks on the L2 chain where each block has 16 txs.
Circuits statsStats on running time and I/O sizes collected for every circuit run across all benchmarks.
Tree insertion statsThe duration to insert a fixed batch of leaves into each tree type.
MiscellaneousTransaction sizes based on how many contract classes are registered in the tx.
Transaction size based on fee payment method
Transaction processing duration by data writes.
|
a97ea4e
to
4c0ced9
Compare
e5fe19d
to
28e2291
Compare
4c0ced9
to
ba3f1ab
Compare
28e2291
to
1f5f02b
Compare
// We use a 'safeJob'. We don't want promise rejections in the proving pool, we want to capture the error here | ||
// and reject the proving job whilst keeping the event loop free of rejections | ||
const safeJob = async () => { | ||
try { | ||
// there's a delay between enqueueing this job and it actually running | ||
if (controller.signal.aborted) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps some debug
logs when we drop jobs due to an abort signal.
yarn-project/prover-client/src/prover-pool/memory-proving-queue.ts
Outdated
Show resolved
Hide resolved
private enqueue<T extends ProvingRequest>( | ||
request: T, | ||
signal?: AbortSignal, | ||
): Promise<ProvingRequestResult<T['type']>> { | ||
const { promise, resolve, reject } = promiseWithResolvers<ProvingRequestResult<T['type']>>(); | ||
const item: ProvingJobWithResolvers<T> = { | ||
id: String(this.jobId++), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I realise it's not part of this PR, but I wonder if this should be a random string rather than an up-count.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix in #6084
c018812
to
7bd3d27
Compare
1f5f02b
to
271fd17
Compare
6e7fc1d
to
616e250
Compare
616e250
to
885cda7
Compare
0365a59
to
5e3efb8
Compare
5e3efb8
to
66335f1
Compare
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.37.0</summary> ## [0.37.0](aztec-package-v0.36.0...aztec-package-v0.37.0) (2024-05-02) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.37.0</summary> ## [0.37.0](barretenberg.js-v0.36.0...barretenberg.js-v0.37.0) (2024-05-02) ### Features * Devbox ([#5772](#5772)) ([72321f9](72321f9)) </details> <details><summary>aztec-packages: 0.37.0</summary> ## [0.37.0](aztec-packages-v0.36.0...aztec-packages-v0.37.0) (2024-05-02) ### ⚠ BREAKING CHANGES * use `distinct` return value witnesses by default (noir-lang/noir#4951) * Bit shift is restricted to u8 right operand (noir-lang/noir#4907) ### Features * Abort ongoing proving jobs ([#6049](#6049)) ([0aa352d](0aa352d)) * Add aztecprotocol/aztec-builder ([#6116](#6116)) ([30899d0](30899d0)) * Add de-sugaring for `impl Trait` in function parameters (noir-lang/noir#4919) ([f060fa6](f060fa6)) * Aztec nr lib constraining nullifier key is fresh ([#5939](#5939)) ([f95de6b](f95de6b)) * Bit shift is restricted to u8 right operand (noir-lang/noir#4907) ([f060fa6](f060fa6)) * Count Bb lines weighted by complexity ([#6090](#6090)) ([705177f](705177f)) * Devbox ([#5772](#5772)) ([72321f9](72321f9)) * Enforce gas limits from private kernels ([#6105](#6105)) ([4395855](4395855)) * **experimental:** `comptime` globals (noir-lang/noir#4918) ([f060fa6](f060fa6)) * Handle `no_predicates` attribute (noir-lang/noir#4942) ([4dc5efb](4dc5efb)) * Migrate boxes to GA and Earthly ([#6076](#6076)) ([4a49f9d](4a49f9d)) * Pippenger benchmarks compatible with wasmtime ([#6095](#6095)) ([5297b5b](5297b5b)) * Private da gas metering ([#6103](#6103)) ([1a8f372](1a8f372)) * Prover metrics ([#6050](#6050)) ([5b133f2](5b133f2)) * Use `distinct` return value witnesses by default (noir-lang/noir#4951) ([4dc5efb](4dc5efb)) ### Bug Fixes * Ban self-referential structs (noir-lang/noir#4883) ([f060fa6](f060fa6)) * **ci:** Build-key hotfix ([#6123](#6123)) ([5791004](5791004)) * **ci:** Ssh'ing into instances ([#6136](#6136)) ([af3192d](af3192d)) * Discard ref counts during unrolling (noir-lang/noir#4923) ([f060fa6](f060fa6)) * **docs:** Add codegen to `aztec-builder` command ([#6098](#6098)) ([4839ed9](4839ed9)) * Ensure where clauses propagated to trait default definitions (noir-lang/noir#4894) ([4dc5efb](4dc5efb)) * Require for all foldable functions to use distinct return (noir-lang/noir#4949) ([4dc5efb](4dc5efb)) ### Miscellaneous * Add regression test for [#3051](#3051) (noir-lang/noir#4815) ([f060fa6](f060fa6)) * Add test for recursing a foldable function (noir-lang/noir#4948) ([4dc5efb](4dc5efb)) * Adding devcontainer with create aztec app ([#5960](#5960)) ([ae5cb21](ae5cb21)) * Build docs in earthly ([#6038](#6038)) ([784d542](784d542)) * Bump bench-tx-size timeout ([#6109](#6109)) ([aa3eefa](aa3eefa)) * **ci:** Fix spot runner build key ([#6119](#6119)) ([f332bc9](f332bc9)) * **ci:** Hotfix ([#6124](#6124)) ([f60dfcd](f60dfcd)) * **ci:** Run benchmarks on Earthly ([#6089](#6089)) ([c985c73](c985c73)) * **ci:** Turn off ARM build for now ([#6135](#6135)) ([853913f](853913f)) * Disable bench-summary for now ([67485f1](67485f1)) * Disable doc builds ([#6107](#6107)) ([7933f0f](7933f0f)) * **docs:** Adding matomo tracking (noir-lang/noir#4898) ([4dc5efb](4dc5efb)) * Ebs attach robustness ([#6108](#6108)) ([c702688](c702688)) * Fix typo in `ResolverError::AbiAttributeOutsideContract` (noir-lang/noir#4933) ([4dc5efb](4dc5efb)) * Migrate the prover client test to earthly ([#6118](#6118)) ([a59a6c0](a59a6c0)) * Redo typo PR by stayweek ([#6080](#6080)) ([0869452](0869452)) * Redo typo PR by vitalmotif ([#6081](#6081)) ([1a89d1a](1a89d1a)) * Refactor nested contract test for speed ([#6117](#6117)) ([b346a2f](b346a2f)) * Remove unnecessary `pub(super)` in interpreter (noir-lang/noir#4939) ([4dc5efb](4dc5efb)) * Replace relative paths to noir-protocol-circuits ([47592a2](47592a2)) * Replace relative paths to noir-protocol-circuits ([f0d95f5](f0d95f5)) * Update error conversion traits to act on references (noir-lang/noir#4936) ([f060fa6](f060fa6)) ### Documentation * Tweaks for release ([#6129](#6129)) ([77b45b9](77b45b9)) * Update @aztec/builder readme ([#6115](#6115)) ([248761e](248761e)) * Yellow paper updates for the parity circuits ([#6048](#6048)) ([cfe1b05](cfe1b05)) </details> <details><summary>barretenberg: 0.37.0</summary> ## [0.37.0](barretenberg-v0.36.0...barretenberg-v0.37.0) (2024-05-02) ### ⚠ BREAKING CHANGES * use `distinct` return value witnesses by default (noir-lang/noir#4951) ### Features * Count Bb lines weighted by complexity ([#6090](#6090)) ([705177f](705177f)) * Devbox ([#5772](#5772)) ([72321f9](72321f9)) * Handle `no_predicates` attribute (noir-lang/noir#4942) ([4dc5efb](4dc5efb)) * Pippenger benchmarks compatible with wasmtime ([#6095](#6095)) ([5297b5b](5297b5b)) * Use `distinct` return value witnesses by default (noir-lang/noir#4951) ([4dc5efb](4dc5efb)) ### Bug Fixes * Ensure where clauses propagated to trait default definitions (noir-lang/noir#4894) ([4dc5efb](4dc5efb)) * Require for all foldable functions to use distinct return (noir-lang/noir#4949) ([4dc5efb](4dc5efb)) ### Miscellaneous * Add test for recursing a foldable function (noir-lang/noir#4948) ([4dc5efb](4dc5efb)) * **docs:** Adding matomo tracking (noir-lang/noir#4898) ([4dc5efb](4dc5efb)) * Fix typo in `ResolverError::AbiAttributeOutsideContract` (noir-lang/noir#4933) ([4dc5efb](4dc5efb)) * Redo typo PR by stayweek ([#6080](#6080)) ([0869452](0869452)) * Remove unnecessary `pub(super)` in interpreter (noir-lang/noir#4939) ([4dc5efb](4dc5efb)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.37.0</summary> ## [0.37.0](AztecProtocol/aztec-packages@aztec-package-v0.36.0...aztec-package-v0.37.0) (2024-05-02) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.37.0</summary> ## [0.37.0](AztecProtocol/aztec-packages@barretenberg.js-v0.36.0...barretenberg.js-v0.37.0) (2024-05-02) ### Features * Devbox ([#5772](AztecProtocol/aztec-packages#5772)) ([72321f9](AztecProtocol/aztec-packages@72321f9)) </details> <details><summary>aztec-packages: 0.37.0</summary> ## [0.37.0](AztecProtocol/aztec-packages@aztec-packages-v0.36.0...aztec-packages-v0.37.0) (2024-05-02) ### ⚠ BREAKING CHANGES * use `distinct` return value witnesses by default (noir-lang/noir#4951) * Bit shift is restricted to u8 right operand (noir-lang/noir#4907) ### Features * Abort ongoing proving jobs ([#6049](AztecProtocol/aztec-packages#6049)) ([0aa352d](AztecProtocol/aztec-packages@0aa352d)) * Add aztecprotocol/aztec-builder ([#6116](AztecProtocol/aztec-packages#6116)) ([30899d0](AztecProtocol/aztec-packages@30899d0)) * Add de-sugaring for `impl Trait` in function parameters (noir-lang/noir#4919) ([f060fa6](AztecProtocol/aztec-packages@f060fa6)) * Aztec nr lib constraining nullifier key is fresh ([#5939](AztecProtocol/aztec-packages#5939)) ([f95de6b](AztecProtocol/aztec-packages@f95de6b)) * Bit shift is restricted to u8 right operand (noir-lang/noir#4907) ([f060fa6](AztecProtocol/aztec-packages@f060fa6)) * Count Bb lines weighted by complexity ([#6090](AztecProtocol/aztec-packages#6090)) ([705177f](AztecProtocol/aztec-packages@705177f)) * Devbox ([#5772](AztecProtocol/aztec-packages#5772)) ([72321f9](AztecProtocol/aztec-packages@72321f9)) * Enforce gas limits from private kernels ([#6105](AztecProtocol/aztec-packages#6105)) ([4395855](AztecProtocol/aztec-packages@4395855)) * **experimental:** `comptime` globals (noir-lang/noir#4918) ([f060fa6](AztecProtocol/aztec-packages@f060fa6)) * Handle `no_predicates` attribute (noir-lang/noir#4942) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) * Migrate boxes to GA and Earthly ([#6076](AztecProtocol/aztec-packages#6076)) ([4a49f9d](AztecProtocol/aztec-packages@4a49f9d)) * Pippenger benchmarks compatible with wasmtime ([#6095](AztecProtocol/aztec-packages#6095)) ([5297b5b](AztecProtocol/aztec-packages@5297b5b)) * Private da gas metering ([#6103](AztecProtocol/aztec-packages#6103)) ([1a8f372](AztecProtocol/aztec-packages@1a8f372)) * Prover metrics ([#6050](AztecProtocol/aztec-packages#6050)) ([5b133f2](AztecProtocol/aztec-packages@5b133f2)) * Use `distinct` return value witnesses by default (noir-lang/noir#4951) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) ### Bug Fixes * Ban self-referential structs (noir-lang/noir#4883) ([f060fa6](AztecProtocol/aztec-packages@f060fa6)) * **ci:** Build-key hotfix ([#6123](AztecProtocol/aztec-packages#6123)) ([5791004](AztecProtocol/aztec-packages@5791004)) * **ci:** Ssh'ing into instances ([#6136](AztecProtocol/aztec-packages#6136)) ([af3192d](AztecProtocol/aztec-packages@af3192d)) * Discard ref counts during unrolling (noir-lang/noir#4923) ([f060fa6](AztecProtocol/aztec-packages@f060fa6)) * **docs:** Add codegen to `aztec-builder` command ([#6098](AztecProtocol/aztec-packages#6098)) ([4839ed9](AztecProtocol/aztec-packages@4839ed9)) * Ensure where clauses propagated to trait default definitions (noir-lang/noir#4894) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) * Require for all foldable functions to use distinct return (noir-lang/noir#4949) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) ### Miscellaneous * Add regression test for [#3051](AztecProtocol/aztec-packages#3051) (noir-lang/noir#4815) ([f060fa6](AztecProtocol/aztec-packages@f060fa6)) * Add test for recursing a foldable function (noir-lang/noir#4948) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) * Adding devcontainer with create aztec app ([#5960](AztecProtocol/aztec-packages#5960)) ([ae5cb21](AztecProtocol/aztec-packages@ae5cb21)) * Build docs in earthly ([#6038](AztecProtocol/aztec-packages#6038)) ([784d542](AztecProtocol/aztec-packages@784d542)) * Bump bench-tx-size timeout ([#6109](AztecProtocol/aztec-packages#6109)) ([aa3eefa](AztecProtocol/aztec-packages@aa3eefa)) * **ci:** Fix spot runner build key ([#6119](AztecProtocol/aztec-packages#6119)) ([f332bc9](AztecProtocol/aztec-packages@f332bc9)) * **ci:** Hotfix ([#6124](AztecProtocol/aztec-packages#6124)) ([f60dfcd](AztecProtocol/aztec-packages@f60dfcd)) * **ci:** Run benchmarks on Earthly ([#6089](AztecProtocol/aztec-packages#6089)) ([c985c73](AztecProtocol/aztec-packages@c985c73)) * **ci:** Turn off ARM build for now ([#6135](AztecProtocol/aztec-packages#6135)) ([853913f](AztecProtocol/aztec-packages@853913f)) * Disable bench-summary for now ([67485f1](AztecProtocol/aztec-packages@67485f1)) * Disable doc builds ([#6107](AztecProtocol/aztec-packages#6107)) ([7933f0f](AztecProtocol/aztec-packages@7933f0f)) * **docs:** Adding matomo tracking (noir-lang/noir#4898) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) * Ebs attach robustness ([#6108](AztecProtocol/aztec-packages#6108)) ([c702688](AztecProtocol/aztec-packages@c702688)) * Fix typo in `ResolverError::AbiAttributeOutsideContract` (noir-lang/noir#4933) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) * Migrate the prover client test to earthly ([#6118](AztecProtocol/aztec-packages#6118)) ([a59a6c0](AztecProtocol/aztec-packages@a59a6c0)) * Redo typo PR by stayweek ([#6080](AztecProtocol/aztec-packages#6080)) ([0869452](AztecProtocol/aztec-packages@0869452)) * Redo typo PR by vitalmotif ([#6081](AztecProtocol/aztec-packages#6081)) ([1a89d1a](AztecProtocol/aztec-packages@1a89d1a)) * Refactor nested contract test for speed ([#6117](AztecProtocol/aztec-packages#6117)) ([b346a2f](AztecProtocol/aztec-packages@b346a2f)) * Remove unnecessary `pub(super)` in interpreter (noir-lang/noir#4939) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) * Replace relative paths to noir-protocol-circuits ([47592a2](AztecProtocol/aztec-packages@47592a2)) * Replace relative paths to noir-protocol-circuits ([f0d95f5](AztecProtocol/aztec-packages@f0d95f5)) * Update error conversion traits to act on references (noir-lang/noir#4936) ([f060fa6](AztecProtocol/aztec-packages@f060fa6)) ### Documentation * Tweaks for release ([#6129](AztecProtocol/aztec-packages#6129)) ([77b45b9](AztecProtocol/aztec-packages@77b45b9)) * Update @aztec/builder readme ([#6115](AztecProtocol/aztec-packages#6115)) ([248761e](AztecProtocol/aztec-packages@248761e)) * Yellow paper updates for the parity circuits ([#6048](AztecProtocol/aztec-packages#6048)) ([cfe1b05](AztecProtocol/aztec-packages@cfe1b05)) </details> <details><summary>barretenberg: 0.37.0</summary> ## [0.37.0](AztecProtocol/aztec-packages@barretenberg-v0.36.0...barretenberg-v0.37.0) (2024-05-02) ### ⚠ BREAKING CHANGES * use `distinct` return value witnesses by default (noir-lang/noir#4951) ### Features * Count Bb lines weighted by complexity ([#6090](AztecProtocol/aztec-packages#6090)) ([705177f](AztecProtocol/aztec-packages@705177f)) * Devbox ([#5772](AztecProtocol/aztec-packages#5772)) ([72321f9](AztecProtocol/aztec-packages@72321f9)) * Handle `no_predicates` attribute (noir-lang/noir#4942) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) * Pippenger benchmarks compatible with wasmtime ([#6095](AztecProtocol/aztec-packages#6095)) ([5297b5b](AztecProtocol/aztec-packages@5297b5b)) * Use `distinct` return value witnesses by default (noir-lang/noir#4951) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) ### Bug Fixes * Ensure where clauses propagated to trait default definitions (noir-lang/noir#4894) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) * Require for all foldable functions to use distinct return (noir-lang/noir#4949) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) ### Miscellaneous * Add test for recursing a foldable function (noir-lang/noir#4948) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) * **docs:** Adding matomo tracking (noir-lang/noir#4898) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) * Fix typo in `ResolverError::AbiAttributeOutsideContract` (noir-lang/noir#4933) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) * Redo typo PR by stayweek ([#6080](AztecProtocol/aztec-packages#6080)) ([0869452](AztecProtocol/aztec-packages@0869452)) * Remove unnecessary `pub(super)` in interpreter (noir-lang/noir#4939) ([4dc5efb](AztecProtocol/aztec-packages@4dc5efb)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Pass an
AbortSignal
to circuit provers to notify of job cancellation