A Linux Kernel Scheduler Extension for Multi-core Systems

04/14/2020
by   Aleix Roca, et al.
0

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.

READ FULL TEXT
research
01/18/2019

Multiverse: Easy Conversion of Runtime Systems into OS Kernels via Automatic Hybridization

The hybrid runtime (HRT) model offers a path towards high performance an...
research
01/24/2022

DuVisor: a User-level Hypervisor Through Delegated Virtualization

Today's mainstream virtualization systems comprise of two cooperative co...
research
03/16/2019

MultiK: A Framework for Orchestrating Multiple Specialized Kernels

We present, MultiK, a Linux-based framework 1 that reduces the attack su...
research
02/02/2018

Representation Learning for Resource Usage Prediction

Creating a model of a computer system that can be used for tasks such as...
research
10/23/2018

NestDNN: Resource-Aware Multi-Tenant On-Device Deep Learning for Continuous Mobile Vision

Mobile vision systems such as smartphones, drones, and augmented-reality...
research
01/20/2021

Thread Evolution Kit for Optimizing Thread Operations on CE/IoT Devices

Most modern operating systems have adopted the one-to-one thread model t...
research
06/26/2023

Agile Development of Linux Schedulers with Ekiben

Kernel task scheduling is important for application performance, adaptab...

Please sign up or login with your details

Forgot password? Click here to reset