Skip to main content

Crate helixrouter

Crate helixrouter 

Source
Expand description

§HelixRouter

Adaptive async compute routing engine for Rust.

HelixRouter decides how work runs — inline, spawned, pooled, batched, or dropped — on a per-job basis in sub-microsecond time, using live system pressure, EMA latency history, and an online-learned quality model (neural_router).

§Modules

ModulePurpose
routerCore strategy selection and execution dispatch
neural_routerOnline-learning per-job-kind routing quality model
autoscalerPredictive demand forecasting and capacity recommendations
configValidated RouterConfig, hot-reload, watch channel
metricsEMA latency, percentiles, pressure scoring, Prometheus export
strategiesDeterministic CPU-bound compute kernels
simulatorSeeded synthetic workload generation
webAxum HTTP server, SSE feed, embedded dark dashboard
typesShared data types: Job, Strategy, Output

§Quick start

use helixrouter::{config::RouterConfig, router::Router, types::{Job, JobKind}};

#[tokio::main]
async fn main() {
    let router = Router::new(RouterConfig::default());
    let job = Job {
        id: 1,
        kind: JobKind::HashMix,
        inputs: vec![42],
        compute_cost: 1_000,
        scaling_potential: 0.5,
        latency_budget_ms: 50,
    };
    let output = router.submit(job).await;
    println!("{output:?}");
}

Modules§

autoscaler
Stage: Autoscaler
config
Module: config
metrics
Module: metrics
neural_router
Module: NeuralRouter
router
Module: router
simulator
Simulator module is only available when the simulation feature is enabled.
strategies
Module: strategies
types
Core data types shared across all modules.
web
Module: web