The Battle of the Schedulers: FreeBSD ULE vs. Linux CFS

Abstract : This paper analyzes the impact on application performance of the design and implementation choices made in two widely used open-source schedulers: ULE, the default FreeBSD scheduler, and CFS, the default Linux scheduler. We compare ULE and CFS in otherwise identical circumstances. We have ported ULE to Linux, and use it to schedule all threads that are normally scheduled by CFS. We compare the performance of a large suite of applications on the modified kernel running ULE and on the standard Linux kernel running CFS. The observed performance differences are solely the result of scheduling decisions, and do not reflect differences in other subsystems between FreeBSD and Linux. There is no overall winner. On many workloads the two schedulers perform similarly, but for some work-loads there are significant and even surprising differences. ULE may cause starvation, even when executing a single application with identical threads, but this starvation may actually lead to better application performance for some workloads. The more complex load balancing mechanism of CFS reacts more quickly to work-load changes, but ULE achieves better load balance in the long run.
Document type :
Conference papers
Complete list of metadatas

Cited literature [23 references]  Display  Hide  Download

https://hal.inria.fr/hal-01853267
Contributor : Julia Lawall <>
Submitted on : Thursday, August 2, 2018 - 6:29:25 PM
Last modification on : Friday, July 5, 2019 - 3:26:03 PM
Long-term archiving on : Saturday, November 3, 2018 - 3:54:47 PM

File

atc18-bouron.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01853267, version 1

Citation

Justinien Bouron, Sébastien Chevalley, Baptiste Lepers, Willy Zwaenepoel, Redha Gouicem, et al.. The Battle of the Schedulers: FreeBSD ULE vs. Linux CFS. 2018 USENIX Annual Technical Conference, Jul 2018, Boston, MA, United States. ⟨hal-01853267⟩

Share

Metrics

Record views

248

Files downloads

398