为什么官方Ubuntu内核中不包含BFQ和BFS调度程序?

昨天我读了一篇关于加速Ubuntu的文章 。 本文中的一个建议是使用BFQ替换默认的I / O调度程序,根据本文针对交互式性能进行了优化。

类似的文章指出了使用BFS进程调度程序时桌面性能的优势。

这两个调度程序都包含在众多补丁集和备用内核中,这些内核已知可以提高桌面交互性和性能(例如linux-pf , liquorix-kernel和linux-ck )。

所以我的问题是 :鉴于Ubuntu是如何努力获得出色的桌面体验的,那么当他们被certificate在交互性能方面更好时,操作系统的非服务器版本怎么没有附带这些调度程序呢?


有关这两个调度程序的更多信息,请访问:

  • BFQ : http : //algo.ing.unimo.it/people/paolo/disk_sched/
  • BFS : http : //ck.kolivas.org/patches/bfs/bfs-faq.txt

快速回答 :

  1. 两个调度程序根本不起作用或适用于所有受支持的Linux平台(频率,体系结构,资源消耗……)
  2. 似乎Torvalds根本不想支持多个调度程序

解释:

由于调度程序是单独的计划(也就是内核不支持),因此仅包含它的事实意味着将人员集中在那些调度程序中(安全补丁,维护补丁,加速适应新的内核版本,……)。 这意味着对一个项目的财务投资仍然不确定它将来是否存在。

他们还很年轻。 最好的例子是BFS的常见问题解答 ,“它的可扩展性如何?”。

在这部分的背后告诉我们,当你有很多逻辑CPU时,BFS会出现性能问题。 这个单点取出服务器和高端PC(16的数量是这样的,这意味着一个简单的1000美元的服务器会有性能问题)。 因此,您排除此修补程序的Ubuntu服务器,您还排除现在很容易达到此数字的物理双CPU配置。

如果他们使用另一个调度程序,Ubuntu无法达到质量。 可伸缩性优于性能。

一如既往,有很多“如果”…:

  • 如果Ubuntu的每个用户都是桌面用户
  • 如果每个Ubuntu用户的每台机器都是调度程序的正确pc

事实上,最好的方法是当前的方法:如果用户拥有硬件并对其感兴趣,请让用户应用他们想要的调度程序。

在某些时候应用它可能对某些人来说效果更好(因为,正如我所说,可扩展性是一个大问题,未来将增加处理器的数量)。 但是会给别人带来严重的麻烦。

额外来源:

链接可能不会永远保留,这是我在h-online上发现的关于BFS的文章。 这是我发现的最正式的。 但是,如果你努力谷歌,你可能会发现真实的声明。 我认为它可能在kerneltrap上。

参见文章凤凰标题的第三段。 我会在这里引用它以防链接死亡:

目前,将BFS集成到Linux主开发分支似乎不太可能,因为Linus Torvalds已经明确表示他不想维护多个调度程序。 此外,Linux发行商倾向于选择单个内核映像,该映像可在各种系统上实现最佳性能,而无需特殊配置。 可能是CFS开发人员将在BFS覆盖的区域内改进他们的调度程序 – 这是用户社区的一个奖励。

Linus Torvalds关于它。

Interesting Posts