-
Notifications
You must be signed in to change notification settings - Fork 493
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
Dump IO Usage #473
Dump IO Usage #473
Conversation
5b387d6
to
8ee6f6c
Compare
Codecov Report
@@ Coverage Diff @@
## block-stm #473 +/- ##
=============================================
+ Coverage 56.11% 56.15% +0.04%
=============================================
Files 604 607 +3
Lines 70109 70171 +62
=============================================
+ Hits 39341 39406 +65
+ Misses 27368 27364 -4
- Partials 3400 3401 +1
Continue to review full report at Codecov.
|
73f7e5d
to
c9390f8
Compare
c9390f8
to
9f4fc51
Compare
9f4fc51
to
3c067bd
Compare
Looks like linter failed. Could you fix before merging? |
@cffls @JekaMas I am not getting the lint errors on my local machine. Also, these lines, where the CI is throwing an error is not present in the code.
|
Actually these changes were added in this commit in the base repo (
|
d031cd2
to
680a63b
Compare
…block-stm-dumpio
I guess it is okay to merge then, since some failed linters are caused by another commit. We can fix linter issues altogether in this PR: #490 |
* Create MVHashMap and use it StateDB * Parallel state processor * Move fee burning and tipping out of state transition to reduce read/write dependencies between transactions * Re-execute parallel tasks when there is a read in coinbase or burn address * Block-stm optimization Added tests for executor and two major improvements: 1. Add a dependency map during execution. This will prevent aborted tasks from being sent for execution immedaitely after failure. 2. Change the key of MVHashMap from string to a byte array. This will reduce time to convert byte slices to strings. * Remove cache from executor test * added mvhashmap unit tests (with as key) * Shard mvhashmap to reduce the time spent in global mutex * Skip applying intermediate states * Dependency improvement * added test for status * Create MVHashMap and use it StateDB * Parallel state processor * Move fee burning and tipping out of state transition to reduce read/write dependencies between transactions * Re-execute parallel tasks when there is a read in coinbase or burn address * Txn prioritizer implemented using mutex map (#487) * basic txn prioritizer implemented using mutex map * Re-execute parallel tasks when there is a read in coinbase or burn address * Re-execute parallel tasks when there is a read in coinbase or burn address * using *sync.RWMutex{} in mutexMap Co-authored-by: Jerry <jerrycgh@gmail.com> * added getReadMap and getWriteMap (#473) * Block-stm optimization Added tests for executor and some improvements: 1. Add a dependency map during execution. This will prevent aborted tasks from being sent for execution immedaitely after failure. 2. Change the key of MVHashMap from string to a byte array. This will reduce time to convert byte slices to strings. 3. Use sync.Map to reduce the time spent in global mutex. 4. Skip applying intermediate states. 5. Estimate dependency when an execution fails without dependency information. 6. Divide execution task queue into two separate queues. One for relatively certain transactions, and the other for speculative future transactions. 7. Setting dependencies of Txs coming from the same sender before starting parallel execution. 8. Process results in their semantic order (transaction index) instead of the order when they arrive. Replace result channel with a priority queue. * Do not write entire objects directly when applying write set in blockstm * fixed a small bug in the Report function (#530) * linters Co-authored-by: Jerry <jerrycgh@gmail.com>
Jira Task: POS-573