softmata/horus
HORUS is a real-time distributed middleware that replaces DDS with shared-memory ring buffers and lock-free synchronization, achieving sub-200ns IPC latency (171 ns one-way cross-process) Supports Rust, Python, and C++ with zero-copy tensor sharing and a unified `horus.toml` configuration, eliminating cross-language serialization overhead Built-in real-time scheduling with 5 execution classes, deterministic timing, and safety features (graduated watchdog, safe-state hooks, BlackBox recording) De
Analysis
TL;DR
- HORUS is a real-time distributed middleware that replaces DDS with shared-memory ring buffers and lock-free synchronization, achieving sub-200ns IPC latency (171 ns one-way cross-process)
- Supports Rust, Python, and C++ with zero-copy tensor sharing and a unified
horus.tomlconfiguration, eliminating cross-language serialization overhead - Built-in real-time scheduling with 5 execution classes, deterministic timing, and safety features (graduated watchdog, safe-state hooks, BlackBox recording)
- Designed for latency-critical domains: robotics, industrial automation, autonomous vehicles, trading systems, and game engines
- Offers a streamlined developer experience with
horus newandhorus runcommands, contrasting with ROS2's complexcolcon buildworkflow
Why It Matters
HORUS addresses a critical pain point in real-time AI and robotics systems: the latency bottleneck introduced by DDS-based middleware. For practitioners building systems where sub-millisecond determinism matters—such as motor control loops running at 1kHz alongside AI inference—HORUS enables co-locating async GPU work and real-time control in the same process, something DDS architectures struggle to achieve efficiently.
Technical Details
- Architecture: Shared-memory ring buffers with lock-free synchronization replace DDS's publish-subscribe model, enabling 171 ns one-way cross-process IPC versus ~5 µs for ROS2 REP 2014
- Multi-language support: Rust, Python, and C++ nodes share the same memory space with zero-copy tensor access to NumPy (host memory), eliminating serialize/deserialize overhead
- Real-time scheduling: 5 execution classes with deterministic timing; nodes can run on dedicated real-time threads via
.rate()and.order(), with configurable deadline miss handling (Miss::SafeMode) - Safety features: Built-in budget/deadline/watchdog monitoring, safe-state hooks, and BlackBox recording for post-mortem analysis—addressing application-level safety gaps in DDS
- AI + RT convergence: Supports running AsyncIO (for GPU workloads) and real-time motor control in the same process, bridging the traditional separation between AI inference and control loops
Industry Insight
- The sub-200ns IPC benchmark positions HORUS as a serious alternative to DDS for latency-sensitive robotics and autonomous systems, potentially accelerating adoption of real-time AI at the edge where every microsecond counts
- The unified multi-language shared-memory model (Rust/Python/C++) could simplify middleware stacks in mixed-language robotics projects, reducing the integration complexity that currently forces teams into language-specific bridges
- The "AI + RT in same process" design suggests a growing industry trend toward co-locating inference and control, which could reshape how real-time systems are architected—moving away from the traditional separate-process DDS model toward tightly integrated runtime environments
Disclaimer: The above content is generated by AI and is for reference only.