#184 Application Performance Improvements Using Custom Schedulers
Opened a year ago by fed500. Modified 4 months ago

Introduction

The Linux Kernel can be modified to use custom job scheduling strategies that can enhance job performance. This article describes how to do this on Fedora GNU/Linux. It describes work that is currently under consideration for incorporation in the mainline linux kernel.

Setup

Installation steps on Fedora Rawhide (39), tested on x86_64 with 8 cores and 16Gb of ram:

sudo dnf update
# Get dependencies
sudo dnf install fedpkg fedora-packager rpmdevtools ncurses-devel pesign \
  grubby rust cargo qt5-qtbase-devel libXi-devel gcc-c++ clang llvm lldb \
  bison flex git-core coreutils make elfutils zlib-devel binutils-devel \
  numactl-devel gettext ncurses-devel libcap-ng-devel libcap-devel \
  openssl-devel nss-tools rust cargo libelf-devel elfutils-devel bc dwarves wget \
  llvm-devel lldb-devel clang-devel
# get and build static libclang which is not available in Fedora repositories
wget https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-15.0.7.tar.gz
tar -xf llvmorg-15.0.7.tar.gz
cd llvm-project-llvmorg-15.0.7/clang
mkdir build
cd build
cmake .. -DLIBCLANG_BUILD_STATIC=ON
make
sudo make install
cd ../../..
git clone https://github.com/htejun/sched_ext --depth=1
cd sched_ext
cp -v /boot/config-$(uname -r) .config
echo "CONFIG_SCHED_CLASS_EXT=y" >> .config
make -j16 all
# take a break
sudo make -j16 modules_install
sudo make -j16 install
sudo reboot
# login again
cd sched_ext/tools/sched_ext
make -j16
# Raise RLIMIT_MEMLOCK to avoid using sudo
sudo ./scx_example_simple

Performance measurements

Todo

https://discussion.fedoraproject.org/t/performance-improvements-using-custom-kernel-schedulers/79952


Issue tagged with: article

a year ago

Metadata Update from @rlengland:
- Issue assigned to fed500
- Issue tagged with: needs-image

a year ago

@fed500 Have you had an opportunity to work on this article? We are lookiing forward to seeing it.

Will take a few weeks to finish up. Expect after f38 release.

@fed500 Have you had an opportunity spend any time on this article? We could use your contribution since we are in a dry spell for new articles, right now.

Thanks for the reminder. Will work on it later this week.

@fed500 Is this still on your "to-do" list or should we move it to the "stalled" category?

Still on to-do list. Sorry for the delay.

Login to comment on this ticket.

Metadata
Boards 1
articles Status: ideas