You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now vote signatures are only checked inside of the consensus mutex, and therefore all block each other (and every other consensus operation, e.g. receiving block parts)
Each Vote should instead get its signature before a mutex is called. To do this, I think the handleMsg code needs to be refactored, to only take out a mutex if the vote passes signature check.
Problem Definition
Vote signature checking is expensive. 30s of consensus blocking CPU time, over 1 hour of an osmosis node being synced. Moreover this blocking behavior is at the most critical time. We want to mitigate the time under this consensus lock. To contextualize, all the Osmosis block execution for this 1 hour period is 159s. (And being brought down!)
The text was updated successfully, but these errors were encountered:
cason
changed the title
Check tryAddVote signatures in parallel, outside of the consensus mutex
consensus: check votes signatures in parallel, not holding the consensus state mutex
May 13, 2024
Feature Request
Summary
Right now vote signatures are only checked inside of the consensus mutex, and therefore all block each other (and every other consensus operation, e.g. receiving block parts)
Each Vote should instead get its signature before a mutex is called. To do this, I think the
handleMsg
code needs to be refactored, to only take out a mutex if the vote passes signature check.Problem Definition
Vote signature checking is expensive. 30s of consensus blocking CPU time, over 1 hour of an osmosis node being synced. Moreover this blocking behavior is at the most critical time. We want to mitigate the time under this consensus lock. To contextualize, all the Osmosis block execution for this 1 hour period is 159s. (And being brought down!)
The text was updated successfully, but these errors were encountered: