为什么锡拉没有将cgroup blkio用于I/O调度程序?

为什么锡拉没有将cgroup blkio用于I/O调度程序?,io,scheduler,scylla,Io,Scheduler,Scylla,最近我发现了一个很好的例子 我在文章中注意到,scylla中的I/O调度器对I/O使用了一种更简单的流量控制,它只考虑了任务配额、iops和io带宽 据我所知,cgroup、blkio也将这三个因素用于I/O调度程序 我很困惑,锡拉I/O调度程序和cgroup blkio之间有什么区别?为什么scylla没有直接使用cgroup blkio?Linux控制组和Linux blk层都有一个调度程序。主要问题是粒度。在Linux中,粒度是基于进程的。对于多线程应用程序Scylla来说,这还不够好。此

最近我发现了一个很好的例子

我在文章中注意到,scylla中的I/O调度器对I/O使用了一种更简单的流量控制,它只考虑了任务配额、iops和io带宽

据我所知,cgroup、blkio也将这三个因素用于I/O调度程序


我很困惑,锡拉I/O调度程序和cgroup blkio之间有什么区别?为什么scylla没有直接使用cgroup blkio?

Linux控制组和Linux blk层都有一个调度程序。主要问题是粒度。在Linux中,粒度是基于进程的。对于多线程应用程序Scylla来说,这还不够好。此外,在“锡拉”中,我们有许多类型的计算和IO生成器,有些是延迟敏感的,如读写操作,有些是后台操作,可以稍后执行,如压缩、流式处理和修复

LinuxCGroups和blkio无法区分它们,只有标记它们的Scylla用户空间才能成为调度和排队的组件

有关此博客的更多数据: