为什么要从 O(1) 调度程序迁移到 O(log N) 的 CFS?
我可能有点晚了,但我最近正在研究各种生产调度程序的工作原理,并且遇到了 O(1) 调度程序 被完全公平调度程序 取代,或 CFS,均由 Ingo Molnár 创作。
顾名思义,O(1) 调度程序需要恒定时间,但 CFS 为 O(log N)。那么为什么会有这样的举动呢?显然,这一定是有充分理由的。如果它与提高应用程序的响应速度有关,那么 CFS 有什么帮助呢? (为什么其他人仍然使用多级反馈队列方法?)
I might be a little late on this but I was going through how various production schedulers work recently and I came across the O(1) scheduler which was replaced by the Completely Fair Scheduler, or CFS, both by Ingo Molnár.
As the name suggests the O(1) scheduler takes constant time but CFS is O(log N). Then why was such a move made? Obviously, there must have been a good reason. If it has to do with making applications more responsive, then how does CFS help? (And why do others still use a multilevel feedback queue approach?)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
很大一部分原因是内部“竞争”以及与一个名叫 Con Kolivas 的小伙子的对抗。有时你必须像关注技术一样关注参与的人员。
A large part of it was because of internal 'competition' and confrontation with a chap called Con Kolivas. Sometimes you have to look at the people involved as much as the tech.
出于交互性和响应性,将此 O(1) 移出 stac 的原因
for interactivity and responsiveness as the reason this O(1) was moved out of stac