valeriansaliou/sonic
Make all commands ASYNC (dispatch to worker thread pool)
オープン
#43 opened on 2019/03/15
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?).