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
As a stepping stone towards #3465, we'll split the "global" acceptance and run queues into per vat outbound and inbound queue. That will allow processing some vat messages before other vats while maintaining more limited ordering guarantees.
At that point we'll need to decide in which order to process each active vat, defined as having either a message pending in either the outbound or inbound queue. Once a vat is selected for a crank, either the messages at the top of the outbound queue will be processed if any, or the message at the top of the inbound queue will.
Description of the Design
2 queues per vat, and a "scheduler" to pick the next vat for processing. This can only be done after #5024 is completed
We can start with a simple round robin or pseudo random selector at first. In the future we may want to make a more informed decision based on kernel state, previous crank details, etc.
Security Considerations
A vat should not be able to starve another vat, at least until priorities are considered.
Test Plan
TBD
The text was updated successfully, but these errors were encountered:
What is the Problem Being Solved?
As a stepping stone towards #3465, we'll split the "global" acceptance and run queues into per vat outbound and inbound queue. That will allow processing some vat messages before other vats while maintaining more limited ordering guarantees.
At that point we'll need to decide in which order to process each active vat, defined as having either a message pending in either the outbound or inbound queue. Once a vat is selected for a crank, either the messages at the top of the outbound queue will be processed if any, or the message at the top of the inbound queue will.
Description of the Design
2 queues per vat, and a "scheduler" to pick the next vat for processing. This can only be done after #5024 is completed
We can start with a simple round robin or pseudo random selector at first. In the future we may want to make a more informed decision based on kernel state, previous crank details, etc.
Security Considerations
A vat should not be able to starve another vat, at least until priorities are considered.
Test Plan
TBD
The text was updated successfully, but these errors were encountered: