#184 Application Performance Improvements Using Custom Schedulers
Opened 2 years ago by fed500. Modified a year 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

2 years ago

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

2 years 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.

@fed500 I am moving this article to the "Stalled" category. It will still be here when you have time to work on it but we won't nag you about it. 😄 This will also reduce the number of pending articles we need to review.

Let us know when you have some thing read for us to review.

Log in to comment on this ticket.

Metadata
Boards 1
articles Status: stalled