taktora
Open Source, Rust, Echtzeit, IPC, Robotik, Industrieautomation

taktora

Zero-Copy-Executor und Connector-Framework für Echtzeitsysteme in Rust. Auf iceoryx2 aufgesetzt — Nachrichten wandern zwischen Prozessen, ohne den Heap anzufassen.

Beschreibung

taktora ist ein Executor- und Connector-Framework für Echtzeitsysteme in Rust. Der Executor plant Tasks, das Connector-Framework verbindet sie mit der Außenwelt — Feldbusse, Netzwerkprotokolle, andere Prozesse. Beide Teile teilen eine Eigenschaft: Nutzdaten wandern durch Shared Memory, ohne Serialisierung oder Heap-Allocation auf dem heißen Pfad.

Das Problem ist die Middleware-Steuer. Klassische Echtzeit-Stacks zahlen für jede Nachricht — eine Kopie in den Serializer, ein Heap-Buffer, ein Syscall zum Broker, auf der anderen Seite nochmal eine Kopie. Bis die Daten ankommen, ist die Deadline weg. taktora schneidet diese Schritte raus: iceoryx2 transportiert die Bytes durch Shared Memory, der Executor plant die Arbeit deterministisch drumherum.

Was es kann:

  • Zero-Copy-IPC: Nutzdaten überqueren Prozessgrenzen über Shared Memory. Keine Serialisierung, keine Heap-Allocations auf dem heißen Pfad. Ein 10-Byte-Sample braucht genauso lang wie ein 10-Megabyte-Sample.
  • Deterministische Ausführung: Sequenzielle Ketten, parallele DAGs, Signal/Slot-Pattern. Tasks lassen sich an Cores pinnen, Timing ist messbar statt geraten.
  • Einheitliches Connector-Interface: Ein protokollunabhängiger Channel-Shape. EtherCAT und Zenoh kommen als Referenz-Connectoren, CAN folgt demselben Muster. Transport tauschen, ohne die Anwendung umzuschreiben.
  • Echtzeit zuerst: Kein GC, keine versteckten Allocations, kein Broker-Prozess zwischen Anwendung und Daten. Das Design geht davon aus, dass eine Deadline existiert und Jitter wehtut.
  • Multi-Host-Koordination: Lokale IPC über iceoryx2, verteilte Kommunikation über Zenoh. Der Anwendungscode muss nicht wissen, welcher Weg gerade benutzt wird.

Zielgruppe sind Robotik-Regelkreise, Gateways in der Industrieautomation und verteilte Echtzeitsysteme, in denen die Middleware selbst zum Flaschenhals geworden ist.

Website: https://taktora.eu

Tech-Stack

  • Rust
  • iceoryx2
  • EtherCAT
  • Zenoh
  • CAN / SocketCAN
  • Shared Memory
  • Linux