前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计mooon调度器遇到的难题

设计mooon调度器遇到的难题

作者头像
一见
发布2018-08-07 16:01:25
3060
发布2018-08-07 16:01:25
举报
文章被收录于专栏:蓝天蓝天

mooon的设计进入关键时刻,有几个决策点还没有定下来,如下:

1.是否同时支持进程和线程模型

进程模型是指内核为一个独立的进程,而每个业务又为独立的一个进程,业务可以为多线程,同时内核会产生相应个数的内核线程与业务线程一一对应,内核线程和业务进程在创建业务时产生。

线程模型是业务和内核运行在相同的进程中,内核线程即为业务线程,在创建业务时产生。

2.service和线程不绑定(即不建立亲和关系),而session和线程建立绑定关系是否合理?

这么做重要的原因是考虑效率和保持简单,service不绑定,可以保证随机调度,这样就可以在随机的线程中创建session,并由这个线程调度和管理session(创建和销毁);同时由于session只会被一个线程调度,会使得真对单个session的编程不需要考虑线程安全;另外,不同session运行在不同线程中,又可保证一定的并发性,但线程和session是一对多的关系,因为session数量允许超过10万个。

3.一个session是否要支持可以有子session,子session下是否还要有子session

这个主要是考虑多方会话和群组类需求。

4.如果父session和线程是绑定关系,那子session是否和父session绑定到相同的session?

这个主要影响到复杂度,最好是可以相同,但是否会影响实用性了?

目前的计划:同时支持线程和进程模型,并且对于同一节点的进程模型业务,会使用pipe通讯绕过网络,影响最大的是第4点。

孤独,希望可以看到更多的讨论,计划端午三天完成设计图。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-06-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档