valeriansaliou/sonic

Make all commands ASYNC (dispatch to worker thread pool)

オープン

#43 opened on 2019/03/15

 (7 件のコメント) (0 件のリアクション) (0 人の担当者)Rust (613 件のフォーク)batch import
enhancementfeat:ingesthelp wanted

Repository metrics

Stars
 (21,176 個のスター)
PR merge metrics
 (平均マージ 3d 6h) (30d で 6 merged PRs)

説明

Currently, commands are processed synchronously in the channel thread. This limits parallelization on setups that open very few Sonic Channel instances, but where Sonic runs on a lot of CPUs. Currently 1 channel = 1 thread; but we'd like to make the channel protocol fully asynchronous and thus Sonic will be able to dispatch commands for work to a thread pool.

We just need to figure out how we can rework the protocol so that a RES for a REQ can be caught later on (eg. with a marker ID as we already do for search queries with PENDING?).

コントリビューターガイド