// the find
DataDog/glommio
Glommio is a thread-per-core crate that makes writing highly parallel asynchronous applications in a thread-per-core architecture easier for rustaceans.
Glommio is a Rust async runtime built on io_uring that commits hard to the thread-per-core model — each executor owns its thread, no work-stealing, no cross-thread sharing of tasks. It's aimed at high-throughput server workloads where cache locality and predictable latency matter more than ease of porting existing async code.
The no-helper-threads guarantee is real: every I/O operation goes through io_uring directly, so you're not paying for thread pool overhead or epoll wake-ups. The DMA file I/O path (dma_file.rs) is a first-class citizen, not bolted on, which makes it genuinely useful for storage-heavy workloads like databases or log engines. The channel mesh and sharding primitives give you structured cross-core communication without breaking the thread-per-core contract — the design is coherent rather than bolted together. Benchmarks are included in the repo and compare against Tokio TCP, which is the right thing to do and the results are credible.
Linux 5.8+ and a memlock limit bump are hard requirements — this won't run on anything older, including many CI environments and container setups with default rlimits, which is a real friction point before you even write a line of code. The project is DataDog-backed but the last push was April 2026 and community activity has been thin for a while; the Zulip community exists but it's quiet, and that's a risk if you hit a bug in the io_uring layer. The thread-per-core model means you can't just drop in existing async libraries that assume work-stealing executors — anything that spawns its own Tokio runtime or uses rayon internally will fight you. Documentation beyond the introductory blog post is sparse; the API surface is large and the docs.rs reference doesn't fill in the conceptual gaps.