Karyos overview
Karyos is a low-latency messaging transport written in Rust. This page explains what it does and what the 0.1.0-alpha.1 release contains.
Karyos is a low-latency messaging transport written in Rust. Applications publish and subscribe to message streams through log buffers in shared memory. A media driver manages them; it runs embedded in the application or as a separate process.
Correctness under pauses, crashes and concurrent writers comes first. It is
checked with model checking, Miri and a deterministic simulator. unsafe
code is confined to the two lowest crates, and the default build compiles
no C.
Warning
0.1.0-alpha.1 is an early alpha for evaluation, not for production. APIs, wire formats and shared-memory layouts will change without notice. No latency or throughput figure is claimed for this alpha.
What the alpha contains
- Embedded driver, on all platforms. Publication and subscription in one process over log buffers.
- Cross-process control path, on Linux. The driver admits a client process over a Unix socket and passes it sealed shared-memory regions. Cross-process data streams are planned for 0.1.0-alpha.2.
- Building blocks for later releases: a keyed conflation table, a bounded record journal, trace records, sampling, clock calibration and latency histograms, a deterministic simulator and a benchmark harness.
Next steps
- Build and test the workspace.
- See which platforms each feature runs on.