Skip to content

HueCodes/nodix

Repository files navigation

Nodix

A production-grade real-time compute graph execution engine for robotics applications in Rust.

Overview

Nodix is a DAG-based system where nodes are computational units (sensors, filters, ML models) and edges represent typed data flow. It's designed for robotics applications requiring deterministic, low-latency execution.

Features

  • Type-safe connections: Compile-time and runtime type checking for port connections
  • Zero-copy data sharing: Arc-based data structures for efficient large data handling
  • Multiple execution modes:
    • Single-threaded executor for deterministic execution
    • Parallel executor with thread pool for throughput
    • Real-time scheduler with multiple policies (FIFO, EDF, Rate Monotonic)
  • Observability:
    • HDR histogram-based latency metrics (p50, p95, p99)
    • Chrome Tracing format export for visualization
    • Graphviz DOT export for graph visualization
  • Dynamic graph modification: Hot-swap nodes, add/remove nodes at runtime
  • Backpressure handling: Multiple strategies (Block, DropOldest, DropNewest, Adaptive)

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages