A Linux kernel scheduler extension for multi-core systems
Visualitza/Obre
Cita com:
hdl:2117/331381
Tipus de documentText en actes de congrés
Data publicació2019
EditorInstitute of Electrical and Electronics Engineers (IEEE)
Condicions d'accésAccés obert
Tots els drets reservats. Aquesta obra està protegida pels drets de propietat intel·lectual i
industrial corresponents. Sense perjudici de les exempcions legals existents, queda prohibida la seva
reproducció, distribució, comunicació pública o transformació sense l'autorització del titular dels drets
ProjecteCOMPUTACION DE ALTAS PRESTACIONES VII (MINECO-TIN2015-65316-P)
DEEP-EST - DEEP (EC-H2020-754304)
BARCELONA SUPERCOMPUTING CENTER - CENTRO. NACIONAL DE SUPERCOMPUTACION (MINECO-SEV-2015-0493)
DEEP-EST - DEEP (EC-H2020-754304)
BARCELONA SUPERCOMPUTING CENTER - CENTRO. NACIONAL DE SUPERCOMPUTACION (MINECO-SEV-2015-0493)
Abstract
The Linux kernel is mostly designed for multi-programed environments, but high-performance applications have other requirements. Such applications are run standalone, and usually rely on runtime systems to distribute the application's workload on worker threads, one per core. However, due to current OSes limitations, it is not feasible to track whether workers are actually running or blocked due to, for instance, a requested resource. For I/O intensive applications, this leads to a significant performance degradation given that the core of a blocked thread becomes idle until it is able to run again. In this paper, we present the proof-of-concept of a Linux kernel extension denoted User-Monitored Threads (UMT) which tackles this problem. Our extension allows a user-space process to be notified of when the selected threads become blocked or unblocked, making it possible for a runtime to schedule additional work on the idle core. We implemented the extension on the Linux Kernel 5.1 and adapted the Nanos6 runtime of the OmpSs-2 programming model to take advantage of it. The whole prototype was tested on two applications which, on the tested hardware and the appropriate conditions, reported speedups of almost 2x.
Descripció
©2020 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes,creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
CitacióRoca, A. [et al.]. A Linux kernel scheduler extension for multi-core systems. A: IEEE International Conference on High Performance Computing, Data, and Analytics. "26th IEEE International Conference on High Performance Computing: HiPC 2019: proceedings: 17-20 December 2019, Hyderabad, India". Institute of Electrical and Electronics Engineers (IEEE), 2019, p. 353-362. ISBN 978-1-72814-535-8. DOI 10.1109/HiPC.2019.00050.
ISBN978-1-72814-535-8
Versió de l'editorhttps://ieeexplore.ieee.org/abstract/document/8990587
Altres identificadorshttps://arxiv.org/abs/2004.06354
Fitxers | Descripció | Mida | Format | Visualitza |
---|---|---|---|---|
Roca.pdf | 550,0Kb | Visualitza/Obre |