Amazon Implementing CFS Co-Scheduling For The Linux Kernel
An Amazon developer working on the Linux kernel has posted perhaps their largest feature patch-set for the kernel: implementing co-scheduling support for the Completely Fair Scheduler (CFS).
Over a set of sixty patches, Jan H. Schoenherr of Amazon Germany has posted these patches to allow CFS to support coscheduling. The use-cases they had in mind while developing this kernel co-scheduling support includes possible virtual machine (VM) performance benefits, executing parallel applications with architecture-specific optimizations concurrently with other applications, reducing resource contention between independent applications, and supporting the management of multiple parallel applications. One of the important side benefits of this code is that it can close some side channel attack vulnerabilities or at least make them harder to exploit.
In addition to all 60 patches needing to be applied against the Linux 4.19 source tree, the feature must be enabled with CONFIG_COSCHEDULING and at boot-time the cosched_max_level=1 kernel parameter is needed to enable co-scheduling at the CPU core level. There are also cgroup tunables for this kernel addition so the system tries to run members of scheduled task groups simultaneously
Much more information on this proposed functionality via this patch letter. Other kernel developers in the past have voiced objections to CPU scheduler co-scheduling, so it may be an uphill battle getting this mainlined but we'll see how well it's working out.
Over a set of sixty patches, Jan H. Schoenherr of Amazon Germany has posted these patches to allow CFS to support coscheduling. The use-cases they had in mind while developing this kernel co-scheduling support includes possible virtual machine (VM) performance benefits, executing parallel applications with architecture-specific optimizations concurrently with other applications, reducing resource contention between independent applications, and supporting the management of multiple parallel applications. One of the important side benefits of this code is that it can close some side channel attack vulnerabilities or at least make them harder to exploit.
In addition to all 60 patches needing to be applied against the Linux 4.19 source tree, the feature must be enabled with CONFIG_COSCHEDULING and at boot-time the cosched_max_level=1 kernel parameter is needed to enable co-scheduling at the CPU core level. There are also cgroup tunables for this kernel addition so the system tries to run members of scheduled task groups simultaneously
Much more information on this proposed functionality via this patch letter. Other kernel developers in the past have voiced objections to CPU scheduler co-scheduling, so it may be an uphill battle getting this mainlined but we'll see how well it's working out.
1 Comment