{人面不知何去处 桃花依旧笑春风}

one loop per core 并发模型

Posted in Uncategorized by interma on 2013/10/28

一,缘起:
简单易开发的同步服务模型:sock句柄池+threadpool。
满足大部分需求(特别是计算型需求),qps<1000,也基本够用。

二,问题:
线程逻辑I/O化,需要处理大并发+[慢]连接,力不从心。
机器cpu idle尚高,明显有提升的余地。

三,解决方案:
one loop per core
异步模型,程序逻辑(尽量也为异步,不能长时间堵塞)勾在event回调中,状态机式编写逻辑。
核心是各个os提供的event api(如epoll),避免了busy loop。

Tagged with: ,