sharded-thread 0.1.1

Expirement for now
Documentation

sharded-thread

release Crates.io version dependency status docs.rs docs PRs Welcome

"Application tail latency is critical for services to meet their latency expectations. We have shown that the thread-per-core approach can reduce application tail latency of a key-value store by up to 71% compared to baseline Memcached running on commodity hardware and Linux."[^1]

[^1]: The Impact of Thread-Per-Core Architecture on Application Tail Latency

Introduction

This library is mainly made for io-uring and monoio. There are no dependency on the runtime, so you should be able to use it with other runtime and also without io-uring.

The purpose of this library is to have a performant way to send data between thread when threads are following a thread per core architecture.

Example

Originally, the library was made when you had multiple thread listening to the same TcpStream and depending on what is sent through the TcpStream you might want to change the thread handling the stream.

It allows you to avoid sharing data between thread, and so avoid a lot of issues like false sharing[^2].

[^2]: An excellent article explaining it: alic.dev.

You can check the code for this example here: WIP

References

License

Licensed under either of