Skip to content
Beskid Platform specification

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

M:N cooperative fiber scheduler

Platform spec ADR

M:N cooperative fiber scheduler

Spec standingStandard

Owner
Piotr Mikstacki
Submitter
Piotr Mikstacki

Beskid rejects Rust-style async/await state machines at the language level (D-INC-0008). The runtime must provide cooperative concurrency primitives consumed by corelib_concurrency.

RuleDetail
ModelM:N — many fibers on a pool of OS worker threads
API surfacefiber_* builtins back `Fiber<T>`; no async lowering in compiler
PreemptionUser fibers are cooperative; preemptive parallelism uses System.Threading (OS threads)
Work stealingPer-worker run queues; work-stealing permitted
ParkingFibers park on channel ops, join, cancel, and blocking syscalls

Scheduler modules live under beskid_runtime/src/scheduler/. Deprecated rt_yield (sched feature) is superseded by fiber_yield.

compiler/crates/beskid_runtime/tests/concurrency.rs; corelib concurrency tests; git: 12ee673, 76a58f5.