免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1327 | 回复: 1
打印 上一主题 下一主题

[FreeBSD] FreeBSD ULE调度器浅析zt [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-14 21:03 |只看该作者 |倒序浏览
原创:司徒彦南  2003年2月4日  



FreeBSD 5-CURRENT刚刚引入了一个名为ULE调度器的内核调度单元调度器。这个调度器在SMP系统中的效率要远好于FreeBSD以前版本的调度器(目前,那个调度器被称为4BSD调度器)。

新的ULE调度器的设计更像Solaris和Linux等操作系统的调度器。Solaris的SMP性能非常好这一点是它的卖点之一,其调度器采用的优秀算法就是一个很重要的原因。BSD派生系统,尽管由于系统整体设计的合理,以及操作系统其他部分的卓越性能弥补了它在SMP调度器上的不足,甚至尽管FreeBSD在绝大多数情况下的性能都超过其他系统,但它使用的4BSD调度器的SMP性能不高仍然为人诟病。

令人高兴的是,全新设计的ULE调度器引入了Solaris、Linux等系统在SMP调度方面的先进算法,并且,它在单处理器系统中的性能也相当不错,与4BSD调度器的性能相当。

为什么新的ULE调度器能够获得更高的性能呢?最主要的原因在于,新的ULE调度器为每一个CPU单独维护运行队列,并且,CPU之间能够相互“窃取”对方就绪队列中的任务,从而达到更好的平衡。基本上,ULE调度器的设计符合下面的原则:尽可能利用更多的执行资源,尽可能使用局部锁,尽可能避免使用浪费执行资源的自旋锁,尽可能采用高效的调度算法(目前ULE调度器采用的算法的复杂度是O(1))。

在笔者撰写这篇文章的时候,ULE调度器仍然处于进一步完善的过程中。一方面,它已经能够提供比4BSD调度器更好的调度性能——内核态调度开销减少大约25%,而用户态的计算也有一定程度的缩减。

论坛徽章:
0
2 [报告]
发表于 2004-03-14 22:51 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP