valeriansaliou/sonic
Make all commands ASYNC (dispatch to worker thread pool)
Aperta
#43 aperta il 15 mar 2019
enhancementfeat:ingesthelp wanted
Metriche repository
- Star
- (21.176 stelle)
- Metriche merge PR
- (Merge medio 3g 6h) (6 PR mergiate in 30 g)
Descrizione
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?).