-
Notifications
You must be signed in to change notification settings - Fork 212
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
Simple SwingSet ingress prioritization of economic elements #5334
Comments
Deprioritizing #5335 for MN-1 based on this discussion:
So we should have useful defaults for the queue length and the economic message types that should go through when backpressure control has kicked in. |
Updated this epic to reflect the focus shift to a queuing approach inside cosmic-swingset instead of a filtering approach at the cosmos layer. While the later is still needed, we don't fully understand the possible impact on the tendermint protocol, and believe the former is sufficient for prioritizing economic activity. |
Core feature was part of agoric-upgrade-10. Remaining items are in the backlog |
What is the Problem Being Solved?
#4318 describes a mechanism to prioritize some work inside the kernel, and mixes in a "backpressure" concern disabling the ingress of low priority messages under some kernel states. However "backpressure" based on ingress into Swingset is actually mostly orthogonal to priority queues inside Swingset, with only the trigger states laying at the intersection.
This Epic is about enabling a simple
backpressure mechanismingress prioritization of economic messages into Swingset. These messages allowed to bypass any disablement of low priority ingress are the same as in #4318, and would be based on information such as the source address of the signed cosmos transaction, and/or the message type.Currently actions are processed one at a time and do not compete with each other. Unprocessed actions sit on the inbound queue. An action in progress split over a block boundary may however compete with a timer triggered in a new block. Prioritization in this case means that once the kernel is quiescent, an action from the higher priority queue will be processed before any action from the normal queue, even if that message was queued after a pending lower priority one.
The following steps are part of this goal:
add controller.getRunQueueSize() #5238Reserve a section of the swingstore for the host #5349Cosmic-swingset actions for message admission checks #5350Tendermint admission controls based on cosmic-swingset state #5176Governance based mechanism to control backpressure #5335And possibly also:
The text was updated successfully, but these errors were encountered: