Title
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 scheduler level which improve the speed of compiling part of the Linux kernel by up to 26%, and the whole kernel by up to 10%.
Year
DOI
Venue
2019
10.1145/3365137.3365400
Proceedings of the 10th Workshop on Programming Languages and Operating Systems
Field
DocType
ISBN
Fork (system call),Kernel (linear algebra),Computer science,Parallel computing,Heuristics,Frequency scaling,POSIX,Multi-core processor,Tracing,Linux kernel,Distributed computing
Conference
978-1-4503-7017-2
Citations 
PageRank 
References 
0
0.34
0
Authors
9
Name
Order
Citations
PageRank
Damien Carver101.69
Redha Gouicem201.35
Jean-Pierre Lozi31117.13
Julien Sopena414018.04
Baptiste Lepers501.01
Willy Zwaenepoel65651813.97
Nicolas Palix718213.20
Julia Lawall865.48
Gilles Muller985255.95