Fork/Wait and Multicore Frequency Scaling: a Generational Clash - Inria - Institut national de recherche en sciences et technologies du numérique
Conference Papers Year : 2019

Fork/Wait and Multicore Frequency Scaling: a Generational Clash

Abstract

The complexity of computer architectures has risen since the early years of the Linux kernel: Simultaneous Multi-Threading (SMT), multicore processing, and frequency scaling with complex algorithms such as Intel ® Turbo Boost have all become omnipresent. In order to keep up with hardware innovations, the Linux scheduler has been rewritten several times, and many hardware-related heuristics have been added. Despite this, we show in this paper that a fundamental problem was never identified: the POSIX process creation model, i.e., fork/wait, can behave inefficiently on current multicore architectures due to frequency scaling. We investigate this issue through a simple case study: the compilation of the Linux kernel source tree. To do this, we develop SchedLog, a low-overhead scheduler tracing tool, and SchedDisplay, a scriptable tool to graphically analyze SchedLog's traces efficiently. We implement two solutions to the problem at the sched-uler level which improve the speed of compiling part of the Linux kernel by up to 26%, and the whole kernel by up to 10%.
Fichier principal
Vignette du fichier
paper.pdf (622.52 Ko) Télécharger le fichier
Origin Files produced by the author(s)
Loading...

Dates and versions

hal-02349987 , version 1 (05-11-2019)
hal-02349987 , version 2 (31-01-2020)

Identifiers

Cite

Damien Carver, Redha Gouicem, Jean-Pierre Lozi, Julien Sopena, Baptiste Lepers, et al.. Fork/Wait and Multicore Frequency Scaling: a Generational Clash. 10th Workshop on Programming Languages and Operating Systems, Oct 2019, Huntsville, Canada. pp.53-59, ⟨10.1145/3365137.3365400⟩. ⟨hal-02349987v2⟩
239 View
1295 Download

Altmetric

Share

More