Skip to content
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

Parallel 2.0 dev report 0506 #20

Open
wants to merge 18 commits into
base: Parallel_1.0_based_onv1.18
Choose a base branch
from

Conversation

setunapo
Copy link
Owner

@setunapo setunapo commented May 7, 2022

Description

Parallel 2.0 did not meet the expected timeline, this PR is to summarize what has been done so far.
The PR is not well prepared and will not be merged.
It is a temporary PR for Stage Report of Parallel 2.0: 2022.03.21 -> 2022.05.06

Rationale

tell us why we need these changes...

Example

add an example CLI or API response...

Changes

Notable changes:

  • add each change in a bullet point here
  • ...

flywukong and others added 18 commits March 31, 2022 15:02
* add sharedStorage for prefetching to L1

* remote originStorage in stateObjects

* fix core

* fix bug of sync map

* remove read lock when get & set keys

* statedb copy use CopyWithSharedStorage

* reduce lock access

* fix comment

* avoid sharedPool effects on other modules

* remove  tryPreload

* fix comment

* fix var name

* fix lint

* fix L1 miss data && data condition

* fix comment
* add sync pool for slotdb and remove deepCopy for mergeSlotDB

* don't panic if there is anything wrong reading state

* use map in sequential mode and sync.map in parallel mode

* fix the comments
** dispatch hunry slot
** remove idle dispatch
** static Dispatch
** to reduce conflict rate
** light copy
** conflict detect
balance systemaddr, nonce, code, suicide

bad previous balance, nonce, code...
addrSnapDestructsReadsInSlot
skip system address balance check
** add ParallelStateDB
** remove isSlotDB in StateDB
** state.StateDBer
** remove getStateObjectNoSlot
...
** WBNB balance makeup by GetBalanceOpCode & depth
   add a lock to fix WBNB make up concurrent crash
   wbnb makeup by balance depth
   add a new interface GetBalanceOpCode
** universal unconfirmed DB
** dispatch: static & dynamic, configurable

** redesign dispatcher module
   shold avoid redundant redo
   steal tx when idle
   Aggresive result confirm in Stage2,  when all tx have been executed
   no steal in stage 2
   configurable: maxRedoCounterInstage1
 > fixups:
  - mergedTxIndex concurrent access, disorder
  - fix systemAddrRedo
  - make sure all slot are stopped before next block
skip conflict check if what the SlotDB read was from a fresh txIndex, which has not been merged.
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.

3 participants