
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





