In this thesis, we address the problem of schedulers for multi-core architectures from several perspectives: design (simplicity and correctness), performance improvement and the development of application-specific schedulers. The contributions presented are summarized as follows :
Ipanema, a domain-specific language dedicated to thread schedulers for multi-core architectures. We also implement a new abstraction in the Linux kernel that enables the dynamic addition of schedulers written in Ipanema.
A series of performance and bug tracking tools. Thanks to these tools, we show that the Linux scheduler, CFS, suffers from a problem related to frequency management on modern processors. We propose a solution to this problem in the form of a patch submitted to the community. This patch allows to significantly improve the performance of numerous applications.
A scheduler model in the form of a “feature tree”. We implement these features independently in order to offer a new fully modular scheduler. This modular scheduler allows us to study exhaustively the different combinations of features, thus paving the way for the development of application-specific schedulers.
Defence : 10/23/2020 - 10h - Site Jussieu - Salle Jacques Pitrat 25-26/105 Jury members : Mr Pascal Felber, Professeur, Université de Neuchâtel [Rapporteur]
Mr Vivien Quéma, Professeur, Grenoble INP (ENSIMAG) [Rapporteur]
Mr Rachid Guerraoui, Professeur, École Polytechnique Fédérale de Lausanne
Mme Karine Heydemann, Maitre de conférences (HDR), Sorbonne Université
Mr Étienne Rivière, Professeur, Université Catholique de Louvain
Mr Gilles Muller, Directeur de recherche, Inria
Mr Julien Sopena, Maitre de conférences, Sorbonne Université
D. Carver, R. Gouicem, J.‑P. Lozi, J. Sopena, B. Lepers, W. Zwaenepoel, N. Palix, J. Lawall, G. Muller : “Fork/Wait and Multicore Frequency Scaling: a Generational Clash”, 10th Workshop on Programming Languages and Operating Systems, Huntsville, Canada, pp. 53-59, (ACM Press) (2019)
R. Gouicem, J. Sopena, J. Lawall, G. Muller, B. Lepers, W. Zwaenepoel, J.‑P. Lozi, N. Palix : “Understanding scheduler performance : a feature-based approach”, Compas 2019 - Conférence d’informatique en Parallélisme, Architecture et Système, Anglet, France (2019)
2018
J. Bouron, S. Chevalley, B. Lepers, W. Zwaenepoel, R. Gouicem, J. Lawall, G. Muller, J. Sopena : “The Battle of the Schedulers: FreeBSD ULE vs. Linux CFS”, 2018 USENIX Annual Technical Conference, Boston, MA, United States (2018)
B. Lepers, W. Zwaenepoel, J.‑P. Lozi, N. Palix, R. Gouicem, J. Sopena, J. Lawall, G. Muller : “Towards Proving Optimistic Multicore Schedulers”, HotOS 2017 - 16th Workshop on Hot Topics in Operating Systems, Whistler, British Columbia, Canada, pp. 6 (2017)