cmd/utils, eth, pow/multipow: add caching layer for ethash#2253
Closed
karalabe wants to merge 1 commit intoethereum:developfrom
karalabe:pow-epoch-cache
Closed
cmd/utils, eth, pow/multipow: add caching layer for ethash#2253karalabe wants to merge 1 commit intoethereum:developfrom karalabe:pow-epoch-cache
karalabe wants to merge 1 commit intoethereum:developfrom
karalabe:pow-epoch-cache
Conversation
Updated: Wed Feb 24 10:12:18 UTC 2016 |
Current coverage is
|
Member
Author
|
Dropping in favoUr of fixing it straight in ethash ethereum/ethash#81. |
maoueh
pushed a commit
to streamingfast/go-ethereum
that referenced
this pull request
Apr 17, 2024
* ci: temp enable blobtx branch ci run; * Switch ON blobpool & ensure Cancun hardfork can occur (ethereum#2223) * feat: support blob storage & miscs; (ethereum#2229) * chainconfig: use cancun fork for BSC; * feat: fill WithdrawalsHash when BSC enable cancun fork; * rawdb: support to CRUD blobs; * freezer: support to freeze block blobs; * blockchain: add blob cache & blob query helper; * freezer: refactor addition table logic, add uts; * blobexpiry: add more extra expiry time, and logs; * parlia: implement IsDataAvailable function; * blob: refactor blob transfer logic; * blob: support config blob extra reserve; * blockchian: support to import block with blob & blobGasFee; (ethereum#2260) * blob: implement min&max gas price logic; * blockchian: support import side chain; * blobpool: reject the banned address; * blockchain: add chasing head for DA check; * params: update blob related config; * blockchain: opt data available checking performance; * params: modify blob related params; * gasprice: support BEP-336 blob gas price calculate; * blobTx: mining + brodcasting (ethereum#2253) * blobtx mining pass (ethereum#2282) * Sidecar fetching changes for 4844 (ethereum#2283) * ci: temp enable blobtx branch ci run; * Switch ON blobpool & ensure Cancun hardfork can occur (ethereum#2223) * feat: support blob storage & miscs; (ethereum#2229) * chainconfig: use cancun fork for BSC; feat: fill WithdrawalsHash when BSC enable cancun fork; * rawdb: support to CRUD blobs; * freezer: support to freeze block blobs; * blockchain: add blob cache & blob query helper; * freezer: refactor addition table logic, add uts; * blobexpiry: add more extra expiry time, and logs; * parlia: implement IsDataAvailable function; * blob: refactor blob transfer logic; * blob: support config blob extra reserve; * blockchian: support to import block with blob & blobGasFee; (ethereum#2260) * blob: implement min&max gas price logic; * blockchian: support import side chain; * blobpool: reject the banned address; * blockchain: add chasing head for DA check; * params: update blob related config; * blockchain: opt data available checking performance; * params: modify blob related params; * gasprice: support BEP-336 blob gas price calculate; * fix failed check for WithdrawalsHash (ethereum#2276) * eth: include sidecars in fitering of body * core: refactor sidecars name * eth: sidecars type refactor * core: remove extra from bad merge * eth: fix handlenewblock test after merge * Implement eth_getBlobSidecars && eth_getBlobSidecarByTxHash (ethereum#2286) * execution: add blob gas fee reward to system; * syncing: support blob syncing & DA checking; * naming: rename blobs to sidecars; * fix the semantics of WithXXX (ethereum#2293) * config: reduce sidecar cache to 1024 and rename (ethereum#2297) * fix: Withdrawals turn into empty from nil when BlockBody has Sidecars (ethereum#2301) * internal/api_test: add test case for eth_getBlobSidecars && eth_getBlobSidecarByTxHash (ethereum#2300) * consensus/misc: rollback CalcBlobFee (ethereum#2306) * flags: add new flags to override blobs' params; * freezer: fix blob ancient save error; * blobsidecar: add new sidecar struct with metadata; (ethereum#2315) * core/rawdb: optimize write block with sidecars (ethereum#2318) * core: more check for validity of sidecars * mev: add TxIndex for mev bid (ethereum#2325) * remove useless Config() (ethereum#2326) * fix WithSidecars (ethereum#2327) * fix: fix mined block sidecar issue; (ethereum#2328) * fix WithSidecars (ethereum#2329) --------- Co-authored-by: GalaIO <[email protected]> Co-authored-by: buddho <[email protected]> Co-authored-by: Satyajit Das <[email protected]> Co-authored-by: Eric <[email protected]> Co-authored-by: zzzckck <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ethash cannot cache more than 1 verification DAG. This causes issues when doing epoch transitions, since uncles and block headers might be in different epochs, and further parallel PoW checks could hamper the internal cache of ethash.
This PR adds a caching layer in front of ethash, which uses 3 (geth import) / 5 (normal operation) ethash instances to verify PoWs, always replacing the oldest used cache whenever one is needed for a new cache.