This is one example of how to build a sequencer with capabilities.
sharing
exclusivity
latency
This is an interesting piece of a low-level system. Capabilities are doing both exclusivity and pacing -- we need to make clearer what the aspects of a sequencer are and how can program it to optimize throughput/latency. Limit what we are trying to show here: we can control the bursts. We have one mechanism (token) -- it can be centralized or sticky; but we can use this interplay of batching. Batching should be orthogonal to exclusivity. This is a neat trick and example of the low-level storage.
Suggestion: use sequencer as it is, but have a separate system that prevents starvation.
Goal: decouple exclusivity from latency
[x] acknowledge that the capability mechanism combines batching/exclusivity.
[x] add graph that uses timeout OR count
-- also handles failures
This is one example of how to build a sequencer with capabilities.
This is an interesting piece of a low-level system. Capabilities are doing both exclusivity and pacing -- we need to make clearer what the aspects of a sequencer are and how can program it to optimize throughput/latency. Limit what we are trying to show here: we can control the bursts. We have one mechanism (token) -- it can be centralized or sticky; but we can use this interplay of batching. Batching should be orthogonal to exclusivity. This is a neat trick and example of the low-level storage.
Suggestion: use sequencer as it is, but have a separate system that prevents starvation.
Goal: decouple exclusivity from latency