DESIGN_READY_FOR_OPERATOR_REVIEW: Sento total concurrency accounting #195
Labels
No labels
bug
design
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
research
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/starintel-auto-research#195
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Design-review transaction for revised research #188 and
lost-rob0t/starintel-server#35.Revised design decision
Preserve Sento's current router/dispatcher/mailbox semantics and add only one aggregate execution-lane authority at the capacity-realization boundary.
Current exact dependency:
mdbergmann/cl-gserver@6a510c5b58469e72e6363bd3a6059d80b9a5c320.Accounting model:
:pinnedactor = 1 lanemessage-box/dpactor = 0 additional lanesKeep per-dispatcher
:workers, dynamic dispatcher registration, random, round-robin, custom count-to-index routing,message-box/dp, and pinned behavior unchanged.The process-wide StarIntel thread planner remains the canonical authority and grants Sento a numeric maximum. Sento exposes
grant / used / free / owner countsand rejects new shared-dispatcher workers or ordinary pinned actors before their threads start when the grant would be exceeded.Dispatcher workers are internally pinned actors, so the dispatcher reserves N once and its N internal pinned workers consume that reservation without double charging.
Canonical design
roam/design/star-server/STAR-SERVER-042-workload-dispatchers-router-pools.orgThe stable Org path/ID is retained, but the document now explicitly supersedes its previous workload-topology-first shape.
First proposed RED slice
Pure concurrency ledger + startup dispatcher demand preflight:
used=6/free=0Later REDs cover no double-charge of internal pinned dispatcher workers, ordinary pinned actor exhaustion, zero cost for dispatcher-backed actors/routers, construction rollback, stop release, and pinned mailbox thread restart.
Adversarial review
Rejected as unnecessary for this P0: replacing routers, inventing a workload DSL, counting actors or routees, independent per-dispatcher maxima without an aggregate ceiling,
bt:all-threadsaccounting, a second user-facing max-concurrency knob, or changing router strategies in the same slice.Implementation authorization is PENDING / AWAITING_OPERATOR_APPROVAL. This issue is design review only.