yatp
yatp copied to clipboard
Yet another thread pool in rust for both callbacks or futures.
here is an flame graph of tikv (storage-work-pool) when bench, i found around 15% cpu of all tikv cost in single_level::LocalQueue::pop  The call stack points to the crossbeam_ Epoch,...
https://github.com/tikv/yatp/blob/7ed25299d60a5338bea4ac0ed7470887ab74a010/Cargo.toml#L23 ``` # TODO: remove this patch after the next version is released. [patch.crates-io] crossbeam-deque = {git = "https://github.com/crossbeam-rs/crossbeam", rev="41ed3d948720f26149b2ebeaf58fe8a193134056"} ``` error ``` error[E0599]: no method named `steal_batch_with_limit_and_pop` found for...
This PR is to mitigate the regression reported in https://github.com/tikv/tikv/issues/7122 by changing the strategy of `pop`. It is found that CPU is mostly wasted in stealing other workers. The situation...
Both async-std and tokio support spawning blocking, which is essential to support IO operations ATM before IO uring is widely supported.
Hello! I recently made crate named `async-executor` that makes it quite easy to create custom executors with almost arbitrary task scheduling strategies. Sharing this here because I thought you mind...
Signed-off-by: Little-Wallace
## Problem Currently the maximum level 0 chance is 0.98. Sometimes we still fail to achieve our target even with this maximum value. For example, if we have plenty of...
Edit: The self-adaptive strategy still needs some tuning. It's not so responsive in front of changing workloads This PR adds another parking lot called `backup`. The threads parking in `backup`...
In this PR, if `spawn` happens in tne working threads, tasks are pushed into the local queue for locality. It also removes the local wake mechanism of futures. `Remote` is...