Skip to main content

Module schedule

Module schedule 

Source
Expand description

Unified executor scheduling.

The scheduler in this module is the single dispatch facade for synchronous, blocking, and asynchronous jobs. Sync and async-ready work use the compute worker queues; blocking work uses a bounded lane owned by the same facade. Workload shape is selected by zero-sized marker types so call sites keep static dispatch while heterogeneous jobs are stored at the executor boundary.

Re-exports§

pub use class::AsyncTask;
pub use class::BlockingTask;
pub use class::SyncTask;
pub use class::WorkClass;
pub use route::AcceleratorCounts;
pub use route::AcceleratorId;
pub use route::AcceleratorKind;
pub use route::AcceleratorRoute;
pub use route::AcceleratorRoutePolicy;
pub use route::AsyncLaneId;
pub use route::AsyncLanesPerProcess;
pub use route::HybridRoutePolicy;
pub use route::HybridRouter;
pub use route::ProcessCount;
pub use route::ProcessId;
pub use route::ProcessRoute;
pub use route::RoutePolicy;
pub use route::RouteSummary;
pub use route::RouteTopology;
pub use route::SchedulerRoute;
pub use route::ServerCount;
pub use route::ServerId;
pub use route::ServerRoute;
pub use route::ServerRoutePolicy;
pub use route::ThreadId;
pub use route::ThreadRoute;
pub use route::ThreadRoutePolicy;
pub use route::WorkerCount;
pub use runtime::IdleHook;
pub use runtime::IdleHookRegistrationError;
pub use runtime::MAX_IDLE_HOOKS;
pub use runtime::ScheduleMetrics;
pub use runtime::SchedulerScope;
pub use runtime::ThreadScheduler;
pub use runtime::register_idle_hook;
pub use runtime::run_idle_hooks;
pub use seam::DataParallel;
pub use seam::SchedulerControl;
pub use seam::WorkScheduler;
pub use seam::WorkSubmit;

Modules§

class
Work class markers for compile-time scheduler routing.
job
Scheduled job representation.
queue
Priority-aware worker queues.
reduce
Result slots for scoped indexed reductions.
route
Static scheduler route topology for thread, process, server, and accelerator targets.
runtime
Unified thread scheduler runtime.
seam
The scheduler seam — the dependency-inversion boundary between the executor façade (HybridExecutor) and a concrete work-stealing runtime.
wake
Waker support for futures driven by scheduler workers.