KuiBaDB / kbio

Another Async IO Framework based on io_uring

Home Page:https://blog.hidva.com/2021/09/14/kbio/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KBIO, add some experimental features to tokio. Currently, kbio is just used in KuiBaDB, it is only a prototype and has not been tested fully. Our experience using C++20 coroutines in Hologres tells us that Worker Steal is very necessary. So we build kbio based on tokio.

  • We run one IO-Uring instance per Worker. Before that, all Workers in Tokio used an Epoll instance, mainly because once a file descriptor is bound to an Epoll instance in Tokio, then the file descriptor will never switch to other Epoll instances, which will affect the effect of Worker Steal.

  • Add sysmon

Usage

Most of them are fully compatible with tokio. See integrate kbio into memc for another example.

Benchmark

We use monoio-benchmark to do the benchmark, See integrate kbio into memc for another example.

About

Another Async IO Framework based on io_uring

https://blog.hidva.com/2021/09/14/kbio/

License:MIT License


Languages

Language:Rust 99.9%Language:Shell 0.1%